myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
» Regeln
» Wie poste ich richtig?
» Forum-FAQ

Mitglieder
» Liste / Suche
» Wer ist wo online?

Ressourcen
» openbook: Visual C#
» openbook: OO
» Microsoft Docs

Team
» Kontakt
» Übersicht
» Wir über uns
» Datenschutzerklärung
» Impressum

» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Entwicklung » Rund um die Programmierung » Wie kann ich mit C# Hardwarebeschleunigung nutzen?
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

Wie kann ich mit C# Hardwarebeschleunigung nutzen?

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
HexEdit HexEdit ist männlich
myCSharp.de-Mitglied

Dabei seit: 18.02.2019
Beiträge: 38
Entwicklungsumgebung: VisualStudio 2019


HexEdit ist offline

Wie kann ich mit C# Hardwarebeschleunigung nutzen?

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo,
ich habe ein Neuronales Netz in C# "gebastelt" diest ist aber bei vielen hiddel Layern zu langsam.

Hat jemand eine Iddee wie ich das ganze Hardwarebeschleunigt machen kann?
(Also allgemein wie ich Hardwarebeschleunigung in C# erreichen kann.)

Ich hab auch schon im Internet gesucht und nur CUDA gefunden, ich blick da nur nicht ganz durch.
Währe nett wenn mir jemand helfen könnte
03.04.2019 18:52 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Abt
myCSharp.de-Team

avatar-4119.png


Dabei seit: 20.07.2008
Beiträge: 12.785
Herkunft: Stuttgart/Stockholm


Abt ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

"Mal kurz" die Hardware ansprechen für solch eine Aufgabe, und das auch effizient, ist nicht.
Wenn Du selbst solch ein Netzwerk schreibst, dann vermutlich zu Lernzwecken.

Wenn Du es dann wirklich performant willst, dann musst i.d.R. Du auf Bibliotheken zurück greifen - und da ist die absolute Referenz derzeit Tensorflow.
 ML.NET kann seit kurzem auch mit TensorFlow Models arbeiten; aber ehrlich gesagt empfinde ich ML.NET noch als sehr sehr tief in den Kinderschuhen, was auch historische Gründe des Projekts hat.

Der Sinn ist ja, dass Du Dich auf Deine Kernaufgabe konzentrierst - und nicht auch noch auf Hardware Skalierung.
03.04.2019 19:11 Beiträge des Benutzers | zu Buddylist hinzufügen
HexEdit HexEdit ist männlich
myCSharp.de-Mitglied

Dabei seit: 18.02.2019
Beiträge: 38
Entwicklungsumgebung: VisualStudio 2019

Themenstarter Thema begonnen von HexEdit

HexEdit ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

OK ich dachte bibliothek einbinden eins, zwei funktionen aufrufen fertig. :D

Aber wenn das relativ komplex ist ist es natürlich unsinnig da ich das Netz - wie du schon gesagt hast - zu Lernzwecken schreibe.
03.04.2019 19:20 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Abt
myCSharp.de-Team

avatar-4119.png


Dabei seit: 20.07.2008
Beiträge: 12.785
Herkunft: Stuttgart/Stockholm


Abt ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Auf Bibliotheksbasis direkt auf CUDA-Ebene schon gar nicht.
Im Prinzip brauchst Du dafür extra Compiler, zB  http://www.altimesh.com/hybridizer-essentials/

Zusätzlich muss Dein Code natürlich dahingehend überhaupt passen.
03.04.2019 19:27 Beiträge des Benutzers | zu Buddylist hinzufügen
gfoidl gfoidl ist männlich
myCSharp.de-Team

avatar-2894.jpg


Dabei seit: 07.06.2009
Beiträge: 6.544
Entwicklungsumgebung: VS 2019
Herkunft: Waidring


gfoidl ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo HexEdit,

Zitat:
Hat jemand eine Iddee wie ich das ganze Hardwarebeschleunigt machen kann?

Mit .NET Core 3.0 werden  Hardware Intrinsics unterstützt (zumindest für x86/x64, arm folgt später). So kann der Code durch SIMD beschleunigt werden.

Für GPGPU gibt es keine vernüftige Lösung im managed Bereich, da ist native Programmierung (C++ mit CUDA-C als Beispiel) noch die bessere Lösung und dann per P/Invoke in .NET verwenden.

Wenns aber "nur" für Lernzwecke ist, würde ich mich eher auf die Korrektheit vom Code beschränken, sonst kannst du dich schnell in der Hardwarebeschleunigung verlieren.

mfG Gü
05.04.2019 12:41 Beiträge des Benutzers | zu Buddylist hinzufügen
HexEdit HexEdit ist männlich
myCSharp.de-Mitglied

Dabei seit: 18.02.2019
Beiträge: 38
Entwicklungsumgebung: VisualStudio 2019

Themenstarter Thema begonnen von HexEdit

HexEdit ist offline

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

danke
07.04.2019 12:50 E-Mail | Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als 3 Monate.
Der letzte Beitrag ist älter als 3 Monate.
Antwort erstellen


© Copyright 2003-2019 myCSharp.de-Team | Alle Rechte vorbehalten. | Dieses Portal verwendet zum korrekten Betrieb Cookies. 16.07.2019 08:01