草庐IT

android - 如何在 Android 上使用 OpenCL?

对于平台独立性(桌面、云、移动......),当速度很重要时,使用OpenCL进行GPGPU开发会很棒。我知道Google将RenderScript作为替代方案,但它似乎只适用于Android,而且不太可能包含在iOS中。因此,我寻求在Android应用程序中执行OpenCL代码的解决方案。 最佳答案 我所知道的唯一支持OpenCL的Android设备是基于MaliT600系列芯片的设备(文章here)。他们有一个OpenCLSDK.显然它也是OpenCL1.1完整配置文件。Nexus10是使用这种芯片的设备。三星Exynos5双S

android - 如何在 Android 上使用 OpenCL?

对于平台独立性(桌面、云、移动......),当速度很重要时,使用OpenCL进行GPGPU开发会很棒。我知道Google将RenderScript作为替代方案,但它似乎只适用于Android,而且不太可能包含在iOS中。因此,我寻求在Android应用程序中执行OpenCL代码的解决方案。 最佳答案 我所知道的唯一支持OpenCL的Android设备是基于MaliT600系列芯片的设备(文章here)。他们有一个OpenCLSDK.显然它也是OpenCL1.1完整配置文件。Nexus10是使用这种芯片的设备。三星Exynos5双S

c++ - 来自设备纹理阵列的 NVIDIA CUDA 视频编码器 (NVCUVENC) 输入

我正在修改CUDAVideoEncoder(NVCUVENC)SDK示例包中的编码示例,因此数据不是来自外部yuv文件(如示例中所做的那样),而是来自从纹理填充的cudaArray。所以编码帧的关键API方法是:intNVENCAPINVEncodeFrame(NVEncoderhNVEncoder,NVVE_EncodeFrameParams*pFrmIn,unsignedlongflag,void*pData);如果我得到正确的参数:CUdeviceptrdptr_VideoFrame应该将数据传递给编码。但我真的不明白如何将它与GPU上的一些纹理数据连接起来。示例源代码非常模糊,

c++ - 来自设备纹理阵列的 NVIDIA CUDA 视频编码器 (NVCUVENC) 输入

我正在修改CUDAVideoEncoder(NVCUVENC)SDK示例包中的编码示例,因此数据不是来自外部yuv文件(如示例中所做的那样),而是来自从纹理填充的cudaArray。所以编码帧的关键API方法是:intNVENCAPINVEncodeFrame(NVEncoderhNVEncoder,NVVE_EncodeFrameParams*pFrmIn,unsignedlongflag,void*pData);如果我得到正确的参数:CUdeviceptrdptr_VideoFrame应该将数据传递给编码。但我真的不明白如何将它与GPU上的一些纹理数据连接起来。示例源代码非常模糊,

神经网络的 Python 实时图像分类问题

我正在尝试使用caffe和python进行实时图像分类。我在一个进程中使用OpenCV从我的网络摄像头流式传输,在一个单独的进程中,使用caffe对从网络摄像头拉取的帧执行图像分类。然后我将分类结果传回主线程,为网络摄像头流添加字幕。问题是,即使我有一个NVIDIAGPU并且正在GPU上执行caffe预测,主线程也会变慢。通常不做任何预测,我的网络摄像头流以30fps运行;但是,根据预测,我的网络摄像头流最多可以达到15fps。我已验证caffe在执行预测时确实使用了GPU,并且我的GPU或GPU内存没有达到最大值。我还验证了我的CPU内核在程序期间的任何时候都没有达到最大值。我想知道

神经网络的 Python 实时图像分类问题

我正在尝试使用caffe和python进行实时图像分类。我在一个进程中使用OpenCV从我的网络摄像头流式传输,在一个单独的进程中,使用caffe对从网络摄像头拉取的帧执行图像分类。然后我将分类结果传回主线程,为网络摄像头流添加字幕。问题是,即使我有一个NVIDIAGPU并且正在GPU上执行caffe预测,主线程也会变慢。通常不做任何预测,我的网络摄像头流以30fps运行;但是,根据预测,我的网络摄像头流最多可以达到15fps。我已验证caffe在执行预测时确实使用了GPU,并且我的GPU或GPU内存没有达到最大值。我还验证了我的CPU内核在程序期间的任何时候都没有达到最大值。我想知道

iphone - 在 iPhone 上进行 GPU 加速计算 (GPGPU) 的资源?

我对在iOS中进行GPU加速计算很感兴趣(适用于iPhone3GS和4)。不幸的是,这两种设备都不支持OpenCL,因此似乎唯一的选择是将程序数据表示为图形数据并使用OpenGLES2.0可编程着色器(顶点和片段)来完成这项工作。谁能推荐任何可能有用的资源?示例代码是chalice。 最佳答案 目前有几种方法可以做到这一点。如果你想支持旧设备,你应该坚持使用OpenGLES2.0着色器。有框架GPUImage和ogles_gpgpu为了这。后者甚至支持安卓系统。我还写了一篇关于这个主题的硕士论文:ParallelComputingf

python - 对于多平台 GPGPU 计算,是否有 OpenCL+PyOpenCL 的替代方案?

Mac上对OpenCL的支持是goingtoendinmacOS10.15,因此人们投资于PyOpenCL+OpenCL作为进行通用GPU(+CPU)计算的手段将很快开始失去一个关键平台。所以我的问题是:近期是否有PyOpenCL+OpenCL的任何可行的多平台GPGPU计算替代方案?会Vulkan有可能使用Python包装器吗? 最佳答案 (此答案包含一些实用的建议,并附有意见和个人猜测。如果其中一些被认为不合适,我很乐意根据收到的评论编辑此答案。)我的观点是,macOS上可用的CL实现一直几乎没有用,因为它们有很多错误。另一方面

docker - 如何在与主机内核和 GPU 驱动程序版本不同的 docker 镜像中运行 GPGPU

我有几台GPU的机器。我的想法是将它们附加到不同的docker实例,以便在CUDA(或OpenCL)计算中使用这些实例。我的目标是使用相当旧的Ubuntu和相当旧的AMD视频驱动程序(13.04)设置docker镜像。原因很简单:升级到较新版本的驱动程序会破坏我的OpenCL程序(由于错误的AMDlinux驱动程序)。所以问题来了。是否可以在带有新内核4.2和更新的AMD(fglrx)存储库中的驱动程序?附:我试过thisanswer(使用Nvidia卡),不幸的是,docker镜像中的deviceQuery没有看到任何CUDA设备(因为它发生在一些原始答案的评论者身上)......附

java - Java 中 GPGPU/CUDA/OpenCL 的最佳方法?

图形处理单元(GPGPU)上的通用计算是一个非常有吸引力的概念,可以利用GPU的强大功能进行任何类型的计算。我很想将GPGPU用于图像处理、粒子和快速几何运算。目前,该领域的两个竞争者似乎是CUDA和OpenCL。我想知道:OpenCL是否可以在Windows/Mac上的Java中使用?与OpenCL/CUDA接口(interface)的库方法有哪些?是否可以直接使用JNA?我是不是忘记了什么?感谢任何现实世界的经验/例子/war故事。 最佳答案 AFAIK,JavaCL/OpenCL4Java是目前唯一可在所有平台上使用的Open