opencl

    0熱度

    1回答

    產生錯誤內核代碼: __kernel void testDynamic(__global int *data) { int id=get_global_id(0); atomic_add(&data[1],2); } __kernel void test(__global int * data) { int id=get_global_id(0);

    -2熱度

    1回答

    是否有從MATLAB創建的OpenCL或CUDA GPU代碼MATLAB代碼生成? 我知道C++代碼生成的,和MATLAB並行計算工具箱,可在GPU上運行,但我找不到任何文件來生成代碼。 任何人都可以闡明關於這個問題的?

    0熱度

    1回答

    有兩個圓形的語句,例如: for(int i=0;i<1000;i++) for (int j=0;j<1000;j++) { for(int k=i*5;k<i*5+5;k++) for(int l=j*5;l<j*5+5;j++) { marrytemp=A[i]+B[j]+marry; } marry[i,j]=marrytemp;

    2熱度

    1回答

    我是開放CL的新手,因此如果有人能幫忙,我會很感激。 我有一個小內核,總是CL_INVALID_COMMAND_QUEUE錯誤。我試過不同的硬件gtx 765m或gtx 980,結果是一樣的。 下面是代碼的主機+內核: //get all platforms (drivers) std::vector<cl::Platform> all_platforms; cl::Platform::get

    0熱度

    1回答

    我做了一個簡單的程序,輸入一個矢量加法器,並想測試執行時間與組大小。 當我將1024到5012的組大小更改爲256和128時。執行時間非常相似。爲什麼?在我看來,當我使用更小的組時,我們應該有更多的組,並且它們可以並行工作在內核中,這可能導致更少的執行時間(例如,如果工作組大小從512更改爲256,執行時間應該減少一半? )但在我的gpu經驗中,執行時間是否相似?我的看法不對?

    0熱度

    1回答

    以下C++的OpenCL代碼編譯細跟克++ -c no_x.cpp: // no_x.cpp #include <CL/cl.h> void func() { cl_double2 xy; xy.x = 1.0; xy.y = 2.0; } 但隨着C++ - 11啓用相同的文件給出了錯誤: $ g++ -std=c++11 -c no_x.cpp nox

    -1熱度

    1回答

    在OpenCl的定義中我總是看到「OpenCl是標準的」。我的問題什麼是完全標準的語言,爲什麼OpenCl是標準的? 謝謝!

    0熱度

    1回答

    我有一個內核源代碼,可以在我的PC上的G970上運行,但不會在我的2015年初MacBook Pro上使用Iris 6100 1536MB圖形進行編譯。 platform = cl.get_platforms()[0] device = platform.get_devices()[1] # Get the GPU ID ctx = cl.Context([device]) # Tell

    0熱度

    1回答

    我寫了一個OpenCL內核,它在設備的while循環內部生成隨機數。一旦獲得可接受的隨機數,內核應退出循環並將結果返回給主機。通常,每個工作項目的迭代次數爲〜100-1000。 問題是,當我啓用while循環並且從不返回結果時,此代碼掛起。如果我只是禁用while循環 - 即。內核只能生成一個隨機數而不是100s - 內核工作正常。 任何人對可能發生什麼都有任何想法?內核代碼如下,也可在此gith

    0熱度

    1回答

    如果我使用clEnqueueMapBuffer相同的CL緩衝幾次地圖,可以在保證返回相同的地址?例如,如果我有: ptr1 = (float *) clEnqueueMapBuffer(commandQueue, buffer, CL_TRUE, CL_MAP_WRITE, 0, bufferSize, 0, NULL, NULL, &errorNumber); // do something