内存拷贝的问题

bingbingzhe 2014-06-11 11:37:06
请教一个问题:我需要大量的矩阵运行,而且这些矩阵都是大矩阵(每个矩阵400M),那么我把这些数据up和down的时候就会有明显的耗时,请问给要怎么处理该问题呢?

我用cubals库来做矩阵的运算,而且是批量的运算就是一次运算几十个,这样每次有传递几个G的数据

我现在想到的是stream和分页锁定内存。
但是stream测试的结果显示没有任何提升,是不是我用错了,
分页锁定可以提高2倍的速度,但是对cpu的内存消耗太大,放在系统里可能会影响整个系统的性能。


请教各位怎么处理这个问题?
...全文
443 62 打赏 收藏 转发到动态 举报
写回复
用AI写文章
62 条回复
切换为时间正序
请发表友善的回复…
发表回复
bjcre 2014-06-19
  • 打赏
  • 举报
回复
支持原创,支持钻研程序设计!所有原创者辛苦了,向你们致敬!
w365w1 2014-06-19
  • 打赏
  • 举报
回复
我是小白看不懂但还是很赞
艾迪mirror 2014-06-19
  • 打赏
  • 举报
回复
谢谢楼主,有点懂了
qq_16687113 2014-06-19
  • 打赏
  • 举报
回复
表示很是看不懂,路过。。。。。。。。
Lavandecassie 2014-06-19
  • 打赏
  • 举报
回复
这么高端!!!
kogou2200 2014-06-19
  • 打赏
  • 举报
回复
觀摩學習中....
zhenamwansui 2014-06-19
  • 打赏
  • 举报
回复
sinat_16642387 2014-06-18
  • 打赏
  • 举报
回复
动态网页制作,看不懂
erchumail 2014-06-18
  • 打赏
  • 举报
回复
数据传输和执行的时间比是多少?如果执行时间远远小于数据传输时间,那么依靠stream是没有用的,因为stream是使数据传输和执行并行。如果传输时间远远大于执行时间,可以考虑两种方法: 1. 压缩数据。比如楼上所说,稀疏矩阵或者对称矩阵之类的,也可以考虑其它压缩算法。 2. 将数据分为更小的块,让传输时间大体上等同于执行时间。 另外,不知道楼主使用的是什么cublas操作,本人用cublas进行大小为3GB的矩阵加法和乘法的计算,传输时间远远小于了计算时间。批量计算不能明显的降低执行时间,记得文档上有这么说过。
bingbingzhe 2014-06-18
  • 打赏
  • 举报
回复
引用 2 楼 sparrow986831 的回复:
数据传输和执行的时间比是多少?如果执行时间远远小于数据传输时间,那么依靠stream是没有用的,因为stream是使数据传输和执行并行。如果传输时间远远大于执行时间,可以考虑两种方法: 1. 压缩数据。比如楼上所说,稀疏矩阵或者对称矩阵之类的,也可以考虑其它压缩算法。 2. 将数据分为更小的块,让传输时间大体上等同于执行时间。 另外,不知道楼主使用的是什么cublas操作,本人用cublas进行大小为3GB的矩阵加法和乘法的计算,传输时间远远小于了计算时间。批量计算不能明显的降低执行时间,记得文档上有这么说过。
\ 3G数据的传输时间应该要1.5s吧,这么大小的矩阵乘法要多久?
yangkewhut 2014-06-18
  • 打赏
  • 举报
回复
完全看不懂呀。。。。求共同学习!!
u013655905 2014-06-18
  • 打赏
  • 举报
回复
完全看不懂啊,各位大神啊。。。
bbbing1972 2014-06-18
  • 打赏
  • 举报
回复
明白了,谢谢楼主。
网的昌硕 2014-06-18
  • 打赏
  • 举报
回复
都是 IT   精英啊! 内存这方面的问题 有点复杂!!深入研究 ,想必 ,将来必定有所作为~~
sinat_16654415 2014-06-18
  • 打赏
  • 举报
回复
觀摩學習中....
u011152680 2014-06-18
  • 打赏
  • 举报
回复
4楼的例子可以试一试。
城市数据匠 2014-06-18
  • 打赏
  • 举报
回复
这个真真看不到
u010533714 2014-06-17
  • 打赏
  • 举报
回复
根本看不懂。
bingbingzhe 2014-06-17
  • 打赏
  • 举报
回复
这个不是cuda的版块么,怎么大都是看不懂的?
rkl1016413922 2014-06-17
  • 打赏
  • 举报
回复
1. 压缩数据。比如楼上所说,稀疏矩阵或者对称矩阵之类的,也可以考虑其它压缩算法。 2. 将数据分为更小的块,让传输时间大体上等同于执行时间。
加载更多回复(35)

579

社区成员

发帖
与我相关
我的任务
社区描述
CUDA™是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。 它包含了CUDA指令集架构(ISA)以及GPU内部的并行计算引擎。
社区管理员
  • CUDA编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