Gemäß der CUDA math APi sind viele mathematische Funktionen, wie Sinus und Kosinus, sowohl in Software (Funktionen) als auch in Hardware (intrinsisch) implementiert. Diese intrinsischen Elemente verwenden wahrscheinlich die speziellen Funktionseinheiten der GPU. Worauf kommt es bei der Software-Implementierung an? Ist das nicht langsamer als die Hardware-Implementierung?CUDA math API: Unterschied zwischen Funktionen und Eigen- schaften
Antwort
Die bessere Frage zu stellen ist "was ist der Sinn der intrinsics?".
Die Antwort liegt in Appendix D der Programmieranleitung. Die intrinsischen Funktionen für die transzendentalen, trigonometrischen und speziellen Funktionen sind schneller, haben jedoch mehr Domänenrestriktionen und eine im Allgemeinen geringere Genauigkeit als ihre Software-Gegenstücke. Für den primären Zweck der Hardware (dh Grafik) ermöglicht das Vorhandensein schneller Näherungsfunktionen für sin, cos, Quadratwurzel, reziprok usw. eine verbesserte Shader-Leistung, wenn die letztendliche mathematische Genauigkeit nicht kritisch ist. Für einige Rechenaufgaben sind auch die weniger genauen Versionen in Ordnung. Für andere Anwendungen sind die intrinsischen Eigenschaften möglicherweise nicht ausreichend.
Mit beiden kann der informierte Programmierer die Wahl haben: Geschwindigkeit oder Genauigkeit.
- 1. AES-NI-Eigen- schaften standardmäßig aktiviert?
- 2. Ausgerichteter und nicht ausgerichteter Speicherzugriff mit AVX/AVX2-Eigen- schaften
- 3. Unterschied zwischen MPI_Allgather und MPI_Alltoall Funktionen?
- 4. Unterschied zwischen jinja2 Funktionen und Filtern?
- 5. Unterschied zwischen benutzerdefinierten Metadaten und statischen Funktionen?
- 6. Unterschied zwischen read.table- und read.delim-Funktionen
- 7. Javascript Math Funktionen
- 8. Clojure eval mit Math Funktionen
- 9. Unterschied zwischen jstl-api und jstl-impl
- 10. Unterschied zwischen Web Services und Web API
- 11. Was ist der Unterschied zwischen der CUDA takeit und der CUDA sdk
- 12. Unterschied zwischen panTo und setCenter
- 13. Unterschied zwischen `Z3_mk_forall` und` Z3_mk_forall_const` in C-API für Z3?
- 14. Unterschied zwischen REST-API-URLs
- 15. Unterschied zwischen PathAppend und PathCombine in Win32-API
- 16. Was ist der Unterschied zwischen API Gateway und ESB?
- 17. Was ist der Unterschied zwischen diesen Funktionen
- 18. Coefficient-weise benutzerdefinierte Funktionen in Eigen
- 19. Unterschied zwischen js Funktionen von Parametern
- 20. Was sind diese zusätzlichen Demontageanweisungen bei der Verwendung von SIMD-Eigen- schaften?
- 21. Segmentierungsfehler beim Arbeiten mit SSE-Eigen- schaften aufgrund von inkorrekter Speicherausrichtung
- 22. Unterschied zwischen verschiedenen numpy zufälligen Funktionen
- 23. Eigen MatrixXd als Rückgabetyp
- 24. Kann jemand den Unterschied zwischen Schließungs- und anonymen Funktionen erklären?
- 25. Unterschied zwischen Capture und Übergabe eines Arguments in Lambda-Funktionen
- 26. Gibt es einen Unterschied zwischen den Funktionen on_exit() und atexit()?
- 27. Unterschied zwischen MATLAB die Anzahl und Länge Funktionen
- 28. Unterschied zwischen var und dies in Javascript-Funktionen?
- 29. Unterschied in ABI zwischen x86_64 Linux-Funktionen und syscalls
- 30. Gibt es einen Unterschied zwischen [=] und [&] in Lambda-Funktionen?