R_Language 板


LINE

Mac 直接參考 Rmpi 設置網頁即可 , 有安裝home brew 的話 , 基本上 沒大問題 , 不熟home brew 安裝的人可以直接查 home brew 網頁,已經 整理到只要把上面那行原封不動貼到 command line 即可安裝好home brew 由於小弟有點菜加上手邊機器都是借別人的 , 版本跟系統都很亂 , 才 會搞了好幾種 , 感謝 W 大還有 C 大詳細的指教 =================Linux Ubuntu 快速安裝============================ 1. 把OpenMPI裝好 (安裝過程本內容有寫) 2. 回去R安裝其他的.......... end 由於我照參考連結還是會遇到自動抓取常常說找不到或版本不行 , 如 Wush 大所說 如果單裝openmpi , 依舊不能用 還要裝很多東西,所以我直接加了apt-get的默認字 元 "*" 一行解: sudo apt-get install openmpi-* libopenmpi-* openssh-* 參考連結: (過長 縮網址會被當廣告 請自行拼貼) http://lsi.ugr.es/~jmantas/pdp/ayuda/datos/instalaciones/ Install_OpenMPI_en.pdf ============================================================================== ==========================CentOS 保險版安裝=================================== 1. 下載 OpenMPI OpenMPI 參考網頁 https://www.open-mpi.org/software/ompi/v1.10/ OpenMPI 安裝影片 https://www.youtube.com/watch?v=QIMAu_o_5V8
2. 設定環境告知mpi 位址(此段請加入 .bashrc): export PATH=/home/user_local/openmpi_install_dir/bin:$PATH export LD_LIBRARY_PATH=/home/user_local/openmpi_install_dir/lib:$LD_LIBRARY_PAT export LD_PRELOAD=/home/user_local/openmpi_install_dir/lib/libmpi.so:$LD_PRELOAD (第三行是在你一直跳load 問題用的) 3. Compile Rmpi (請確定抓好了Rmpi): R CMD INSTALL Rmpi_your_version.tar.gz \ --configure-args="--with-mpi-type=OPENMPI \ --with-mpi=/home/user_local/openmpi_install_dir" Rmpi的設置 http://www.stats.uwo.ca/faculty/yu/Rmpi/ OpenMPI 操作影片 https://www.youtube.com/watch?v=QIMAu_o_5V8
MPI 後續設定文獻 http://lsi.ugr.es/~jmantas/pdp/ayuda/datos/ instalaciones/Install_OpenMPI_en.pdf 參考pbdMPI 的安裝文獻: https://cran.r-project.org/web/packages/pbdMPI/INSTALL 因為沒有Root 還要手動設定 ./configure , 參考make install文獻: http://unix.stackexchange.com/questions/42567/ how-to-install-program-locally-without-sudo-privileges ============================================================================== → clickhere: OpenMP和OpenMPI是不同的東西.... 05/02 00:15 → clickhere: OpenMPI和Rmpi都不需要permission.安裝在user下即可. 05/02 00:16 → clickhere: 不需要root 05/02 00:17 → JackBaska: 我直接裝library是會跳non-zero status ,然後參考原文 05/02 08:11 → JackBaska: 網站的做法是先用command line安裝完OpenMPI,然後CMD 05/02 08:11 → JackBaska: Rmpi後再回到R裡面安裝library才成功,然而前面command 05/02 08:12 → JackBaska: line的動作我在cluster好像沒有權限,然後試另一個方法 05/02 08:13 → JackBaOBska: 都遇到版本問題,cluster的R是3.1.x,我還在找怎麼避開 05/02 08:13 → JackBaska: permission做更新還有以上建置 05/02 08:14 由於C大有提出這個問題 , 想回答C大順便看是否知道怎麼解 我參考的設置是 http://www.stats.uwo.ca/faculty/yu/Rmpi/ 網頁 , 由於工作環境的關係 , 我的測試機跟有Root的Server 跟沒有 Root的Cluster 分別是OS X/Linux Xbuntu/Linux CentOS 我已經試了幾個方法安好 parallel需要的東西 , 然而cluster 的 R 是 3.1.x 的 , 有一些 parallel提供的資料會一直跳沒有 支援該版本的 parallel , 所以我轉研究Rmpi相關的 , 前面在 OS X/Cluster的測試已經確定直接安裝Rmpi會出現 non-zero status 而OS X的經驗是只要照網站上做的先install 好 OpenMPI 後才能 成功讓 Rmpi 確實安裝好 所以在 Cluster 上我目前是打算研究是否有辦法像是 brew install 只安裝在 User 底下 , 以避開 permission 的問題 , 不過我剛注意 到Linux 好像是直接開始用 CMD INSTALL Rmpi , 我可能會再回Cluster 試 , 我不確定Cluster 的 OpenMPI是否已經安裝好了 , 但該Cluter 本身有被用 C++/CUDA 在跑平行 , 我可能要再研究一下C++/CUDA所用 的mpi跟 R 的是否有差異 =============安裝時遇到找不到支援版本時===================== 如果你跟我一樣在新電腦裝了 R 但莫名其妙的連 dplyr都跟你說沒 支援版本 , 我還沒確定原因 , 但以下做法是可以work的 "**" : 你要的 package install.packages("**", dependencies=TRUE, repos='http://cran.rstudio.com/') =============補充給需要OpenMPI/RMPI的人===================== 由於昨天到今天有被私訊發現有其他想碰平行的板友遇到類似的狀況 無法做平行 , 這裡補充一下使用的參考網頁 Rmpi的設置 (要先安好 OpenMPI) http://www.stats.uwo.ca/faculty/yu/Rmpi/ OpenMPI 參考網頁 https://www.open-mpi.org/software/ompi/v1.10/ OpenMPI 操作影片 https://www.youtube.com/watch?v=QIMAu_o_5V8
MPI 後續設定文獻 http://lsi.ugr.es/~jmantas/pdp/ayuda/datos/ instalaciones/Install_OpenMPI_en.pdf =========================================================== 最後我在cluster 上有遇到最後要把Rmpi安上去時不斷出現此訊息 checking for stdint.h... yes checking for unistd.h... yes checking mpi.h usability... no checking mpi.h presence... no checking for mpi.h... no configure: error: "Cannot find mpi.h header file" ERROR: configuration failed for package ‘Rmpi’ 爬原文網站發現似乎是 MPI安置位置並沒有寫到R用的路徑裡面 然而網站中提及的修改路徑的資料 , 我還沒找到 ====================without Root ============================ 設定環境告知mpi 位址: export PATH=/home/user_local/openmpi_install_dir/bin:$PATH export LD_LIBRARY_PATH=/home/user_local/openmpi_install_dir/lib:$LD_LIBRARY_PATH export LD_PRELOAD=/home/user_local/openmpi/lib/libmpi.so:$LD_PRELOAD Compile Rmpi (請確定抓好了Rmpi): R CMD INSTALL Rmpi_your_version.tar.gz \ --configure-args="--with-mpi-type=OPENMPI \ --with-mpi-include=/home/user_local/openmpi_install_dir" 參考pbdMPI 的安裝文獻: https://cran.r-project.org/web/packages/pbdMPI/INSTALL 因為沒有Root 還要手動設定 ./configure , 參考make install文獻: http://unix.stackexchange.com/questions/42567/ how-to-install-program-locally-without-sudo-privileges ======================================================== export LD_PRELOAD=/home/user_local/openmpi/lib/libmpi.so:$LD_PRELOAD R裡面叫 mpi時出現時使用上面這行: Error : .onLoad failed in loadNamespace() for 'Rmpi', details: call: dyn.load(file, DLLpath = DLLpath, ...) error: unable to load shared object '/home/user_local/R/x86_64-redhat-linux-gnu-library/3.1/Rmpi/libs/Rmpi.so': libmpi.so.12: cannot open shared object file: No such file or directory Error: package or namespace load failed for ‘Rmpi’ 最後感謝 C 大的指導 , 小弟是平行運算菜鳥 , OpenMPI 跟 OenpMP 的差異還沒有很清晰 , 只知道做平行運算 這兩個都有在環境建置中 被使用過 ==========能安裝 snow 以及 parallel的話 可參考這個 pseudo code=========== "**" : 自行加入自己想叫的額外套件 trainsmall : 一個超大型的 table資料 , 可自行改成自己要輸入的資料 library("**") library(magrittr) library(snow) library(parallel) no_core = detectCores() - 1 #用parallel 幫你找出所有cpu ,記得保留一個提供系統運作 , OS X試過若不保留 #R很容易整個當掉 cl = makeCluster(no_core) #用snow 啟動多 cpu slave transDat = list() for(i in 1:5){ #以5個平行運行為例 把要用的資料跟需要引數包成 list bb = list(1,trainsmalls) transDat =transDat %>% append(list(bb)) } #我用 parLapply 將資料傳進Slave 並依造各個 Slave需要讓他們自行拆出資料 #我是覺得這個做法有個缺點 , 就是他會將資料複製 , 我還在找比這個方法更好 #的方式 paraData = parLapply(cl,transDat,function(x) { require("**") set.seed(50+x[[1]]) result = "**"(Category ~ PdDistrict+ Months ,data=x[[2]],ntree=10) return(result)}) paraData[1] # 確認資料有傳出 Slave stopCluster(cl) ======================================================================== --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.160.165.182
※ 文章網址: https://webptt.com/m.aspx?n=bbs/R_Language/M.1462149214.A.2B6.html ※ 編輯: JackBaska (118.160.165.182), 05/02/2016 09:10:56
1F:→ Wush978: 要跑的機器請全部都一樣的作業系統, 一樣的R版本, 05/02 09:50
※ 編輯: JackBaska (118.160.165.182), 05/02/2016 09:51:46
2F:→ Wush978: 一樣的安裝方法... 最方便的就是全部都Ubuntu, 然後用 05/02 09:50
3F:→ Wush978: apt-get 裝。你就會發現我過去寫的文章都是多餘的,因為 05/02 09:50
4F:→ Wush978: linux上安裝簡單到不需要guide, 而其他作業系統就算裝完 05/02 09:50
5F:→ Wush978: 也很難用 05/02 09:51
感謝Wush大大 你的文章讓我比較有點方向去查guide,不然剛開始完全不知道R怎麼 入手平行 ; Cluster以前是Ubuntu沒錯只是穩定性相對沒那那麼好,為了研究生的肝 後來被全改成CentOS了 以前常是半夜或假日被教授遠端去重開機或做修復動作,聽說有學長還有被問年假 要是crash了是否能隨傳隨到 ? 然後就怒換 CentOS了,不過CentOS 裝機建置非常 費工倒是....只是提前燒肝然後求個穩的概念 (雖然遇到有root的人改BIOS的話研究生還是得被遠端過去 XD) 由於計算能力比較強的Cluster是合作對象的,所以要更新版本得跟管理員說QQ 所以我還在研究是否能夠只在 User Local 更新 手邊的機器Ram只有 16核心(8個雙核) 64 GB的 RAM , 只有 Node的一半不到.... ※ 編輯: JackBaska (118.160.165.182), 05/02/2016 10:14:52
6F:→ Wush978: RAM不是重點呀,環境才是重點... CentOS的話,自己去抓 05/02 10:20
7F:→ Wush978: OpenMPI來編譯也不會太難 05/02 10:21
8F:→ Wush978: 不管怎麼說,我建議環境在Cluster上一定要要一模一樣 05/02 10:22
9F:→ Wush978: R的執行路徑, MPI的執行路徑, 所有R套件的安裝路徑... 05/02 10:22
10F:→ Wush978: 然後ssh全部都設定暢通, 讓彼此ssh都是輸入後直接登入 05/02 10:22
11F:→ Wush978: 弄完之後,Rmpi / pbdMPI(我更推) 都是水到渠成 05/02 10:23
12F:→ JackBaska: 嗯嗯 , RAM方面主要是有一個人請我幫忙的東西,很燒RAM 05/02 10:29
13F:→ JackBaska: 感謝Wush的建議,我還要多爬爬文,之前太習慣直接用root 05/02 10:29
14F:→ JackBaska: 設定東西,現在這個狀況我還要爬一下怎麼處理 05/02 10:30
15F:→ JackBaska: 我其實有想過是否可以改他的算法,讓存取的東西分開計算 05/02 10:32
16F:→ JackBaska: 再做最後的合併寫入,但我覺得我功力還不夠..... 05/02 10:33
17F:→ JackBaska: 我今天早上是已經裝好OpenMPI,但編譯卡在R的路徑設定 05/02 10:46
18F:→ JackBaska: 一直抓不到mpi的 header 05/02 10:46
19F:→ Wush978: 以ubuntu為例,要裝 libopenmpi-dev, 光openmpi-bin不夠 05/02 12:10
※ 編輯: JackBaska (118.160.165.182), 05/02/2016 14:05:40 ※ 編輯: JackBaska (118.160.165.182), 05/02/2016 14:06:21 ※ 編輯: JackBaska (220.136.225.41), 05/03/2016 21:01:14 ※ 編輯: JackBaska (140.109.196.140), 05/05/2016 10:50:41 ※ 編輯: JackBaska (140.109.196.140), 05/05/2016 11:30:04 ※ 編輯: JackBaska (140.109.196.140), 05/05/2016 11:31:42 ※ 編輯: JackBaska (140.109.196.140), 05/05/2016 11:32:34 ※ 編輯: JackBaska (140.109.196.140), 05/06/2016 13:21:04 ※ 編輯: JackBaska (140.109.196.140), 05/06/2016 13:22:37 ※ 編輯: JackBaska (220.136.229.38), 05/06/2016 22:58:32 ※ 編輯: JackBaska (220.136.229.38), 05/06/2016 23:03:09 ※ 編輯: JackBaska (220.136.229.38), 05/06/2016 23:12:01 ※ 編輯: JackBaska (220.136.229.38), 05/06/2016 23:13:55 ※ 編輯: JackBaska (220.136.229.38), 05/06/2016 23:17:54







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:iOS站內搜尋

TOP