Почему время планирования CUFFT больше в CUDA 5.5, чем в CUDA 4
В рамках моей исследовательской работы мне нужно измерить время планирования библиотеки CUFFT в разных версиях CUDA (особенно в CUDA 4 и CUDA 5.5). Давайте посмотрим на один из результатов одномерного БПФ размером 4096, как показано ниже,
CUDA 5.5 и GeForede GTX 770
Размер БПФ: 4096
Время планирования: 96322,7 мс (микросекунды)
Загрузка данных: 36,6 мс (микросекунды)
Время исполнения: 135,9 мкс (микросекунды)
Выборка данных: 42,5 мс (микросекунды)
CUDA 4 и GeForce GTX 560
Размер БПФ: 4096
Время планирования: 102,7 мс (микросекунды)
Загрузка данных: 26,4 мс (микросекунды)
Время исполнения: 72,0 мкс (микросекунды)
Выборка данных: 27,3 мс (микросекунды)
Я действительно шокирован, увидев, что время планирования CUFFT на CUDA 5.5 и GeForede GTX 770 почти в 900 раз медленнее, чем на CUDA 4 и GeForce GTX 560.
Вместо этого, он должен быть быстрее в CUDA 5.5 и GeForede GTX 770 по следующим двум причинам: 1) CUDA 5.5 является последней версией, обычно последние версии быстрее, и 2) GPU GTX 770 имеют лучшие характеристики, чем у GTX. 560.
Мой вопрос заключается в том, почему такая разница во времени планирования?
Для получения более подробной информации, пожалуйста, смотрите код ниже, о том, как я измерил время, используя события cuda,
/* creates 1D FFT plan */
cudaEventRecord(start0, 0);
cufftPlan1d(&plan, NX, CUFFT_C2C, BATCH);
cudaEventRecord(stop0, 0);
cudaEventSynchronize(stop0);
/* transfer to GPU memory */
cudaEventRecord(start1, 0);
cudaMemcpy(devPtr, data, sizeof(cufftComplex)*NX*BATCH, cudaMemcpyHostToDevice);
cudaEventRecord(stop1, 0);
cudaEventSynchronize(stop1);
cudaEventRecord(start2, 0);
/* executes FFT processes */
cufftExecC2C(plan, devPtr, devPtr, CUFFT_FORWARD);
cudaEventRecord(stop2, 0);
cudaEventSynchronize(stop2);
/* transfer results from GPU memory */
cudaEventRecord(start3, 0);
cudaMemcpy(data, devPtr, sizeof(cufftComplex)*NX*BATCH, cudaMemcpyDeviceToHost);
cudaEventRecord(stop3, 0);
cudaEventSynchronize(stop3);
Буду признателен за ваши комментарии. Заранее спасибо.