To pytanie jest związane z użyciem strumieni CUDA uruchomić wiele jądraJak zmniejszyć CUDA przeprowadzenia synchronizacji opóźnienia/zwłoki
W CUDA istnieją komendy wielu synchronizacja cudaStreamSynchronize, CudaDeviceSynchronize, cudaThreadSynchronize, a także cudaStreamQuery aby sprawdzić, czy strumienie są puste.
Zauważyłem przy użyciu profilera, że te polecenia synchronizacji wprowadzają duże opóźnienie do programu. Zastanawiałem się, czy ktokolwiek zna jakieś sposoby na zmniejszenie tego opóźnienia, oprócz oczywiście użycia jak najmniejszej liczby poleceń synchronizacji.
Czy są też jakieś dane pozwalające ocenić najbardziej skuteczną metodę synchronizacji. to jest rozważenie 3 strumieni używanych w aplikacji, a dwa z nich muszą ukończyć dla mnie wypuszczenie czterech strumieni, czy powinienem użyć 2 cudaStreamSyncs lub tylko jednego cudaDeviceSync, co spowoduje mniej strat?
cudaThreadSynchronize jest przestarzałe. –