| 20 | 1/1 | 返回列表 |
| 查看: 2725 | 回復(fù): 19 | |||
uuv2010榮譽版主 (職業(yè)作家)
|
[交流]
[軟件編譯交流]如下的編譯問題你了解多少?
|
||
|
在linux下的計算,第一步就是需要編譯相應(yīng)的計算軟件(或許師兄師姐已經(jīng)幫助編譯好了),然后才是用來做具體的計算。關(guān)于軟件編譯,大家了解到什么程度?對于下面這幾個問題,大家來測試一下吧;卮饐栴}有金幣獎勵哦~歡迎補充相關(guān)問題,歡迎補充相應(yīng)的答案~ 推薦一本關(guān)于makefile的文檔《跟我一起寫 Makefile》,大家有空看以看看,鏈接如下:http://www.chinaunix.net/jh/23/408225.html 一、關(guān)于ifort 1. FFLAGS = -FR -lowercase -assume byterecl -heap-arrays 上述編譯選項分別代表什么意義?有什么用途?(每個選項10個金幣) 2. OFLAG的選項O1, O2, O3等三個優(yōu)化選項分別有什么優(yōu)勢和劣勢?怎樣針對自己的體系進行選擇?(每個選項10個金幣) 二、關(guān)于mkl 1.對于intel64而言,下列這幾個選項分別代表什么意義?起什么作用? -lmkl_intel_lp64 -lmkl_sequential -lmkl_scalapack_lp64 -lmkl_blacs_openmpi_lp64 -lmkl_lapack95_lp64 -lmkl_core -lrt -lsvml -limf -lm(每個選項10個金幣) 2.對于em64t而言 , 下列這幾個選項分別代表什么意義?起什么作用?(每個選項10個金幣) -lmkl_em64t -lguide -lpthread -limp -lm 三、關(guān)于mpif90 下列這幾個選項分別代表什么意義?起什么作用?需要賦值的選項分別賦多大值合適?(每個選項10個金幣) -DCACHE_SIZE=4000 -DPGF90 -Davoidalloc -DMPI_BLOCK=8000 [ Last edited by uuv2010 on 2012-2-11 at 15:16 ] |
» 搶金幣啦!回帖就可以得到:
+1/82
+2/52
+1/42
+1/37
+1/35
+1/19
+1/16
+1/15
+1/13
+1/10
+1/7
+1/6
+1/6
+1/6
+2/4
+1/4
+1/2
+1/1
+1/1
+1/1
木蟲 (正式寫手)
專家顧問 (著名寫手)
![]() |
專家經(jīng)驗: +174 |
榮譽版主 (職業(yè)作家)
專家顧問 (著名寫手)
![]() |
專家經(jīng)驗: +174 |
榮譽版主 (職業(yè)作家)
榮譽版主 (知名作家)
榮譽版主 (職業(yè)作家)
|
關(guān)于O1、O2、O3等參數(shù),ifort的help文檔是如下說明的: -O1 optimize for maximum speed, but disable some optimizations which increase code size for a small speed benefit. (最大速度的優(yōu)化) -O2 enable optimizations (DEFAULT) (增強優(yōu)化,這個是默認選項) -O3 enable -O2 plus more aggressive optimizations that may not improve performance for all programs -O0 disable optimizations (不優(yōu)化) -O same as -O2 (默認選項,同O2) [ Last edited by uuv2010 on 2012-2-13 at 09:30 ] |
| Intel的EM64T技術(shù),EM64T技術(shù)官方全名是Extended Memory 64 Tenchnology 中文解釋就是擴展64bit內(nèi)存技術(shù),F(xiàn)在的32位奔騰 4 CPU都是采用IA-32指令集,EM64T其實就是在這個指令集的基礎(chǔ)上進行擴展,我們將它命名為IA32e。Intel這種實現(xiàn)64位的方法其實和AMD的x86-64技術(shù)有異曲同工之妙,都是通過64位擴展指令來實現(xiàn)兼容32位和64位的運算。另外不同的是Intel的EM64T技術(shù)設(shè)定了IA-32和IA-32e兩種模式的激活程序,就是說EM64T需要滿足特定條件才會激活。 |
|
下面是一個使用Intel MKL 進行矩陣計算的例子。 通過的這個例子,我們可以了解如何使用Intel MKL 的函數(shù)庫: 1>程序說明:下面的matrix.c 文件分別調(diào)用 C 代碼,Intel MKL BLAS Level 1 函數(shù) (ddot), BLAS Level 2 函數(shù)(dgemv) 與 BLAS Level 3的函數(shù)(DGEMM)完成矩陣計算: roll_your_own_multiply 是 C 源代碼,它直接依賴編譯器生成優(yōu)化代碼。Ddot_Multiply,Dgemv_multiply使用Intel MKL 函數(shù)實現(xiàn)部分矩陣運算。Dgemm_multiply 直接調(diào)用MKL 的矩陣計算函數(shù)。 2>程序編譯與鏈接: 下面是在Linux 32 的系統(tǒng)上,使用Intel Compiler編譯該程序并鏈接Intel MKL 10.0的例子: > source /opt/intel/cc/10.x.xxx/bin/iccvars.sh #設(shè)置Intel Compiler 環(huán)境變量 > icl –o matrix –I/opt/intel/mkl/10.0.xxxxx/include/ matrix.c-L/opt/intel/mkl/10.0.xxxx/lib/32/ -lmkl_intel_c -lmkl_intel_thread -lmkl_core -lguide40.lib –lpthread 其他的鏈接的方式,大家可以查看下面的帖子:http://support.intel.com/support ... ls/sb/CS-028699.htm 3> 程序執(zhí)行: > source /opt/intel/mkl/10.0.xxxxx/tools/environment/mklvars32.sh #程序使用動態(tài)方式鏈接MKL函數(shù)時,設(shè)置MKL的環(huán)境變量。 >./matrix 4> 設(shè)置多線程運行:在Intel MKL 10.0 使用OpenMP* 實現(xiàn)多線程。 OpenMP*程序可以通過環(huán)境變量 OMP_NUM_THREADS 去控制線程的數(shù)目。 > export OMP_NUM_THRADS=4 #設(shè)置程序的線程為 4 > ./matrix #DGEMM在執(zhí)行的時候使用4個線程。 注意:在MKL 10.0 中, 如果OMP_NUM_THREADS沒有定義,MKL函數(shù)可能會根據(jù)數(shù)據(jù)的大小,以及其他的變量來設(shè)置線程數(shù)目, 缺省時,可能運行多個線程運行。 源程序下載的URL: http://download355.mediafire.com ... hflsx1md/testcode.c |
|
安裝icc和ifort: 在Intel網(wǎng)站下載9.1.047版icc(我是沒安裝,可以不裝)和9.1.043版ifort,然后按網(wǎng)站要求申請許可證,并按提示進行安裝即可,我都是全部安裝的。基本上10版本的ifort安裝很方便就完成的。重 要一點就是必須先建立ifort的安裝目錄,并且把lincese文件復(fù)制進入對應(yīng)目錄里。 1、 把icc和ifort的路徑加入到環(huán)境變量中: 把安裝目錄下bin文 件夾中的iccvars.sh和ifortvars.sh拷貝到/etc/profile.d中。 這個很重要,作了就可以進行下面的MPI的配置和MAKE了,否則死都過不去! 2、 卸載 按照說明說的介紹,PDF里有介紹如何卸載的 第四 品 配置ssh: 1、 安裝ssh 本來是可以不要的, 不過操作起來很簡單,就順手都給安裝上了 yum install openssh openssh-server openssh-clients openssh-askpass 2、 編輯/etc/hosts, 這一步我覺得單機并行似乎可以不要,不過以前這么做的,沒有問題,所以 現(xiàn)在還這么做 加入一行:127.0.0.1 node01 c.啟動sshd并自動生成密鑰: /etc/rc.d/init.d/sshd start 加入啟動服務(wù): chkconfig --level 5 sshd on d.限制其它人連接:兩種做法:a.設(shè)置iptables,b.編輯/etc/hosts.deny和/etc/hosts.allow, 這兩個文件的格式忘掉了,有需要的同學(xué)可以查一下。 |


