opencl

    0熱度

    1回答

    如果我沒有誤解standard,它表示當希望重新使用用戶事件時,無法完成並且必須創建新事件(clReleaseEvent() + clCreateUserEvent())。 在細節: ​​只能被調用一次改變事件的執行 狀態。 現在,爲了好奇:爲什麼呢?這是設計決定,還是由於某些特定的原因,我沒有得到?

    2熱度

    2回答

    我將數據存儲在char數組中,並且需要從中讀取float和int變量。 此代碼工作正常的CPU: global float *p; p = (global float*)get_pointer_to_the_field(char_array, index); *p += 10; 但在GPU出現錯誤-5:CL_OUT_OF_RESOURCES。閱讀本身是有效的,但是用這個值做一些事情(在這種

    1熱度

    1回答

    我正在與OpenCL合作,我使用矩陣來增加其值,並且我需要的應用程序時間越少越好。用OpenCL提高性能的最佳方法是什麼?我已經閱讀了一些關於數據並行和任務並行的內容,但我不太瞭解它們。 我正在使用64x56矩陣。使用任務並行我創建了64個內核函數。每列有一個內核,但我認爲我可以做得更好。

    0熱度

    1回答

    打算使用所有可用的GPU的內存爲我的算法,使檢索它與用量: clGetDeviceInfo(..., CL_DEVICE_GLOBAL_MEM_SIZE, ...); 這是字節,然後分配給它的GPU有: clCreateBuffer(gpuContext, CL_MEM_READ_WRITE, 536543232, NULL, & errcode_ret); 想知道爲什麼它的工作原理,如果

    0熱度

    1回答

    我在使用Xcode處理OpenCL時遇到了一些問題。 要處理該項目,應找到最短路徑形成點到另一個點的網格。由於我不熟悉內核編程,我需要有人幫助我弄清楚我的代碼中有什麼問題。內核是一個雙向bfs。 功能 ret = clBuildProgram(program, 1, &device_id, NULL, NULL, NULL); 返回錯誤,11至RET(以下時,禁用行由唯一的評論作品) 這是雙向

    0熱度

    1回答

    我試圖重新從從代碼的另一部分返回C指針一個UserEvent對象: uintptr_t get_event_ptr(); // returns cl_event pointer to user event, comes from pyopencl uintptr_t evt_ptr = get_event_ptr(); 用C活動++具有下面的構造: Event (const cl_eve

    0熱度

    1回答

    當我嘗試將數據循環回內核函數,幾次迭代停止工作後,只給出0作爲答案時,我的代碼會中斷嗎?有人知道爲什麼嗎?如果我循環調用內核的整個方法,但它的工作速度更慢 cl_mem *ptrInput = &Pressure_BUFF; cl_mem *ptrOutput = &Pressure_OUT_BUFF; for(int i = 0; i<Interaction_per_frame; i++)

    1熱度

    1回答

    我已經創建了一個存儲器對象上的共享存儲器具有以下的OpenCL函數的調用memoryarea: cl_mem buffer_img_GAUSS_TEST = clCreateBuffer(context, CL_MEM_ALLOC_HOST_PTR, sizeof(uchar) * size_cols * size_rows,NULL,&status); 此功能的呼叫給我的指針: uchar

    0熱度

    1回答

    我正在嘗試將MJPEG解碼器的順序C代碼翻譯成OpenCL。我從this github項目獲得了C代碼。 我現在試圖將IDCT的原始C代碼轉換爲OpenCL。 我複製並粘貼了.c IDCT文件的代碼,並粘貼到我的.cl文件中,我的文件名爲invCosine.cl。 invCosine.cl: #define IDCT_INT_MIN (- IDCT_INT_MAX - 1) #def

    0熱度

    1回答

    我正在將大數乘以兩個整數數組。我基本上乘以大約20位數字,但對於更多的數字,它行爲不穩定。我在測試和內核的CPU和內核上有一些代碼,每次工作後給我不同的數字。這個問題可能是障礙或類似互斥,但我不會進入這麼多。我該如何解決這種不穩定性?下面是代碼 kernel void multiply(global int* A, const int M, global int*