gpgpu

    2熱度

    2回答

    我想用TensorFlow分類圖像。 在example code on GitHub是這樣的: predictions = sess.run(softmax_tensor, {'DecodeJpeg/contents:0': image_data}) 現在,我正在尋找一個解決方案,用於一氣呵成多個圖像進行分類,因爲我想計算我的GPU的分類,我不想將圖像逐個移動到GPU,因爲這會降低性能。 在s

    4熱度

    2回答

    我知道有一個openCL C++ API,但我在編譯內核時遇到了麻煩......內核是否必須用C編寫?然後它只是允許使用C++編寫的主機代碼?或者有沒有辦法用C++編寫內核,我沒有找到?具體來說,我試圖使用pyopencl編譯我的內核,並且它似乎失敗了,因爲它將它們編譯爲C代碼。

    0熱度

    1回答

    我正在運行一個寫在cuda中的矢量加法代碼。關於代碼的一切都很好,但如果我增加矢量大小,問題就來了。錯誤的數量(由CPU和GPU給出的結果差異)變得太大。我附上下面的代碼: #include <stdio.h> #include <stdlib.h> #include "cuda_utils.h" #include "timer.h" /* * **CUDA KERNEL** *

    0熱度

    1回答

    我想實現高效的代碼以處理多維稀疏張量,這些代碼將用於存儲由CPU或GPU上的遞歸生成的值。爲了實現這個目標,我的猜測是,一個包含aligned storage數據的散列表提供了存儲和性能之間的良好折衷。 現在我有一個最低版本的CPU實現,代碼如下。 我的目標是GPU上的每個內核都會填充一個循環和存儲位置,我將爲給定的數組選擇相應的F值。我認爲通過將張量表示爲散列表,表示最小內存大小的數據,這個假設

    1熱度

    1回答

    我是新來的OpenCL編程,並試圖在C.創建以下的 「Hello World」 式的OpenCL計劃 內核代碼(hello.cl) __kernel void hello(__global int* input, __global int* output, const unsigned int count) { int i = get_global_id(0); if(i < count)

    0熱度

    1回答

    我有一個基於CUDA的代碼,我想將OpenACC合併到代碼的某些部分。但是,我試圖通過OpenACC代碼進行並行化的功能有時由CUDA調用來管理,有時不會。 我的問題是,如何查詢OpenACC庫以查看設備是否忙碌。有沒有API調用? 注意:我不完全熟悉CUDA,所以我只是使用僞代碼。 當設備忙於下圖的計算時,有時會在主機上調用目標函數seq_function。但是,有時在設備爲而不是忙時調用。 c

    2熱度

    1回答

    我具有以下在C++代碼: float Neuron::feedForward(std::vector<Neuron>& previousLayer){ float sum=0.0f; for(int i=0;i<(int)previousLayer.size();i+=1){ sum+=previousLayer[i].getOutput()*weigths[i]; } outp

    0熱度

    1回答

    我發現了一些關於前一個主題中的cuda矩陣向量乘積的代碼: Matrix-vector multiplication in CUDA: benchmarking & performance 我首先想知道爲什麼作者沒有爲dA(矩陣)使用共享內存? 然後,爲什麼列主要排序比行主要排序快? 下面是代碼: template<typename T> __global__ void matvec_kerne

    0熱度

    2回答

    如何for循環中的OpenCL內核執行設備上時,他們的邊界是動態的執行,也就是當每個工作項的for循環執行不同數額的時間? AFAIK,內核是指令集(或更好地說一個流)的指令。 GPU設備是一組獨立的計算單元(流式多處理器-SM),每個計算單元包含多個計算單元(流處理器-SP)。 每個SM可以加載一個指令(對於不同的SMS,這可能是不同的指令)從內核(即指令流),並執行所加載的指令爲儘可能多的工作

    0熱度

    1回答

    我可以獲得每個內核的warp_execution_efficiency,但是如何獲得我的程序的總warp_execution_efficiency?