opencl

    0熱度

    1回答

    我使用#pragma OPENCL EXTENSION cl_khr_fp16 : enable受支持的OpenCL 1.2 GPU。我想通過了變化float精度從32到16。在我的設備內核來檢查的性能改善,我轉換所有float到half像如下所示: __kernel void copy_kernel(int N, __global half *X, __global half *Y) {

    0熱度

    1回答

    我寫在OpenCL程序,並已發現我在看所有零的緩衝器出來的時候。潛入英特爾SDK跟蹤中,我發現在設置緩衝區參數時我獲得了CL_INVALID_ARG_VALUE。 我使用的OpenCL C++綁定(cl.hpp)(設置標量參數不會產生錯誤)。 因爲我的代碼是很長,我有一個測試程序複製的問題。 cl::CommandQueue queue(context, devices.front()); c

    0熱度

    1回答

    我有個問題。我正在嘗試學習OpenCl,所以我一直試圖用OpenCl來實現FFT算法。我試圖重新創建: void FFT (cmplx* data, int dataSize){ if(dataSize == 1){ return; }else{ cmplx* even = (cmplx*)malloc(dataSize/2*sizeof(cmplx))

    1熱度

    1回答

    我在OpenCL技術中實現sha512。我有內核函數 __kernel void _sha512(__global char *message, const uint length, __global char *hash); 的簡單定義在主機上我已經實現並測試成功實施SHA512算法。 我有一個從message數組複製數據到臨時變量character的問題。 char character =

    1熱度

    1回答

    我試圖將numpy數組作爲opencl向量的數組傳遞給內核。 (np.int32 - > int3 *的numpy數組) 但結果似乎是weired。 如果有人解釋它爲什麼會發生,我們將非常感激。 在此先感謝。 的源代碼: import pyopencl as cl import numpy as np platforms = cl.get_platforms() ctx = cl.Cont

    0熱度

    1回答

    我是OpenCL的新手,在FPGA上使用OpenCL進行分組密碼加密。我讀了一些論文,知道Opencl中有兩種內核(單個工作項和NDRange)。 NDRange內核的功能不會由編譯器自動流水線化,而單個工作項內核的功能將會自動流水線化。 建議在FPGA上實現單個工作項內核而不是NDRange內核 ?爲什麼?如果我想讓內核在循環中運行直到讀取所有數據,那麼內核(一次從主機獲取一些數據 - 在FPG

    0熱度

    1回答

    我寫了一個非常簡單的OpenCL代碼,並試圖在Tesla K40m GPU上執行它並測量GFlops。這是我寫的代碼:我已經部署在我的GPU與[1048576] global_work_size和[128]的local_work_size這個內核 __kernel void test(__global float *GIn, __global float *GOut, int M, int N,

    0熱度

    2回答

    我已經編譯在Windows和Linux操作系統Ubuntu罰款,但未能MacOSX上一個相當大的OpenCL文件。 cvmcompiler進程使用100%的CPU並且永遠不會完成。該項目的完整的代碼有: https://github.com/favreau/Sol-R 和有問題的文件是: https://github.com/favreau/Sol-R/blob/master/solr/engin

    4熱度

    1回答

    切割性能我讀這篇文章: FPGA or GPU? - The evolution continues 而且有人發表了評論,他寫道: 由於GPU是SIMD任何代碼用「的if-else」語句將削減一半的 性能。一半核心將執行 語句的if部分,而一半核心處於空閒狀態,然後另一半核心將執行其他計算,而核心的前一半 保持空閒狀態。 我不明白爲什麼? 爲什麼使用GPU(即OpenCL)使用if-else時性能

    0熱度

    2回答

    我正在處理尺寸爲xdim = 49,ydim = 1024和zdim = 64的三維數組。我的DEVICE_MAX_WORK_ITEM_SIZES只有512/512/512。如果我宣佈我 size_t global_work_size = {xdim, ydim, zdim};並啓動3D內核, 因爲我ydim> 512。我得到錯誤的結果。如果我所有的尺寸都是512以下,我收到了預期的效果。請讓我知