level 12
eyofdu
楼主
有一些mathematica里面不可以自动parallelize的程序事实上可以parallelize。
比如说:
For[i = 1, i <= 10, i++, a[i] = i; Print[a[i]]] // Parallelize
遇到这种情况的时候可以不可以手动分配一下kernel,例如写成:
For[i = 1, i <= 5, i++, a[i] = i; Print[a[i]]] // Parallelize
For[i = 6, i <= 10, i++, a[i] = i; Print[a[i]]] // Parallelize
然后把第一个分配给kernel1,第二个给kernel2,这样也是可以的啊!但是mathematica好像没有这个功能吧……有人知道吗?![[泪]](/static/emoticons/u6cea.png)
更简单分配方法也行。
怀疑是个mathematica没有考虑到的地方……![[狂汗]](/static/emoticons/u72c2u6c57.png)
或者有stackexchange上面的大牛去问一下?
感激不尽啊……到时候八核的电脑来了,我还只能够用一个核,情何以堪啊……![[心碎]](/static/emoticons/u5fc3u788e.png)
![[委屈]](/static/emoticons/u59d4u5c48.png)
@mm_酱
@妙谛莲花
@xzcyr
@situxuming
@青衣瓦屋
@其他各路大神……
2013年08月07日 09点08分
1
比如说:
For[i = 1, i <= 10, i++, a[i] = i; Print[a[i]]] // Parallelize
遇到这种情况的时候可以不可以手动分配一下kernel,例如写成:
For[i = 1, i <= 5, i++, a[i] = i; Print[a[i]]] // Parallelize
For[i = 6, i <= 10, i++, a[i] = i; Print[a[i]]] // Parallelize
然后把第一个分配给kernel1,第二个给kernel2,这样也是可以的啊!但是mathematica好像没有这个功能吧……有人知道吗?
更简单分配方法也行。
怀疑是个mathematica没有考虑到的地方……
或者有stackexchange上面的大牛去问一下?
感激不尽啊……到时候八核的电脑来了,我还只能够用一个核,情何以堪啊……
@mm_酱
@妙谛莲花
@xzcyr
@situxuming
@青衣瓦屋
@其他各路大神……