Chcę użyć zerowej kopii w zmapowanej pamięci przez cudaHostGetDevicePointer
. Czy mogę użyć thrust::host_vector
lub muszę użyć cudaHostAlloc(...,cudaHostAllocMapped)?
Czy jest to w jakiś sposób łatwiejsze z Thrust?Czy mogę użyć ciągu :: host_vector lub muszę użyć cudaHostAlloc do zerowej kopii za pomocą narzędzia Thrust?
6
A
Odpowiedz
5
Jestem prawie pewny, że nadal nie można użyć ciągu :: host_vector jako odwzorowanej alokacji hosta. Istnieje przypięty alokator pamięci, ale nie wierzę, że zmapowana pamięć jest dostępna. Co trzeba zrobić, to coś takiego:
- Przydzielone odwzorowany, przypięte pamięć hosta z
cudaHostAlloc
- uzyskać wskaźnik urządzenia dla pamięci zera kopiować z użyciem
cudaHostGetDevicePointer
- Tworzenie
thrust::device_ptr
użyciuthrust::device_pointer_cast
tego wskaźnika urządzenia (patrz here aby uzyskać więcej informacji)
można albo dokonać thrust::device_vector
pomocą thrust::device_ptr
lub dirctly zdać thrust::device_ptr
do dowolnych algorytmów akceptujących iteratory.
Powiązane problemy
- 1. Aby porównać UUID, czy mogę użyć == lub użyć UUID.equals (UUID)?
- 2. Kiedy użyć narzędzia do budowania?
- 3. Czy mogę użyć narzędzia wieloprocesorowego w metodzie klasy?
- 4. Czy można użyć narzędzia Firebase RemoteConfig do przechowywania kluczy API?
- 5. Przypisanie ciągu za pomocą odnośnika/kopii?
- 6. Czy mogę użyć LLVM do analizowania Fortran?
- 7. Czy mogę użyć layout_weight do ustawienia RelativeLayout?
- 8. Czy mogę użyć wielu "z"?
- 9. jak obliczyć średnią z tablicy int2 za pomocą Thrust
- 10. Czy można utworzyć system logowania za pomocą środowiska ASP.NET MVC, ale nie można użyć narzędzia MembershipProvider?
- 11. Jak mogę użyć sbt.IO?
- 12. Czy mogę po prostu użyć Office Web Apps Server
- 13. Aby użyć lub nie użyć wzorca stanu?
- 14. jak odwzorować niestandardową tabelę za pomocą ActiveRecord lub czy powinienem użyć innej ORM?
- 15. Czy mogę użyć AVCaptureSession do kodowania strumienia AAC do pamięci?
- 16. Kiedy muszę użyć boost :: asio: strand
- 17. Do czego mogę użyć POCO?
- 18. Czy mogę użyć danych z JTable do mojego raportu Jaspera
- 19. Czy istnieje nieczytelny ReadWriteLock, którego mogę użyć?
- 20. Co muszę użyć do tworzenia gier w języku C#?
- 21. Jak mogę użyć HTML 5?
- 22. Czy mogę użyć obiektu w UriTemplate?
- 23. thrust :: device_vector w stałej pamięci
- 24. Czy mogę użyć Music Genome Project?
- 25. Android, kiedy muszę użyć zsynchronizowane w wątku
- 26. Czy mogę użyć do tego celu Agility Pack Html?
- 27. Czy mogę użyć adnotacji w treści metody?
- 28. Czy mogę ponownie użyć kolorów w programie Interface Builder?
- 29. Czy mogę użyć WebRTC do otwarcia połączenia UDP?
- 30. Android, Czy mogę użyć putExtra do przekazywania wielu wartości
Dzięki! Ale jak utworzyć ciąg :: device_vector za pomocą ciągu :: device_ptr? – Alex
Możesz utworzyć 'thrust :: device_vector' z zakresu iteratora, więc coś takiego jak' thrust :: device_vectorvv (p, p + n) 'tworzy wektor' v' z 'device_ptr'' p', który wskazuje na przydział elementów "n". – talonmies
Ale będzie to stworzyć nowy device_vector i skopiować pamięć z device_ptr p na wektor, prawda? – Alex