Re: [問題] iteration growing parallel

作者: celestialgod (天)   2015-03-30 22:14:41
※ 引述《memphis (讓你喜歡這世界~)》之銘言:
: 手上有條蛋白質序列, 每個點都會突變, 遇到K, 切下來, 列出所有可能, 舉例如下
: A B1 C1 K E F1
: B2 C2 D F2
: #### result ####
: A B1 C1 K
: A B2 C1 K
: A B1 C2 K
: A B2 C2 K
: A B1 C1 D F1
: A B2 C1 D F1
: A B1 C2 D F1
: A B2 C2 D F1
: .... F2
: ....
: #### 問題來了 ####
: 如果一直遇不到 K, 突變點一多(爬到連續20點, 2000萬種組合, 寫出檔案大小達到2.xG)
: 一個CPU算到沒完
: 想把他平行化, 我已把function改成可以 一點叫一次
: EX
: call: function(start=1, tmp_prefix="")
: out : A
: call: function(start=2, tmp_prefix="A")
: out : AB1 AB2
: call: function(start=3, tmp_prefix=c("AB1", "AB2"))
: out : AB1C1 AB2C1 AB1C2 AB2C2
: 由以上可見, 如果n點後來個1000萬的out, 就要卡住了
: 所以我想100萬就拆開, 讓不同的CPU去算
: 1.請問大家知不知道一些比較方便的package 可以讓我開cpu, 指定哪個cpu算那些input
: 2.parallel 那種 cl=socket(n), apply 好像不能讓我指定, 應該是行不通
: 3.RMPI又太兇狠了...太久沒有寫...連環境都還沒有設定好
: 4.抱歉沒有sample code 可以跑, 所以大家如果有什麼概念用sudo code 我就很感激了
花了一點時間寫成Rcpp
我認為這樣的做法快又有效。
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.225.214.51
※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1427724883.A.3FD.html
作者: memphis (讓你喜歡這世界~)   2015-03-30 22:31:00
感恩 讓我copy下來研究修改一下 (因為例子是簡化的XD)感謝, 在數字上操作才是正確的, 列出所有可能再參照回去再問一下 我看了我的資料點 所有可能乘起來約10的11次方這是R可以操作的範圍嗎? 還是這宣告了此路不通?好.. Ram有2T 我再拼拼看..

Links booklink

Contact Us: admin [ a t ] ucptt.com