При первом вызове cufftPlanMany() это занимает около 0,7 секунды, но все последующие вызовы бывают быстрыми. Любая идея ускорения первого вызова cufftPlanMany()?Почему cufftPlanMany() занимает слишком много времени?
ответ
Первый вызов cufftPlanMany вызывает загрузку libcufft.so. Это, в свою очередь, активизирует контекст cuda, если это необходимо, и загружает все ядра. Это зависит от размера библиотеки. 0,7 секунды немного избыточно, и он будет уменьшен в следующей версии cuFFT. Мы также немного сократили время каждой последующей функции cufftPlan *.
Зачем вам требуется минимальное время инициализации?
Большое спасибо за ваш ответ. На самом деле, я бы хотел добиться большого ускорения по сравнению с реализацией не GPU. Эти издержки инициализации уменьшают общее ускорение, которое я получил значительно. – Maghraby
Спасибо, llukas. Если вы знаете, не могли бы вы предоставить версию, которую вы ожидаете для улучшения производительности при инициализации FFT? –
Мне нужно было проверить, какие версии имели удары. r8.0 инициализирует меня за 0,25 секунды, это то, что вы видите? – llukas
- 1. Почему сортировка слияния занимает слишком много времени?
- 2. Почему параметр функции занимает слишком много времени?
- 3. Почему простой POST занимает слишком много времени?
- 4. form.submit() занимает слишком много времени
- 5. запроса занимает слишком много времени
- 6. TextBox.ScrollToEnd занимает слишком много времени
- 7. analogRead занимает слишком много времени
- 8. Script занимает слишком много времени
- 9. SELECT занимает слишком много времени
- 10. valueInjecter занимает слишком много времени
- 11. UIScrollView занимает слишком много времени
- 12. NSURLSession занимает слишком много времени
- 13. Синтез занимает слишком много времени
- 14. log4net.Config.XmlConfigurator.Configure() занимает слишком много времени
- 15. Обновление занимает слишком много времени
- 16. prop() занимает слишком много времени
- 17. requestLocationUpdate занимает слишком много времени
- 18. Список занимает слишком много времени
- 19. WebRequest.GetResponse() занимает слишком много времени
- 20. запрос занимает слишком много времени
- 21. AVCaptureSession commitConfiguration() занимает слишком много времени
- 22. Представление приложения iOS занимает слишком много времени
- 23. Android volley JsonObjectRequest занимает слишком много времени
- 24. symfony Первый вызов занимает слишком много времени
- 25. Синхронизация репозитория AOSP занимает слишком много времени
- 26. PictureBox Invalidate занимает слишком много времени
- 27. MySQL COUNT запрос занимает слишком много времени
- 28. Загрузка mswsock.dll занимает слишком много времени
- 29. Загрузка файла .php занимает слишком много времени?
- 30. Запись поплавок массива занимает слишком много времени
В библиотеке cufft есть время инициализации, связанное с ней. Это то, что вы испытываете. [этот ответ] (http://stackoverflow.com/questions/31012941/cufft-is-1000x-slower-in-vs2013-cuda7-0-compared-to-vs2010-cuda4-2) может представлять интерес. Я не думаю, что вы сможете избежать этого. –
Вы правы. Я спрашиваю о любом способе избежать такого штрафа за инициализацию. Я попытался сделать фиктивный вызов в начале cufftPlanMany() с небольшими параметрами. Это не помогло !!!. – Maghraby
Или есть библиотека, которая не страдает от такого штрафа за инициализацию, и дает хорошую производительность обработки? – Maghraby