在做OpenCV的GPU加速模塊,執行 cudaSetDevice(0);
cudaFree(0);這兩句其實是進行cuda初始化,但是耗時長達40多秒,在 http://answers.opencv.org/question/1670/huge-time-to-upload-data-to-gpu/#1676 中看到cuda初始化確實耗時,但是不至于那么長,有大神知道可能是哪兒問題了嗎?
uj5u.com熱心網友回復:
初始化時間再長,這輩子做一次不就好了。就不能初始化好之后,就再也不關閉Device和exe和電腦嗎?
uj5u.com熱心網友回復:
是只初始化一次,但是做個應用,因為這個啟動就要接近1分鐘,有點受不了,在http://www.it1352.com/491157.html 這兒看到人家是毫秒級,我的直接就50秒了uj5u.com熱心網友回復:
試試使用驅動精靈軟體升級能升級的顯卡驅動。uj5u.com熱心網友回復:
int InitCudaLib(int iGpu = 0){
ck(cuInit(0));
int nGpu = 0; // 總的GPU的數目
ck(cuDeviceGetCount(&nGpu));
if (iGpu < 0 || iGpu >= nGpu)
{
std::cout << "GPU ordinal out of range. Should be within [" << 0 << ", " << nGpu - 1 << "]" << std::endl;
return -1;
}
CUdevice cuDevice = 0;
ck(cuDeviceGet(&cuDevice, iGpu));
char szDeviceName[80];
ck(cuDeviceGetName(szDeviceName, sizeof(szDeviceName), cuDevice));
std::cout << szDeviceName << std::endl; //列印設備名稱測驗
for (auto &cuContext : cuContextArr)
{
ck(cuCtxCreate(&cuContext, 0, cuDevice)); //創建當前主機執行緒的背景關系
}
return 0;
}
1、這個是我寫的初始化部分代碼
2、性能測驗可以使用nvprof、nvvp等工具
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/87337.html
標籤:工具平臺和程序庫
上一篇:哪位好心人幫我看看這個代碼,能幫我注釋一下嗎?僅有的分數全都獻上,謝謝各位
下一篇:二級c
