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?