用戶使用(LinuxCluster部分)_第1頁(yè)
用戶使用(LinuxCluster部分)_第2頁(yè)
用戶使用(LinuxCluster部分)_第3頁(yè)
用戶使用(LinuxCluster部分)_第4頁(yè)
用戶使用(LinuxCluster部分)_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

個(gè)人收集整理

僅供參考學(xué)習(xí)一、

用戶使用檔LinuxCluster部分)Linux操作系統(tǒng)使LinuxAS包含Redhat分發(fā)的絕大部分的軟件包,用戶可以在安裝Linux其它linux悉操作系統(tǒng)環(huán)境。參考書籍:UNIX程環(huán)境文本編輯器:用來(lái)編譯代碼的編譯器主要有:等。此部分要求在使用前熟悉。二、

器本部分目的在于掌IntelCompiler使用此之前熟悉語(yǔ)言。IntelC/C++編譯器接受遵守ANSI,ISOC/C++ASMforIA-32準(zhǔn)的輸入與linux下常用的gcc容并支持更大的C語(yǔ)言擴(kuò)展,包括源文件、令行參數(shù)、目標(biāo)文件。不支持的inline方式的匯編。例:intargc,argv[]){printf("HelloWorld!\n");0;}"hello.cpp"[dos]18L,-chello.ohello.o-ohello$./helloWorld!

編譯鏈接執(zhí)行注意,編譯與鏈接都由icc完成,icc常用命令行參數(shù):

輸出文件命名-Iinclude路-Llib路-l

包含的名

個(gè)人收集整理

僅供參考學(xué)習(xí)-c僅生成目標(biāo)文件(不接-On編器化選項(xiàng)n=0關(guān)編譯器化n=3使最激進(jìn)的優(yōu)化-c99[-]打開(kāi)關(guān)閉規(guī)的支持詳細(xì)的請(qǐng)參照icc的Intel編譯器支持標(biāo)準(zhǔn)并與VisualFortran)容。例:Hello.f90programhellostop[noeol][dos]4L,ifort-cifort-o$./HelloWorld!

編譯鏈接執(zhí)行編譯與連接同樣由ifort來(lái)完成,ifort常用命令行參數(shù):輸出文件命名-Iinclude路徑-Llib路-l包的名-c僅生成目標(biāo)文件(不接-On編器化選項(xiàng)n=0關(guān)編譯器化n=3使最激進(jìn)的優(yōu)化-std90使用F90標(biāo)準(zhǔn)編譯-std95使用F95標(biāo)準(zhǔn)編譯-f77rtl編譯使用F77運(yùn)行方式的代碼(用于解決特殊問(wèn)題)三、核心數(shù)學(xué)庫(kù)的用本節(jié)介紹MKL的使用IntelMKL數(shù)學(xué)庫(kù)針對(duì)Intel系列處理器進(jìn)行了專門的優(yōu)化,主要包含的庫(kù)有:1.基本線形代數(shù)運(yùn)算(BLAS)向量與向量、向量與矩陣、矩陣與矩陣的運(yùn)算2.稀疏線形代數(shù)運(yùn)算3.快速傅立葉變換(單精度/雙精度)

個(gè)人收集整理

僅供參考學(xué)習(xí)4.5.6.7.

LAPACK(求解線形方程組、最小方差、征值、方程等向量數(shù)學(xué)庫(kù)(VML)向量統(tǒng)計(jì)學(xué)庫(kù)(VSL)高級(jí)離散傅立葉變換例,計(jì)算NxN矩陣相乘,屬于基本線性運(yùn)算,查MKL手冊(cè)BLAS章節(jié)可以使用的函數(shù)進(jìn)行運(yùn)算,假定計(jì)算雙精度浮點(diǎn)則使用dgemm函數(shù)。C語(yǔ)言中的定義(CBLAS中):enum,TransA,constenumCBLAS_TRANSPOSETransB,constintM,constintconstintK,constconstdouble*A,intconstdouble*B,intldb,intldc);對(duì)應(yīng)數(shù)學(xué)表達(dá)式cbeta*c,編寫一個(gè)程序?qū)崿F(xiàn):文件:<stdlib.h>"mkl.h"intargc,argv[]){a[N][N]={……};b[N][N]={……};;……cblas_dgemm(CblasRowMajor,CblasNoTrans,N,N,N,a,0,c,N);……0;}編譯:multi.c-I/opt/intel/mkl/include–L/intel/mkl/lib–lmpi_ipf

–o四、

MPI程序編譯法:消息傳遞接口(MPI)并行程序設(shè)計(jì)模型程序的編譯命令。

個(gè)人收集整理

僅供參考學(xué)習(xí)例:文件includemain(argc,intargc;{name[BUFSIZ];int&argv);MPI_Get_processor_name(name,&length);printf("%s:helloworld\n",name);MPI_Finalize();}編譯與連接均使mpicc,參數(shù)mpicc中義的編譯器相同與相同。mpicc–chello.cohello.ompicchello.o–ohello運(yùn)行使用mpirun命令運(yùn)行需要的節(jié)點(diǎn)定義在文件中并在-中制定。文件:node1node1node2node3運(yùn)行:–machefilenodelist–np4./hellonode1:helloworldnode1:helloworldnode2:helloworldnode3:helloworld五、

32向64位的移植本節(jié)講解32程序到位移植中應(yīng)注意的常見(jiàn)問(wèn)題:1.數(shù)據(jù)截?cái)啵河捎趌ong類型變量的運(yùn)算(賦值、比較、移位等)產(chǎn)生。long定義

個(gè)人收集整理