| 20 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考博] 環(huán)境領(lǐng)域全國重點實驗室招收博士1-2名 +3 | QGZDSYS 2026-03-13 | 3/150 |
|
|---|---|---|---|---|
|
[考研] 一志愿天津大學(xué)化學(xué)工藝專業(yè)(081702)315分求調(diào)劑 +7 | yangfz 2026-03-17 | 7/350 |
|
|
[考研] 299求調(diào)劑 +4 | △小透明* 2026-03-17 | 4/200 |
|
|
[考研] 材料工程專碩調(diào)劑 +5 | 204818@lcx 2026-03-17 | 5/250 |
|
|
[考研] 312求調(diào)劑 +4 | 陌宸希 2026-03-16 | 5/250 |
|
|
[考研] 有沒有道鐵/土木的想調(diào)劑南林,給自己招師弟中~ +3 | TqlXswl 2026-03-16 | 7/350 |
|
|
[考研] 一志愿蘇州大學(xué)材料工程(085601)專碩有科研經(jīng)歷三項國獎兩個實用型專利一項省級立項 +6 | 大火山小火山 2026-03-16 | 8/400 |
|
|
[考研] 275求調(diào)劑 +4 | 太陽花天天開心 2026-03-16 | 4/200 |
|
|
[考研] 材料與化工304求B區(qū)調(diào)劑 +7 | 邱gl 2026-03-11 | 8/400 |
|
|
[論文投稿] 有沒有大佬發(fā)小論文能帶我個二作 +3 | 增銳漏人 2026-03-17 | 4/200 |
|
|
[考研] 0703化學(xué)調(diào)劑 +6 | 妮妮ninicgb 2026-03-15 | 9/450 |
|
|
[考研] 0703一志愿211 285分求調(diào)劑 +5 | ly3471z 2026-03-13 | 5/250 |
|
|
[考研] 0703化學(xué)調(diào)劑,求各位老師收留 +8 | 秋有木北 2026-03-14 | 8/400 |
|
|
[考研] 材料與化工一志愿南昌大學(xué)327求調(diào)劑推薦 +7 | Ncdx123456 2026-03-13 | 8/400 |
|
|
[考研] 0856求調(diào)劑 +3 | 劉夢微 2026-03-15 | 3/150 |
|
|
[考研] 331求調(diào)劑(0703有機化學(xué) +5 | ZY-05 2026-03-13 | 6/300 |
|
|
[考研] 【考研調(diào)劑求收留】 +3 | Ceciilia 2026-03-11 | 3/150 |
|
|
[考研] 301求調(diào)劑 +6 | Liyouyumairs 2026-03-11 | 6/300 |
|
|
[考研] 307求調(diào)劑 +5 | 超級伊昂大王 2026-03-12 | 5/250 |
|
|
[考研] 308求調(diào)劑 +3 | 是Lupa啊 2026-03-12 | 3/150 |
|