从GPU写入数据

2视图(30天)
本杰明Ballintyn
本杰明Ballintyn 2020年1月21日
回答: 埃里克·米德 2020年12月2日
你好,
我试图找到最快的方式把数据写入二进制文件(目前使用写入文件),在一个函数被编译通过GPU编码器到墨西哥人文件。我目前有一个函数,模拟系统N步伐。在每一个步伐,我需要保存一些数据。运行墨西哥人不保存函数比实时跑~快150倍。然而,当保存数据每个步伐,它运行~ 2.3 x比实时慢。这意味着大量的时间都用在写文件。我的问题是,绝对的最快方法是什么在一个函数中保存数据编制的GPU编码器吗?谢谢!

答案(1)

埃里克·米德
埃里克·米德 2020年12月2日
你好,
很可能在每一个步伐,程序是导致cudaMemcpy复制内存GPU和CPU的每一个步伐,然后将结果写入一个文件。cudaMemcpy要求GPU同步所有线程,因此是一个很昂贵的操作。
如果可能的话,你可以把所有GPU内存中的数据在一个单独的变量在每一步之后,然后在n步之后,所有的数据写入文件。缺点是您将使用更多的GPU内存储蓄,但如果你不写作大量数据的每个步伐,应该没事的。
让我知道如果这工作。如果不是,随时分享你的代码,我将进一步看看。
埃里克

类别

找到更多的在开始使用GPU编码器帮助中心文件交换

下载188bet金宝搏


释放

R2019b

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!