僅供參考學(xué)習(xí)在x86上為在ia64上為64bits.容易在與int型變量運(yùn)算時(shí)出現(xiàn)異常。處理方法:盡量避免不同類型變量間的運(yùn),避免將長(zhǎng)度較長(zhǎng)的變量賦值到較短的變量中,統(tǒng)一變量長(zhǎng)度可以解決這個(gè)問(wèn)題。簡(jiǎn)單的對(duì)于32轉(zhuǎn)移到位可以將所有義轉(zhuǎn)換為int定義。2.指針存儲(chǔ):在x86平臺(tái)下,習(xí)慣使用int來(lái)存儲(chǔ)指針,并將指針直接參與到型的運(yùn)算中而位平臺(tái)下指針大小為64bits,無(wú)存儲(chǔ)到int對(duì)指針的運(yùn)算也可能會(huì)因?yàn)閿?shù)據(jù)長(zhǎng)度的不一致導(dǎo)致異常。處理方法:修改用于存儲(chǔ)傳遞指針的變量intptr_t類型定義,以保證平臺(tái)兼容性3.不規(guī)范的結(jié)構(gòu):未命名或?yàn)橹付〝?shù)量的成員可能會(huì)出現(xiàn)異常處理方法:命名未命名的成員,聲明類型符號(hào),將long定義轉(zhuǎn)為int。4.代碼中的直接數(shù)直接使用16進(jìn)制數(shù)字進(jìn)行賦值時(shí)(一般會(huì)隱含假設(shè)該變量為位變量的前提)可能出現(xiàn)異常使用數(shù)字定義數(shù)據(jù)大小進(jìn)行移位運(yùn)算時(shí)會(huì)出現(xiàn)異常。處理方法查代碼中的直接數(shù)字是否有表32有關(guān)的各種形式,如0x7fffffff,替換為宏定義。編寫代碼時(shí)注意可移植化:1.在32位與位下使用同樣的頭文件2.使用嚴(yán)禁的格式定義如用定義偏移量用fpos_t定義文件位置,intptr_t定義指針3.使用intypes.h>定義的整數(shù)類型,不使用int,long,longlong的傳統(tǒng)定義方式。使用帶有整形標(biāo)示符參數(shù)的printf函數(shù),不使用%d,%ld的格式化方式。4.使用固定寬度或宏定義的整數(shù)類型,數(shù)字,掩碼5.對(duì)整形變量作邊界檢查。6.32與位進(jìn)程共享內(nèi)存操作時(shí),使用位作為操作字長(zhǎng)。六、

作業(yè)管理系統(tǒng)的使用本節(jié)主要介紹業(yè)管理系統(tǒng)的使用。1.作業(yè)的提交bsub[options][arguments]常用的bsub參數(shù):-J

作業(yè)名稱-ooutput_file重定向作業(yè)的標(biāo)準(zhǔn)輸出errorput_file重定向作業(yè)的錯(cuò)誤輸出-iinput_file

重定向作業(yè)的標(biāo)準(zhǔn)輸入

個(gè)人收集整理

僅供參考學(xué)習(xí)-q“queue_name…指定作業(yè)提交的隊(duì)列,默認(rèn)為-mmachine

制定作業(yè)運(yùn)行到特定的節(jié)點(diǎn)[不建議]對(duì)于mpi業(yè)提交時(shí):指定作業(yè)類型為mpi作業(yè)-n制定作業(yè)要求的最小[最大]CPU個(gè)數(shù)例:1.普通作業(yè):一般運(yùn)行:$./hello提交命令:$bsub–eerrfile2.MPI作業(yè)一般運(yùn)行:$–4–machinefile./hello提交命令:$––n4–ooutfile–eerrfile./hello注意將由系統(tǒng)產(chǎn)生,在提交時(shí)不需要指定。如系統(tǒng)接納此作業(yè)將返回作業(yè)ID,如不接納將返回出錯(cuò)原因。2.作業(yè)監(jiān)視與控制常用的作業(yè)控制命令查看作業(yè)歷史信息查看當(dāng)前作業(yè)信息bpeek查看未完成的作業(yè)的輸出與錯(cuò)誤輸出bkill

殺死正在運(yùn)行的作業(yè)七、

殺死并重新將作業(yè)排隊(duì)掛起正在運(yùn)行的作業(yè)恢復(fù)掛起的作業(yè)bswitch將一個(gè)作業(yè)換直另一個(gè)隊(duì)列排隊(duì)3.查看系統(tǒng)狀況:查看當(dāng)前系統(tǒng)各節(jié)點(diǎn)信息lsload查看當(dāng)前系統(tǒng)各節(jié)點(diǎn)負(fù)載信息查看當(dāng)前系統(tǒng)各隊(duì)列信息常見(jiàn)問(wèn)題1.:命令無(wú)法執(zhí)行,出現(xiàn)”cannotbinaryfile錯(cuò)誤A:請(qǐng)確改程序?yàn)閕a64程序。使用file命令查看。32-bitLSBexecutable,Intel80386,version1(SYSV),

.應(yīng)為64-bitLSBexecutable,IA-64version1(SYSV),.解決方法為使用IA64體系結(jié)構(gòu)的版本或取得源代碼重新編譯2.Q:系統(tǒng)運(yùn)行速度很慢,何使用多個(gè)CPU運(yùn)算A:請(qǐng)使用bsub提交命令,參見(jiàn)本文檔關(guān)于作業(yè)系統(tǒng)部分。3.Q:提交時(shí)系統(tǒng)提示”QueuedoeshaveJobnot”

個(gè)人

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論