我试图使用OpenCL加速一些计算,部分算法包括反转矩阵.是否有任何开源库或免费提供的代码来计算用OpenCL或CUDA编写的矩阵或一般反演的lu分解(lapack dgetrf和dgetri)?矩阵是实数和正方形,但除此之外没有任何其他特殊属性.到目前为止,我已经设法在gpu上找到了基本的blas矩阵向量运算实现.
矩阵相当小,只有大约60-100行和cols,所以它可以在cpu上更快地计算,但它在算法的中间使用,所以我必须将它转移到主机,计算逆,和然后将结果传回设备,然后在更大的计算中使用它.
我有这个Windows控制台应用程序,它接受一个文件,做一些计算,然后将输出写入指定的文件.输入以"app.exe -input fullfilename"格式指定.我需要从我的C++程序中调用此应用程序,但是在文件路径中存在空格问题.当我通过键入直接从cmd.exe调用应用程序时(为清楚起见未指定输出文件)
"c:\first path\app.exe" -input "c:\second path\input.file"
Run Code Online (Sandbox Code Playgroud)
一切都按预期工作.但是,当我尝试使用cstdlib std :: system()函数时,即
std::system(" \"c:\\first path\\app.exe\" -input \"c:\\second path\\input.file\" ");
Run Code Online (Sandbox Code Playgroud)
控制台打印出c:\ first不是任何有效命令.这可能是常见的错误并且有简单的解决方案,但我一直无法找到.感谢任何帮助.