草庐IT

TensorFlow-CUDA-cuDNN-GPU

全部标签

c++ - 您使用什么库在 CUDA 上进行矩阵计算?

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。您使用什么库在CUDA上进行矩阵计算?或者有没有?好像每个人都是自己写的。对于通常的处理器,我使用Eigen.GPU呢?

c++ - 如何使用 CUDA 生成随机排列

我可以使用哪些并行算法从给定的集合中生成随机排列?特别是适合CUDA的论文的建议或链接会很有帮助。这的顺序版本将是Fisher-Yates洗牌。例子:设S={1,2,...,7}为源索引集。目标是并行生成n个随机排列。n个排列中的每一个都恰好包含每个源索引一次,例如{7,6,...,1}。 最佳答案 Fisher-Yatesshuffle可以并行化。例如,4个并发worker只需要3次迭代来洗牌8个元素的vector。在第一次迭代中,它们交换01、23、45、67;第二次迭代02、13、45、67;以及最后一次迭代04、15、26、

c++ - 在 Tensorflow 的 C++ API 中,如何使用 Eigen Tensor 来设置我的 Tensorflow Tensor?

假设我有一个4DEigen::TensorT。同样,我还有一个4DTensorflow::TensorX,其形状与T相同intsize=T.dimension(0);introws=T.dimension(1);intcols=T.dimension(2);intchannels=T.dimension(3);TensorShapeTS;TS.AddDim(size);TS.AddDim(rows);TS.AddDim(cols);TS.AddDim(size);Tensorx(DT_FLOAT,TS);现在我想把T中的数据放到x中。所以我尝试这样做:x.matrix()()=T;但是

c++ - CUDA素数生成

随着数据大小增加超过260k,我的CUDA程序停止工作(它不打印任何内容)。有人能告诉我为什么会这样吗?这是我的第一个CUDA程序。如果我想要更大的素数,如何在CUDA上使用大于longlongint的数据类型?显卡为GT425M。#include#include#include#defineSIZE250000#defineBLOCK_NUM96#defineTHREAD_NUM1024intdata[SIZE];__global__staticvoidsieve(int*num,clock_t*time){constinttid=threadIdx.x;constintbid=bl

c++ - float1 与 CUDA 中的 float

我注意到cuda中有一个float1结构类型。与简单的float相比,是否有任何性能优势,例如,在使用float数组与float1数组的情况下?struct__device_builtin__float1{floatx;};在float4中有一个性能优势,这取决于场合,因为对齐是4x4bytes=16bytes。是否仅用于带有float1参数的__device__函数?提前致谢。 最佳答案 关注@talonmies对帖子的评论CUDAThrustreductionwithdouble2arrays,我比较了使用CUDAThrust计

c++ - opencv源码用cuda编译生成多重定义链接错误

我想用cuda8构建opencv3.2,我已经在我的linux系统中安装了cuda所需的所有库,这是一个Debian9testing(stretch)4.9.0-1-amd64使用cmake成功生成makefile后,通过执行make命令出现多重定义链接错误。我用cmake尝试了很多配置,我也检查了很多论坛中几乎所有相关问题,但我找不到任何解决方案。在cmake中,我将cuda编译器更改为gcc-5,因为cuda8需要gcc编译器不晚于版本5,默认gcc编译器是版本6.3这是我的cmake配置输出:OpenCVmodules:Tobebuilt:cudevcorecudaarithmf

c++ - 为什么 vulkan 在集成显卡和 GPU 的系统中报告单个设备?

在C++中,我正在检查可用设备的数量,如下所示:uint32_tdeviceCount=0;vkEnumeratePhysicalDevices(instance,&deviceCount,nullptr);cout这是打印出1GeforceGTX1070。我的系统配备GTX1070和带集成显卡的第4代英特尔5处理器。据我所知,这对于Vulkan来说应该足够好了。那么为什么我的程序只接收GTX1070?不应该也能找到集成显卡吗?编辑:根据cpuinfo的确切型号是:Intel(R)Core(TM)i5-4460CPU@3.20GHz编辑2:我的操作系统是Archlinux

numba python3获取错误[gpu ufunc需要数组参数具有确切的类型。]

我正在尝试使用numba在我的GPU上做NP.-DIFF。这是我使用的脚本;importnumpyasnpimportnumba@numba.vectorize(["float32(float32,float32)"],target='cuda')defvector_diff_axis0(a,b):returna+bdefmy_diff(A,axis=0):if(axis==0):returnvector_diff_axis0(A[1:],A[:-1])if(axis==1):returnvector_diff_axis0(A[:,1:],A[:,:-1])A=np.matrix([[0,1,

c++ - Cuda - 从设备全局内存复制到纹理内存

我正在尝试使用Cuda和C++在GPU上执行两项任务(分为2个内核)。作为输入,我采用NxM矩阵(作为float组存储在主机的内存中)。然后,我将使用一个内核对该矩阵执行一些操作,使其成为NxMxD矩阵。然后我有第二个内核,它对这个3D矩阵执行一些操作(我只是读取值,我不必向它写入值)。在纹理内存中操作对于我的任务来说似乎要快得多所以我的问题是是否可以在内核1之后从设备上的全局内存复制我的数据并将其直接传输到内核2的纹理内存而不将其取回给主人?更新我添加了一些代码来更好地说明我的问题。这是两个内核。第一个现在只是一个占位符,将2D矩阵复制到3D中。__global__voidcompu

C++ Tensorflow,如何使用多线程制作session-> Run(),或者花费更少的时间

我在CPU上运行以下所有内容。我运行示例ensorflow/examples/label_image花费7~8秒。据我所知,python花费大约0.5秒来处理相同的样本,这是因为“TensorFlowSession对象是多线程的,因此多个线程可以轻松地使用相同的session并并行运行操作。”。但是,如何使用C++在Session上设置多线程。我尝试...我在“tensorflow/tensorflow/core/common_runtime/direct_session.cc”中硬编码第81行:“constint32num_threads=16;”但是,它不起作用。我如何设置一些配置