groups.google.com/forum/#!topic/thrust-users/nXQD6j7_xfs

аюsort_by_key с массивами ключ-значение размером 80 миллионов. Устройство являетсяGTX 560 Ti с участием2 Гб VRAM. Когда доступная (свободная) память перед sort_by_key1200MB, завершает сортировку в200ms, Но когда доступная память падает до600MB, sort_by_key для тех же массивов ключ-значение занимает1.5-3s!

Я запускал программу подCompute Visual Profiler, Я обнаружил, что метка времени GPU скачет на 1,5-3 с между последним ядромsort_by_key и первый вызов ядра внутриsort_by_key (который являетсяRakingReduction).

Я подозреваю, что происходит выделение памяти внутриsort_by_keyдо того, как он вызовет свое первое внутреннее ядро. Память о том, чтоsort_by_key потребности доступны (даже если доступная память600MB) так какsort_by_key работает, хотя и медленнее. Я вижу, что компьютер зависает на 1 с, когда это происходит. Я также вижу удар в процессореФизическая память график, если я продолжуProcess Explorer открытый.

Есть ли что-нибудь, что я могу сделать, чтобы сделать этоsort_by_key работать так же быстро, когда доступная память меньше? Кроме того, что происходит между устройством и хостом, что вызывает скачок памяти и временное зависание?

Ответы на вопрос(1)

Ваш ответ на вопрос