Zaczynam programować z CUDA, aw niektórych przykładach mogę znaleźć pliki włączeń cuda.h
, cuda_runtime.h
i cuda_runtime_api.h
zawarte w kodzie. Czy ktoś może mi wyjaśnić różnicę między tymi plikami?Różnica między cuda.h, cuda_runtime.h, cuda_runtime_api.h
24
A
Odpowiedz
32
W bardzo szerokim zakresie:
cuda.h
definiuje gospodarzowi publiczny funkcje i typy dla kierowcy API CUDA .cuda_runtime_api.h
definiuje publiczne funkcje hosta i typów dla API CUDA wykonawczegocuda_runtime.h
definiuje wszystkocuda_runtime_api.h
robi, jak również wbudowany typ definicje i nakładki funkcję dla rozszerzeń języka CUDA i urządzeń wewnętrznych funkcji.
Jeśli zostały pisania kodu hosta zostać skompilowany z kompilatora gospodarza, który obejmuje wywołań API, byś to albo cuda.h
lub cuda_runtime_api.h
. Jeśli potrzebujesz innych wbudowanych języków CUDA, takich jak typy i używasz interfejsu API środowiska wykonawczego i kompiluje się z kompilatorem hosta, możesz dołączyć cuda_runtime.h
. Jeśli piszesz kod, który będzie kompilowany przy użyciu nvcc, nie ma to znaczenia, ponieważ nvcc dba o to, aby wszystkie wymagane nagłówki były automatycznie dodawane bez ingerencji programisty.
Powiązane problemy
- 1. error: cuda_runtime.h: Brak takiego pliku lub katalogu
- 2. Różnica między form_for, form_tag?
- 3. Różnica między przeciążeniami Expression.Call?
- 4. Różnica między konwersji ciągów
- 5. Różnica między definicją słownika
- 6. Różnica między unwrapObservable i()
- 7. Różnica między "**/* /" i "** /"?
- 8. Różnica między dwiema tablicami
- 9. Różnica między Q.defer()() Obietnicy
- 10. Różnica między | = i^= css
- 11. Różnica między obiektem a *?
- 12. Composer.phar różnica między | i ||
- 13. Różnica między jquery a $
- 14. Różnica między "% ~ dp0" i ". \"?
- 15. Różnica między kodowaniami UTF?
- 16. Różnica między ". +" I ". +?"
- 17. MySQL: Różnica między ",", "i"
- 18. Różnica między numpy.logical_i and &
- 19. Różnica kręgosłupa Różnica między CompositeView i CollectionView?
- 20. Różnica między logger.info i logger.debug
- 21. Różnica między fgets i fscanf?
- 22. Różnica między NSLog i DLog
- 23. Różnica między RoutedEventHandler i EventHandler
- 24. Różnica między bip pid a $$
- 25. Różnica między obrysem i wypełnieniem?
- 26. Różnica między Parameters.Add i Parameters.AddWithValue
- 27. Różnica między putback() i unget()
- 28. Różnica między Delegate.BeginInvoke i Thread.Start
- 29. Różnica między TVar i TMVar
- 30. Różnica między kodowaniem a sortowaniem?
Co! Więc nie musisz umieszczać w plikach .cu, jeśli kompilujesz z 'nvcc'? –
Nie dotyczy to konkretnych plików, nie. – talonmies
Po prostu ciekawy (mogę otworzyć nowe pytanie w razie potrzeby): Tylko dla tych? Dokładnie te? –