草庐IT

c++ - 在 GPU 上计算特征值和特征向量的性能不佳

在某些代码中,我们需要为具有对称实数矩阵(Ax=lambaBx)的广义特征值问题获取自动vector和自动值。此代码使用来自LACPACK的DSPGVX。我们想使用MAGMA函数在GPU上加速它。我们在这个论坛上询问并得到了关于这个的答案http://icl.cs.utk.edu/magma/docs/zhegvx_8cpp.html我们矩阵的大小(N)从100到50000甚至更多,这与分子中的原子数有关。我们观察到:a)对于大于2500(大约)的N,MAGMA就不起作用;分段故障b)MAGMA总是比LAPACK顺序运行慢,大约慢10倍这种行为是否正常,我们可以克服吗?任何人都可以报告

c++ - 如何在 OpenCV (3.0.0) OCL 中启动自定义 OpenCL 内核?

我可能滥用了OpenCV,将其用作官方OpenCLC++绑定(bind)的包装器,以便我可以启动自己的内核。但是,OpenCV确实有Program、ProgramSource、Kernel、Queue等类,它们似乎告诉我可以使用OpenCV启动自己的(甚至非基于图像的)内核。我很难找到这些类的文档,更不用说示例了。所以,到目前为止,我尝试了一下:#include#include#include"opencv2/opencv.hpp"#include"opencv2/core/ocl.hpp"#defineARRAY_SIZE128usingnamespacestd;usingnames

c++ - C++ AMP 能否在没有兼容 GPU 的机器上运行?

我了解C++AMP由支持DirectX11的GPU加速。但是,我的问题是,如果编译的C++AMP程序在没有DirectX11兼容GPU的机器上运行,会发生什么?它是否被DirectCompute的某些软件实现所模拟?它是否在CPU上执行(可能使用SSE风格的指令)?或者,它只是无法执行吗? 最佳答案 事实上,C++AMP有一个称为WARP(又名“MicrosoftBasicRenderDriver”)的CPU回退(多核加SSE)实现:http://www.danielmoth.com/Blog/Running-C-AMP-Kerne

ios - 从 Metal 内核写入 32 位浮点纹理?文档说是,运行时说不

在检查Metal接口(interface)的GPGPU部分时,我在尝试从内核写入32位浮点纹理时遇到断言失败(编辑:在iPhone6上,使用iOS8.4.1):`Non-writabletextureformatMTLPixelFormatRGBA32Floatisbeingboundatindex2toashaderargumentwithwriteaccessenabled.'使用RG32Float和R32Float得到相同的结果。这似乎是错误的,因为:据我所知,thedocssayitshouldbesupported.(见链接页面上的表格。)片段着色器允许写入32位纹理(在iP

ios - OpenGL - 计算着色器 - iOS - 选项?

我正在尝试实现一种自定义算法,该算法在给定点周围的指定半径处获取一系列像素。因为我想潜在地对1080p图像中的每个像素运行此算法,所以我认为与GPU并行化是一个不错的选择。问题是我需要让它在iOS上运行。我遇到了一个名为GPUImage2的有用iOS库,它允许一堆预定义的功能,但我现在遇到了障碍.据我所知,我不能在iOS中使用计算着色器?是我切换到使用Metal的唯一选择吗?我知道android支持ES3.1,但iOS没有这样的选项吗?我想我的另一个问题是;在这里使用计算着色器是正确的选择吗?我的想法是将一系列点分成线程组,然后让每个线程迭代半径点并执行计算,这样我就可以计算所有同时组

ios - 使用 GPUImage 并行处理 GPU 和 CPU

我正在尝试在iOS上使用GPUImage编写视频过滤应用程序。一般来说,我的处理链是这样的:GPUImageVideoCamera->CustomFilter->[CPUprocessingblock]CPU处理block的样子:{glReadPixels(...)do_some_processing()}我在iPad上获得的当前性能是5-7FPS,我正在努力改进。我知道应该使用GPUImageRawDataInput而不是glReadPixels,但我的问题是是否有一种方法/代码示例可以并行化CPU和GPU的工作方式是当GPU处理第N帧时,CPU将处理第N-1帧。

android - 市场上的 Nexus 5、Nexus7 和 Nexus10 设备是否直接支持 RenderScript GPU 计算?

在GPU上运行renderscript代码似乎比编写高质量的renderscript代码需要一些“额外”的努力。尽管来自Google的人员证明Nexus7可以通过渲染脚本进行GPU计算(在视频中的25:50https://www.uplinq.com/schedule/renderscript-and-opengl-es-30-new-technologies-adreno-gpu),而PowerVR表示其GPU将支持RenderscriptGPU计算(http://withimagination.imgtec.com/index.php/powervr/running-renders

android - Android 中带有 NDK 的 OpenGL ES 2 的一些教程?

特别是我需要使用着色语言GLSL。我已经安装了NDK、SDK和其他所有东西并且运行正常,我使用NDK运行了一个openGLES2示例并且它工作正常,问题是有很多我不理解的说明。所以我需要一本教程或一本书来一步一步地教我这一点 最佳答案 我建议您先阅读Khronos网站上的一些教程和OpenGL程序员指南。我建议您先从“HelloTriangle”演示开始。有两个链接。TutorialonHelloTriangleSourceCodeforHelloTriangle--看第2章对于好的旧立方体演示,checkthisout.代码是用W

android - 为 Tegra GPU 编程需要什么

我可以在CUDA处理器Tegra1/2上开发应用程序吗?为此我需要什么以及Tegra1/2的CUDA功能是什么?我在EclipseforAndroid中只找到了NVIDIADebugManager用于开发,但我不知道他是否可以开发出CUDA风格。 最佳答案 当前的Tegra处理器(Tegra1、2和3)不支持CUDA平台。要了解Tegra开发并下载TegraAndroid开发工具包,请参阅NVIDIAdeveloperzoneformobile. 关于android-为TegraGPU编

c++ - 如何使用 NVidia GPU 在 Windows 下逐步调试 OpenCL GPU 应用程序

我想知道您是否知道使用Windows(我的IDE是VisualStudio)逐步调试OpenCL内核并在NVidiaGPU上运行OpenCL内核的任何方法。目前我发现的是:使用NVidiasNSight,您只能分析OpenCL应用程序,而不能调试它们AMD的gDEBugger当前版本仅支持ATI/AMDGPU旧版本的gDEBugger支持NVidiaGPU,但工作已于2010年12月停止GDB调试器似乎支持它,但只能在Linux下使用英特尔OpenCLSDK带有一个调试器,但它只能在CPU上运行代码时工作,而不是在GPU上运行代码时工作这种配置(Windows+NVidiaGPU+Op