t********y 发帖数: 47 | 1 各位大虾,小弟我在做矩阵乘法计算,需要3000 x 80000 的矩阵乘以80000 x 3000然
后得到3000x3000. 这样的运算需要10多分钟。我以后还要更大的矩阵。
我在想能否利用unix 系统本身就是多芯片的原理,生成多个进程或者线程来计算,每
个计算1500x80000 x 80000 x 1500, 这样需要4个进/线程,然后把结果合并。
或者算3000x20000 x 20000x3000, 然后把4个结果矩阵相加。
但是,如何保证在unix下生成的线程使用不同的cpu呢? |
t****t 发帖数: 6806 | 2 用ATLAS,所有的东西都给你想好了
【在 t********y 的大作中提到】 : 各位大虾,小弟我在做矩阵乘法计算,需要3000 x 80000 的矩阵乘以80000 x 3000然 : 后得到3000x3000. 这样的运算需要10多分钟。我以后还要更大的矩阵。 : 我在想能否利用unix 系统本身就是多芯片的原理,生成多个进程或者线程来计算,每 : 个计算1500x80000 x 80000 x 1500, 这样需要4个进/线程,然后把结果合并。 : 或者算3000x20000 x 20000x3000, 然后把4个结果矩阵相加。 : 但是,如何保证在unix下生成的线程使用不同的cpu呢?
|
p*u 发帖数: 2454 | 3 http://www.citi.umich.edu/projects/citi-netscape/reports/LinuxSchedv1.html
【在 t********y 的大作中提到】 : 各位大虾,小弟我在做矩阵乘法计算,需要3000 x 80000 的矩阵乘以80000 x 3000然 : 后得到3000x3000. 这样的运算需要10多分钟。我以后还要更大的矩阵。 : 我在想能否利用unix 系统本身就是多芯片的原理,生成多个进程或者线程来计算,每 : 个计算1500x80000 x 80000 x 1500, 这样需要4个进/线程,然后把结果合并。 : 或者算3000x20000 x 20000x3000, 然后把4个结果矩阵相加。 : 但是,如何保证在unix下生成的线程使用不同的cpu呢?
|
t********y 发帖数: 47 | 4 我用的是SunOS 5.8, sun sparc CPU, 别的就不清楚了,没有root权限,
不能随便加东西。
你说的Atlas能够在这种情况下使用多cpu马?
多谢
【在 t****t 的大作中提到】 : 用ATLAS,所有的东西都给你想好了
|
b******a 发帖数: 215 | 5 MPI may be helpful to you.
【在 t********y 的大作中提到】 : 我用的是SunOS 5.8, sun sparc CPU, 别的就不清楚了,没有root权限, : 不能随便加东西。 : 你说的Atlas能够在这种情况下使用多cpu马? : 多谢
|
a**u 发帖数: 5 | 6 Totally okay. As a non-root, I installed ATLAS and many numerical packages
based on it. |