亚洲色影视在线播放_国产一区+欧美+综合_久久精品少妇视频_制服丝袜国产网站

學(xué)習(xí)方法

學(xué)習(xí)方法多核診斷題

時(shí)間:2022-10-06 11:36:16 學(xué)習(xí)方法 我要投稿
  • 相關(guān)推薦

學(xué)習(xí)方法多核診斷題

  學(xué)習(xí)方法多核診斷題

  一、請(qǐng)仔細(xì)閱讀每一道題,將題目中所講述的內(nèi)容同自己的實(shí)際情況相對(duì)照,看看符合程度如何,并按照以下評(píng)定標(biāo)準(zhǔn)評(píng)定。

學(xué)習(xí)方法多核診斷題

  A=完全符合自己的情況 B=大體上符合自己的情況 C=有一些符合自己的情況D=完全不符合自己的情況

  1、上課時(shí),我頭腦里往往會(huì)想些別的事,以致于老師講的許多內(nèi)容我都似乎沒有聽到。

  2、上課時(shí)我總是聚精會(huì)神地聽老師的講解。

  3、某些主要的學(xué)科或一門學(xué)科中我認(rèn)為特別難學(xué)的或特別重要的章節(jié),我總爭(zhēng)取預(yù)習(xí)(在課前或晚上)。

  4、我的記憶力還不錯(cuò),背誦一篇課文 或記住學(xué)習(xí)的東西對(duì)我來(lái)說(shuō)不是太難的事。

  5、閱讀課本或其他讀物時(shí)我很少用紅藍(lán)筆或其他筆畫線做記號(hào)。

  6、在寒暑假期間,我常常要制定一個(gè)學(xué)習(xí)計(jì)劃并努力按照計(jì)劃去學(xué)點(diǎn)新知識(shí) 。

  7、要背誦課文時(shí),我常常在誦讀幾遍之后就開始試背,然后再打開書誦讀幾遍,再試背 ,也就是讓誦讀和背誦交替進(jìn)行。

  8、作業(yè)中有些不好解答的題目,我總是自己盡力想辦法解答,不到萬(wàn)不得已,不去問老師和同學(xué)。

  9、我常常把一些我認(rèn)為寫的好的文章反復(fù)誦讀。

  10、學(xué)習(xí)時(shí),我時(shí)常把教材內(nèi)容分解為若干內(nèi)容或若干知識(shí)點(diǎn)。

  11、考試后全班最好的成績(jī)是多少分、是誰(shuí),我總是最感興趣。

  12、我常常由于能有條理的扼要的回答老師的提問而受表?yè)P(yáng)。

  13、上課或自己復(fù)習(xí)功課時(shí),我常常覺得時(shí)間過得很慢。

  14、學(xué)習(xí)時(shí),我不僅能夠弄清楚各個(gè)部分各個(gè)要點(diǎn)的意思,而且能較快的弄清楚各個(gè)部分各個(gè)要點(diǎn)之間的聯(lián)系和關(guān)系。

  15、在課堂上,老師呈示的掛圖、模型、標(biāo)本或進(jìn)行的演示實(shí)驗(yàn),我總是爭(zhēng)取看得清清楚楚,弄明白他說(shuō)明什么問題或可以得出什么結(jié)論。

  16、語(yǔ)文課本中的課文,我很少去反復(fù)誦讀,我認(rèn)為只要會(huì)解釋,懂得大意,做做作業(yè)就行。

  17、我在閱讀報(bào)紙或其他課外讀物時(shí),要出聲或默默地一個(gè)字一個(gè)字的讀下去,所以速度比較慢。

  18、上課時(shí),我盡力想象老師所講的內(nèi)容,也就是說(shuō),如果有可能的話,我就把老師所講的內(nèi)容變成形象在頭腦中顯現(xiàn)出來(lái)。

  19、做作業(yè)時(shí)碰到難題我常常找其他人幫助解決,以免自己花太多的時(shí)間去琢磨。

  20、雖然我重理解,不愛死記課本中的字句,但對(duì)于一些關(guān)鍵性的問題和公式,我還是 努力記住記熟。

  21、做問答題時(shí),我往往心里覺得都理解了,可是動(dòng)筆去寫又寫不好。

  22、寫文章或做問答題時(shí),我常常要先列出大綱或要點(diǎn),然后才下筆去寫。

  23、閱讀一篇文章或課文時(shí),我能迅速的抓住各段的段落大意和全篇的中心思想。

  24、我盡量作到當(dāng)天的功課當(dāng)天就進(jìn)行復(fù)習(xí)和寫作業(yè)。

  25、我重視平時(shí)的復(fù)習(xí),考試前夕倒不怎么緊張,有時(shí)反而出去玩一玩,讓頭腦休息休息。

  26、我喜歡獨(dú)立學(xué)習(xí)獨(dú)立思考,但遇到問題時(shí),我也喜歡和同學(xué)一起討論。

  27、聽老師講解知識(shí)時(shí),我自己往往還聯(lián)想起于此相關(guān)的一些知識(shí)或事例。

  28、讀物理化學(xué)時(shí),我很重視書上說(shuō)的各種實(shí)驗(yàn),盡力想象實(shí)驗(yàn)進(jìn)行的真實(shí)情景。

  29、上課時(shí),有時(shí)老師要講的內(nèi)容還沒有講完,我就知道他要說(shuō)什么或要做出什么結(jié)論。

  30、學(xué)習(xí)時(shí),我經(jīng)常把新材料和已有的知識(shí)經(jīng)驗(yàn)聯(lián)系起來(lái)。

  31、學(xué)習(xí)比較抽象的材料時(shí),我總是努力聯(lián)系實(shí)際,或舉出一些具體的例子去說(shuō)明它。

  32、讀書時(shí)用筆畫線做記號(hào)是一件很困難的事,因?yàn)槲彝植磺迥男┑胤皆摦,哪些地方不該畫?/p>

  33、聽課時(shí),我往往把不了解的問題或聯(lián)想起來(lái)的問題記下,以便課后進(jìn)一步思考、弄清。

  34、老師布置的作業(yè)我總是努力按時(shí)完成。

  35、由于種種原因,我很難每天在固定的時(shí)間開始做功課。

  36、我能夠把詳細(xì)的教材縮寫成提綱,必要時(shí),我又能根據(jù)提綱進(jìn)行發(fā)揮,寫出詳細(xì)的內(nèi)容。

  37、上課時(shí),我專心聽講,緊緊抓住老師講解的線索,積極思考老師所講的內(nèi)容。

  38、學(xué)習(xí)理、化、生物、地理學(xué)科,我不單用頭腦想,只要可能,我總是動(dòng)手去試做一下。

  39、聽老師講課時(shí),我總喜歡動(dòng)筆記一些要點(diǎn)、綱要。

  40、學(xué)習(xí)時(shí),我不滿足于記一些公理、公式、定義、結(jié)論,我總是想方弄清楚它們是怎么得來(lái)的。

  41、在回答問題時(shí),我喜歡根據(jù)自己的理解,用自己的話去回答,很少硬背課本上的字句。

  42、我的書桌總是整理的整整齊齊,各種學(xué)習(xí)用品總是放在固定的位子。

  43、我喜歡把學(xué)到的知識(shí)用來(lái)解決或解釋生活上或課外活動(dòng)中碰到的問題。

  44、在上課或聽報(bào)告時(shí),我能夠把老師講的內(nèi)容扼要地、系統(tǒng)的記下來(lái)。

  45、考試時(shí),我總是先把考題看一下,把容易做的或得分多的題目先做了把難做的題目留到最后去想。

  46、在學(xué)習(xí)時(shí),我總是力求弄清教材中各部分、各要點(diǎn)之間的聯(lián)系或關(guān)系。

  47、在準(zhǔn)備考試時(shí),我常常先提出一些問題考自己,看看準(zhǔn)備是否充分了。

  48、我的學(xué)習(xí)用品隨便放,以致要用時(shí)常常要找好久。

  49、我每天總是在固定時(shí)間里復(fù)習(xí)功課,完成作業(yè)。

  50、在準(zhǔn)備考試時(shí),我常常根據(jù)教科書寫出各道復(fù)習(xí)題的答案要點(diǎn)。

  51、發(fā)回的作業(yè)或卷子,如果有做錯(cuò)的,我總要弄清楚為什么錯(cuò)了,怎樣做才對(duì)。

  52、在復(fù)習(xí)功課時(shí),我喜歡把詳盡的材料變成簡(jiǎn)要的提綱,以便更好的記住。

  53、我常常把學(xué)到的各種知識(shí)進(jìn)行比較,發(fā)現(xiàn)它們之間的異同和聯(lián)系。

  54、在閱讀報(bào)紙小說(shuō)或某些課外讀物時(shí),我不需要一個(gè)字一個(gè)字的讀,而是一個(gè)分句或一個(gè)整句的讀,所以速度比較快。

  55、復(fù)習(xí)功課時(shí),我常常把學(xué)過的知識(shí)列成表或畫成圖,借以揭示各種知識(shí)的區(qū)別和聯(lián)系。

  56、學(xué)過的各種知識(shí),我一般都能有條理有系統(tǒng)的保存在腦子里,所以,要用到某一概念或定理時(shí),我能很容易的找到它。

  57、我重視學(xué)習(xí)經(jīng)驗(yàn)的總結(jié),并時(shí)常和同學(xué)交流學(xué)習(xí)經(jīng)驗(yàn)。

  58、學(xué)習(xí)時(shí),我喜歡思考,即使很難理解的材料,我也總要想辦法把它徹底弄懂。

  59、我在動(dòng)手做作業(yè)之前,總是先把功課認(rèn)真的復(fù)習(xí)一遍,弄懂教材的內(nèi)容。

  60、我挺喜歡學(xué)習(xí),學(xué)習(xí)使我每天都在增長(zhǎng)知識(shí)、開闊眼界。

  二、下面有50道題,每道題有3個(gè)備選項(xiàng),請(qǐng)根據(jù)自己的實(shí)際情況選擇,每題只能選擇一種結(jié)果。

  A.較符合自己的情況 B.難回答 C.不符合自己的情況

  第一部分:學(xué)習(xí)方法

  1.喜歡用筆勾出過記下閱讀中不懂的地方。 A. B. C.

  2.經(jīng)常閱讀與自己學(xué)習(xí)無(wú)直接關(guān)系的書籍。 A. B. C.

  3.在觀察或思考時(shí),重視自己的看法。而且在遇到問題時(shí),對(duì)自己的看法很有信心。 A.

  B. C.

  4.在對(duì)老師將要講的課會(huì)做很充分的預(yù)習(xí),并且會(huì)預(yù)先做一些練習(xí)。 A. B. C.

  5.遇到問題,我喜歡和同學(xué)一起討論。 A. B. C.

  6.為更好地理解老師講的課程,我會(huì)對(duì)筆記等內(nèi)容歸納成太哦問或圖表。 A. B. C.

  7.聽老師講解問題時(shí),眼睛注視著老師。 A. B. C.

  8.我喜歡利用參考書和習(xí)題集。 A. B. C.

  9.對(duì)于學(xué)習(xí)中的要點(diǎn),我會(huì)很注意歸納并寫出來(lái)。 A. B. C.

  10.我不經(jīng)常查閱字典、手冊(cè)等工具書。 A. B. C.

  11.我對(duì)作業(yè)和考試中的錯(cuò)誤會(huì)進(jìn)行修改,并根據(jù)試卷分析自己錯(cuò)誤的原因。 A. B. C.

  12.我認(rèn)為重要的內(nèi)容,就格外注意聽講和理解。 A. B. C.

  13.閱讀中若有不懂的地方,非弄懂不可。 A. B. C.

  14.在學(xué)習(xí)的時(shí)候會(huì)經(jīng)常聯(lián)系其他學(xué)科內(nèi)容進(jìn)行學(xué)習(xí)。 A. B. C.

  15.在動(dòng)筆解題以前,先做全面的審題,有了設(shè)想后,才去解題。 A. B. C.

  16.閱讀中認(rèn)為重要的或需要記住的地方就劃上線或做上記號(hào)。 A. B. C.

  17.經(jīng)常向老師或他人請(qǐng)教不懂的問題。 A. B. C.

  18.喜歡討論學(xué)習(xí)中遇到的問題。 A. B. C.

  19.我很注意別人好的學(xué)習(xí)方法,并努力學(xué)會(huì)。 A. B. C.

  20.對(duì)需要記牢的公式、定理等反復(fù)進(jìn)行記憶。 A. B. C.

  21.經(jīng)常觀察實(shí)物或參考有關(guān)資料對(duì)其進(jìn)行學(xué)習(xí)。 A. B. C.

  22.聽課時(shí)做完整的筆記。 A. B. C.

  23.我有專門的錯(cuò)題本。 A. B. C.

  24.如果實(shí)在不能獨(dú)立解出習(xí)題,就看了答案再做。 A. B. C.

  25.我經(jīng)常制定學(xué)習(xí)計(jì)劃,但不一定按照計(jì)劃來(lái)做。 A. B. C.

  第二部分:應(yīng)試心理

  26.在重要考試的前幾天,我就坐立不安了。 A. B. C.

  27.我每天早上都會(huì)吃飯而且早餐很有營(yíng)養(yǎng)。 A. B. C.

  28.在考試前,我總感到苦惱。 A. B. C.

  29.在考試前,我感到煩躁,脾氣變壞。 A. B. C.

  30.在緊張的溫課期間,常會(huì)想到:這次考試要是得到低分?jǐn)?shù)怎么辦? A. B. C.

  31.越臨近考試,上課時(shí)我的注意力就越難集中。 A. B. C.

  32.一想到馬上就要考試了,參加任何文娛活動(dòng)都感到?jīng)]勁。 A. B. C.

  33.在考試前,我常做關(guān)于考試的夢(mèng)。 A. B. C.

  34.到了考試那天,我就不安起來(lái)。 A. B. C.

  35.當(dāng)聽到開始考試的鈴聲響了,我的心馬上緊張地急跳起來(lái)。 A. B. C.

  36.遇到重要考試,我的腦子就變得比平時(shí)遲鈍。 A. B. C.

  37.看到考試題目越多、越難,我就越感到不安。 A. B. C.

  38.一遇到很難的考試,我卻擔(dān)心自己會(huì)不及格。 A. B. C.

  39.在緊張的考試中,我卻會(huì)想些與考試武官的事情,注意力集中不起來(lái)。 A. B. C.

  40.在考試時(shí),我會(huì)緊張得連平時(shí)記得滾瓜爛熟的知識(shí)一點(diǎn)也回憶不起來(lái)。 A. B. C.

  41.考試中,我想上廁所的念頭比平時(shí)多些。 A. B. C.

  42.我對(duì)考試十分厭煩。 A. B. C.

  43.在考試時(shí),我緊張得手發(fā)僵,寫字不流暢。 A. B. C.

  44.考試時(shí),我經(jīng)常會(huì)看錯(cuò)題目。 A. B. C.

  45.在進(jìn)行重要的考試時(shí),我的頭就會(huì)痛起來(lái)。 A. B. C.

  46.發(fā)現(xiàn)剩下的時(shí)間來(lái)不及做完考題,我就急得手足無(wú)措,渾身大汗。 A. B. C.

  47.如果我考個(gè)不滿意的分?jǐn)?shù),就不想看卷子。 A. B. C.

  48.在考試后,經(jīng)常發(fā)展有的題目自己雖然懂卻沒答對(duì)。 A. B. C.

  49.在考試中,有時(shí)我會(huì)沉迷在空想之中,一時(shí)忘了自己是在考試。 A. B. C.

  50.要是不進(jìn)行考試,我就能學(xué)到更多的知識(shí)。 A. B. C.

  三、聽老師講課的時(shí)候,你所采取的方法、方式是:

  A、緊張地盯著黑板,認(rèn)真仔細(xì)地做筆記;

  B、只記重點(diǎn),課后再回想一遍;

  C、認(rèn)真地聽,適當(dāng)?shù)刈龉P記,疑難的地方做出標(biāo)記,課后再做系統(tǒng)地復(fù)習(xí);

  D、以“考前猜題”的心態(tài)聽課,抓住老師反復(fù)強(qiáng)調(diào)的內(nèi)容。

  四、每當(dāng)在課堂上教師提出問題時(shí),你一般的做法是:

  A、只要懂的就舉手回答;

  B、即使懂也不敢舉手回答;

  C、不僅不愿舉手回答問題,即使被老師提問到了,有時(shí)也不愿回答問題;

  D、對(duì)于老師所提的問題,大多數(shù)都不懂。

  五、學(xué)生做作業(yè)的態(tài)度是:

  A、比較歸類,將零星的知識(shí)納入自己的知識(shí)體系之中,并尋求一題多解的途徑;

  B、注意更正錯(cuò)題,對(duì)習(xí)題資料加以整理和保存,并圍繞中心做課外習(xí)題;

  C、只要完成作業(yè)就可以了;

  D、抄襲。

  六、學(xué)生是怎樣背記英語(yǔ)單詞的?

  A、依賴書寫的方法來(lái)記;

  B、用卡片來(lái)記;

  篇二:多核編程和并行運(yùn)算期末復(fù)習(xí)

  5題每題20分

  1.1)簡(jiǎn)述MPI 6個(gè)函數(shù)格式定義,作用,參數(shù)含義。

  MPI簡(jiǎn)介:消息傳遞接口的標(biāo)準(zhǔn),用于開發(fā)基于消息傳遞的并行程序,目的是為用戶提供一個(gè)實(shí)際可用的、可移植的、高效和靈活的消息傳遞接口庫(kù),能夠在PC Windows和所有主要的Unix工作站以及并行機(jī)上實(shí)現(xiàn)。MPI是一個(gè)庫(kù),不是一種語(yǔ)言,實(shí)現(xiàn)并行必須依托于某種語(yǔ)言:FORTRAN,C

  MPI主要函數(shù):

  MPI_Init,初始化函數(shù):MPI程序通過調(diào)用MPI_Init函數(shù)進(jìn)行MPI環(huán)境,并完成所有的初始化工作,這個(gè)函數(shù)通常是MPI程序的第一個(gè)函數(shù)調(diào)用。

  格式如下: int MPI_Init( int *argc, char ***argv )

  MPI_Finalize,結(jié)束函數(shù):MPI通過調(diào)用MPI_Finalize函數(shù)從MPI環(huán)境中退出,它是MPI程序的最后一個(gè)MPI函數(shù)調(diào)用,否則程序的執(zhí)行結(jié)果是不可預(yù)知的。

  格式如下: int MPI_Finalize(void) ;

  MPI_Comm_rank,獲取進(jìn)程的編號(hào):MPI程序通過MPI_Comm_Rank函數(shù)調(diào)用獲取當(dāng)前進(jìn)程在指定通信域中的編號(hào),有了該編號(hào),不同的進(jìn)程就可以將自身和其他進(jìn)程區(qū)分開來(lái),從而實(shí)現(xiàn)進(jìn)程間的并行和合作。

  格式如下:nt MPI_Comm_rank(MPI_Comm comm, int *rank)

  MPI_Comm_size,獲取指定通信域的進(jìn)程數(shù):MPI通過調(diào)用MPI_Comm_size函數(shù)獲取指定通信域的進(jìn)程個(gè)數(shù),進(jìn)程可根據(jù)它來(lái)確定自己應(yīng)該完成的任務(wù)比例。

  格式如下:int MPI_Comm_size(MPI_Comm comm, int *size)

  MPI_Send消息發(fā)送函數(shù):MPI_Send函數(shù)用于發(fā)送一個(gè)消息到目標(biāo)進(jìn)程。其格式如下:

  int MPI_Send( void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm_comm)

  buf : 消息發(fā)送的起始地址

  count :發(fā)送消息的數(shù)量

  datatype: 發(fā)送數(shù)據(jù)的類型

  dest: 標(biāo)識(shí)目標(biāo)進(jìn)程

  tag: 發(fā)送消息時(shí)打上的標(biāo)簽

  comm: 通信類型

  MPI_Recv,消息接收:MPI_Recv函數(shù)用于從指定進(jìn)程接收一個(gè)消息,格式如下:

  int MPI_Recv( void *buf, int count, MPI_Datatype datatype, int source, int tag, MPI_Comm, comm, MPI_Status *status )

  buf : 消息接收后存放地址

  count : 接收數(shù)量

  datatype : 接收數(shù)據(jù)類型

  source : 發(fā)送消息的進(jìn)程

  tag : 消息的標(biāo)簽

  comm : 通信類型

  status : 接收狀態(tài)

  1.2)舉例簡(jiǎn)單的應(yīng)用解釋如何通信。

  每個(gè)進(jìn)程會(huì)屬于一個(gè)或多個(gè)通信域。

  一個(gè)簡(jiǎn)單的例子

  /* simple.c */

  #include “mpi.h” /*MPI頭文件*/

  #include

  int main(argc, argv)

  int argc ;

  char **argv ;

  {

  int rank, size, tag = 1 ;

  int senddata, recvdata ;

  MPI_Status status ;

  MPI_Init( &argc, &argv ) ; /*MPI的初始化*/

  MPI_Comm_rank( MPI_COMM_WORLD, &rank ) ; /*該進(jìn)程的編號(hào) */

  MPI_Comm_size( MPI_COMM_WORLD, &size ); /* 總的進(jìn)程數(shù)目*/

  if ( rank == 0 ){

  int senddata, recvdata ;

  MPI_Status status ;

  MPI_Init( &argc, &argv ) ; /*MPI的初始化*/

  MPI_Comm_rank( MPI_COMM_WORLD, &rank ) ; /*該進(jìn)程的編號(hào) */

  MPI_Comm_size( MPI_COMM_WORLD, &size ); /* 總的進(jìn)程數(shù)目*/

  if ( rank == 0 ){

  senddata = 9999 ;

  MPI_Send( &senddata, 1, MPI_INT, 1, tag,

  MPI_COMM_WORLD ) ; /* 發(fā)送數(shù)據(jù)到進(jìn)

  程1 */

  }

  if ( rank == 1 ){

  MPI_Recv( &recvdata, 1, MPI_INT, 0, tag,

  MPI_COMM_WORLD, &status);

  /*從進(jìn)程0接收數(shù)據(jù)*/

  }

  MPI_Finalize() ; /*MPI的結(jié)束函數(shù)*/

  return (0) ;

  }

  另一個(gè)例子

  實(shí)現(xiàn) sum( a + b ),并且把求和結(jié)果打印出來(lái)。這里 a, b 都是n維空間的向量,并且每個(gè)元素都為整數(shù)。

  #include “mpi.h” /*MPI頭文件*/

  #include

  #include

  int main(argc, argv)

  int argc ;

  char **argv ;

  {

  int rank, size, i, tag = 1 ;

  int *a, *b, n;

  n = 100 ;

  a = (int*)malloc( sizeof( int ) * n ) ;

  b = (int*)malloc( sizeof( int ) * n ) ;

  for(i = 0 ; i < n ; i++){

  a[i] = 1 ;

  b[i] = 2 ;

  }

  MPI_Status status ;

  MPI_Init( &argc, &argv ) ; /*MPI的初始化*/

  MPI_Comm_size( MPI_COMM_WORLD, &size ); /* 總的進(jìn)程數(shù)目*/

  int nSize = n / size ;

  MPI_Comm_rank( MPI_COMM_WORLD, &rank ) ; /*該進(jìn)程的編號(hào) */

  if( rank != (size - 1) ){

  int sum = 0 ;

  for( i = 0 ; i < nSize ; i++ ){

  sum += a[i + rank * nSize ] + b[ i + rank * nSize ] ;

  }

  MPI_Send( &sum, 1, MPI_INT, (size-1), tag, MPI_COMM_WORLD ) ; /* 發(fā)送求和數(shù)據(jù)到進(jìn)程(size-1) */

  }else{

  int sum = 0, total = 0 ;

  for( i = (size - 1) * nSize ; i < n ; i++ ){

  sum += a[i] + b[i] ;

  }

  total += sum ;

  for( i = 0 ; i < (size - 1) ; i++ ){

  MPI_Recv( &sum, 1, MPI_INT, i, tag, MPI_COMM_WORLD, &status); /*從各個(gè)進(jìn)程接收部分求和數(shù)據(jù)*/

  total += sum ;

  }

  printf( "total = %d ", total ) ;

  }

  MPI_Finalize() ; /*MPI的結(jié)束函數(shù)*/

  return (0) ;

  }

  2.1)通過MPI如何實(shí)現(xiàn)2個(gè)矢量相加。

  /* simple.c */

  #include/*MPI頭文件*/

  #include

  #include

  int main(argc, argv)

  int argc ;

  char **argv ;

  {

  int rank, size, tag = 1 ;

  int *a, *b , n = 100 ;

  a = (int*)malloc( sizeof( int ) * n ) ;

  b = (int*)malloc( sizeof( int ) * n ) ;

  int i ;

  for( i = 0 ; i < n ; i++ ){

  a[i] = 1 ;

  b[i] = 2 ;

  }

  MPI_Status status ;

  MPI_Init( &argc, &argv ) ; /*MPI的初始化*/

  MPI_Comm_rank( MPI_COMM_WORLD, &rank ) ; /*該進(jìn)程的編號(hào) */

  MPI_Comm_size( MPI_COMM_WORLD, &size ); /* 總的進(jìn)程數(shù)目*/

  int nSize = n / size ;

  int sum ;

  if( rank < (size -1) ){

  sum = 0 ;

  for( i = 0 ; i < nSize ; i++ ){

  sum += a[i] + b[i] ;

  }

  }else{

  sum = 0 ;

  for( i = nSize * (size - 1) ; i < n ; i++ ){

  sum += a[i] + b[i] ;

  }

  }

  printf("cpu = %d, sum = %d ", rank, sum ) ;

  MPI_Finalize() ; /*MPI的結(jié)束函數(shù)*/

  return (0) ;

  }

  2.2)通過MPI如何實(shí)現(xiàn)2個(gè)矢量相乘。

  #include/*MPI頭文件*/

  #include

  #include

  int main(argc, argv)

  int argc ;

  char **argv ;

  {

  int rank, size;

  int n = 100 ;

  int i ;

  MPI_Status status ;

  MPI_Init( &argc, &argv ) ;

  MPI_Comm_size( MPI_COMM_WORLD, &size );

  int nSize = n / size ;

  MPI_Comm_rank( MPI_COMM_WORLD, &rank ) ;

  int *a, *b ;

  a = (int*)malloc( sizeof(int) * n ) ;

  b = (int*)malloc( sizeof(int) * n ) ;

  int( i = 0 ; i < n ; i++ ){

  a[i] = 1 ;

  b[i] = 2 ;

  }

  int tag = 1 ;

  if( rank != (size - 1) ){

  int sum = 0 ;

  for( i = 0 ; i < nSize ; i++ ){

  sum += a[rank * nSize + i]* b[rank * nSize + i];

  }

  MPI_Send( &sum, 1, MPI_INT, (size-1), tag, MPI_COMM_WORLD ) ; }else{

  int sum = 0, total = 0 ;

  for( i = (size - 1) * nSize ; i < n ; i++ ){

  sum += a[i] * b[i];

  }

  total += sum ;

  for( i = 0 ; i < (size - 1) ; i++ ){

  MPI_Recv( &sum, 1, MPI_INT, i, tag, MPI_COMM_WORLD, &status);

  total += sum ;

  }

  篇三:Matlab心得及學(xué)習(xí)方法

  Matlab心得及學(xué)習(xí)方法(不斷更新)

  發(fā)現(xiàn)現(xiàn)在很多人(找工作的或者讀博的)都想要學(xué)習(xí)或者正在學(xué)習(xí)Matlab,問我要怎么學(xué)習(xí)。其實(shí)我雖然寫Matlab代碼的經(jīng)驗(yàn)還算豐富,但是還不能說(shuō)是一個(gè)很好的Matlab編程人員,這里有一些心得,分享給大家希望對(duì)大家有所幫助。

  關(guān)于如何學(xué)習(xí)Matlab

  我的學(xué)習(xí)方法很簡(jiǎn)單:Matlab是練出來(lái)的,而不是看出來(lái)的。很多人問我有沒有比較好的Matlab教材,我說(shuō)隨便找一本吧,都可以。只要書里面有最基本的語(yǔ)法和命令,對(duì)于一個(gè)有編程基礎(chǔ)的人,Matlab可以在一個(gè)下午的時(shí)間內(nèi)學(xué)會(huì)。當(dāng)然,僅僅是學(xué)會(huì)。如果想要對(duì)Matlab比較得心應(yīng)手,那么最好的辦法就是練習(xí)。練習(xí)的素材很多,比如對(duì)于學(xué)經(jīng)濟(jì)學(xué)的,可以做一些simulation之類的,也可以試著把計(jì)量或者宏觀教材里面的一些算法寫寫出來(lái)。一開始可能很慢,但是當(dāng)你完成了一個(gè)比較大的project的時(shí)候,你的Matlab的功力將會(huì)有巨大的提升。

  當(dāng)然,在你寫程序之前,多讀一些別人寫的好的code是非常有幫助的。

  一些Matlab的經(jīng)驗(yàn)

  1、適當(dāng)了解一些數(shù)值計(jì)算、數(shù)值分析以及最優(yōu)化的理論

  用Matlab的無(wú)非是做數(shù)值計(jì)算或者最優(yōu)化,這也是Matlab的強(qiáng)項(xiàng),Matlab有足夠多的工具箱解決這些問題。但是在使用這些工具箱之前,應(yīng)該首先了解一些數(shù)值計(jì)算以及最優(yōu)化的理論。這一點(diǎn)在程序碰到問題或者計(jì)算結(jié)果不理想的時(shí)候尤為重要。很多時(shí)候結(jié)果不理想并不是自己的理論出了問題,而是盲目或者錯(cuò)誤使用Matlab的.工具箱而導(dǎo)致的。比如我曾經(jīng)做過一個(gè)單純形法的優(yōu)化程序,但是結(jié)果總是不理想,這個(gè)時(shí)候就要返回到單純形法具體是一種什么樣的算法來(lái)考慮這個(gè)問題,最后發(fā)現(xiàn)是由于目標(biāo)函數(shù)的某一部分十分平緩導(dǎo)致的。 當(dāng)然更重要的是如果你不理解理論,很多問題根本不知道如何處理。有個(gè)學(xué)化學(xué)同學(xué)就曾問我一個(gè)程序怎么寫,說(shuō)matlab肯定可以完成的。了解清楚之后才明白原來(lái)他想做的就是一個(gè)受限最小二乘。但是他不懂得什么是最小二乘(因?yàn)闆]怎么學(xué)過數(shù)學(xué)),當(dāng)然面對(duì)這個(gè)問題無(wú)從下手。

  2、理解Matlab中時(shí)間空間的轉(zhuǎn)化

  這個(gè)問題沒有人強(qiáng)調(diào),但我覺著蠻重要。這里的關(guān)鍵點(diǎn)其實(shí)很簡(jiǎn)單,就是盡量減少重復(fù)計(jì)算,哪怕是多項(xiàng)式復(fù)雜度以內(nèi)的計(jì)算。重復(fù)計(jì)算的內(nèi)容應(yīng)該適時(shí)保存到內(nèi)存中,以后直接調(diào)用。一個(gè)程序可能會(huì)重復(fù)運(yùn)行幾千次幾萬(wàn)次,一點(diǎn)點(diǎn)的浪費(fèi)時(shí)間都可能被放大很多?臻g(內(nèi)存)我們是可以擴(kuò)充的,但是時(shí)間不是,所以絕大多數(shù)時(shí)候我們需要放棄空間,獲得時(shí)間上的迅捷。

  這里有個(gè)故事,曾經(jīng)在某技術(shù)論壇上看到的,說(shuō)騰訊公司早期做的QQ實(shí)在太過垃圾,他們追蹤過QQ的行為,發(fā)現(xiàn)在幾分鐘時(shí)間里重復(fù)調(diào)用了某同一注冊(cè)表項(xiàng)幾百次。顯然注冊(cè)表的內(nèi)容所占內(nèi)存是有限的,甚至是可以忽略的,但是每次讀注冊(cè)表項(xiàng)可能都要讀硬盤,這里的時(shí)間花費(fèi)是很大的,為什么不把這項(xiàng)內(nèi)容直接存儲(chǔ)在內(nèi)存里呢?

  一個(gè)比較經(jīng)典的例子:考慮交換兩個(gè)變量a,b的值,有如下寫法:

  c=a;

  a=b;

  b=c;

  或者:

  a=a+b;

  b=a-b;

  a=a-b;

  第一種寫法多占了內(nèi)存,因?yàn)樾枰嗌暾?qǐng)一個(gè)c的內(nèi)存空間;第二種寫法節(jié)省了內(nèi)存空間,但是卻多了三次計(jì)算時(shí)間。請(qǐng)問哪種好?不一定,看你的時(shí)間空間的權(quán)衡。但是具體到這個(gè)例子來(lái)說(shuō),第二種是不推薦的,因?yàn)椋菏紫,第二種程序晦澀難懂,難以維護(hù),內(nèi)存不至于低到不能存儲(chǔ)一個(gè)變量;第二,如果兩個(gè)數(shù)字都特別特別大,計(jì)算a的時(shí)候會(huì)有溢出的危險(xiǎn)。

  3、形成良好的編程規(guī)范

  我想幾乎所有學(xué)過編程的人都被這樣告誡過。比較好的是Matlab自帶的編輯器本身就可以自動(dòng)縮進(jìn)之類的,程序十分易讀。但是還有一些東西是有些人不曾注意過的。比如變量名,一個(gè)好的變量名一定要有清晰的含義,讓人一看就能明白,否則日后的修改維護(hù)必然要花費(fèi)更多的時(shí)間去識(shí)別這些變量名的含義。這一點(diǎn)可以參考http://coolshell.cn/articles/1038.html http://coolshell.cn/articles/1990.html 這里面詳細(xì)列舉了很多命名的規(guī)則和技巧。 還有一點(diǎn)就是注釋。好的注釋可以極大的方便以后的維護(hù)以及代碼的重用。我的習(xí)慣是在代碼的開頭都要交代這個(gè)代碼是干什么用的,怎么用等等。在程序中一個(gè)大塊的功能模塊也要加上注釋告訴大家你在做什么。如果某個(gè)語(yǔ)句很復(fù)雜,可以加注釋告訴大家這句到底在干什么。這樣寫出來(lái)的程序維護(hù)起來(lái)或者他人使用起來(lái)將非常方便。

  另有一篇十分有趣的文章分享給大家:如何寫出無(wú)法維護(hù)的代碼 http://coolshell.cn/articles/4758.html

  4、如果拿到一個(gè)任務(wù)而又沒有思路,試著把問題分解或者轉(zhuǎn)化。

  之所以叫做程序,是因?yàn)槲覀兯龅墓ぷ骶褪歉嬖V計(jì)算機(jī)要做什么,該怎么做。所以如果你的腦子里根本不知道這個(gè)問題該怎么解決的時(shí)候,你就更加無(wú)法寫出程序。找思路的一般方法是分解問題,然后逐個(gè)擊破。或者在特殊情況下,需要把問題轉(zhuǎn)化。

  分解與轉(zhuǎn)化的第一步是把實(shí)際問題轉(zhuǎn)化為數(shù)學(xué)問題。這一步可能已經(jīng)做好,可能沒有。如果沒有,那么這一步就叫做數(shù)學(xué)建模。絕大多數(shù)問題都可以轉(zhuǎn)化為兩類問題,一類是最優(yōu)化問題,一類是求解問題。如果你能知道你在最優(yōu)化什么東西或者求解什么東西,問題就簡(jiǎn)單很多。

  轉(zhuǎn)化問題的第二步是把數(shù)學(xué)問題轉(zhuǎn)化為程序(不是代碼)。也就是說(shuō),你要想清楚這個(gè)問題(最優(yōu)化或者求解)是怎么一步步實(shí)現(xiàn)的。 這個(gè)過程可能很簡(jiǎn)單,有現(xiàn)成的方法用,也有可能很復(fù)雜,還可能涉及多種轉(zhuǎn)化。比如我們經(jīng)濟(jì)學(xué)中遇到的求解動(dòng)態(tài)最優(yōu)化,經(jīng)常要把連續(xù)的東西離散化(離散化很重要。。

  最后,考慮怎么把你的程序轉(zhuǎn)化為真實(shí)的代碼。這一步說(shuō)簡(jiǎn)單很簡(jiǎn)單,因?yàn)橹灰阕龊昧艘陨蟽刹,這一步是順其自然的。但是當(dāng)然會(huì)有很多小的細(xì)節(jié),也許這就是所謂的technique。但是我還是覺著,學(xué)習(xí)編程不是學(xué)習(xí)technique,而是學(xué)習(xí)第二步,雖然本文關(guān)注的更多的是technique。

  5、如果程序出錯(cuò)了,而又查不到語(yǔ)法的錯(cuò)誤,使用斷點(diǎn)

  編程中最可怕的錯(cuò)誤不是語(yǔ)法,而是邏輯錯(cuò)誤,因?yàn)檫壿嬪e(cuò)誤是最難debug的。一個(gè)很有用的工具就是斷點(diǎn)。

  斷點(diǎn)應(yīng)該是debug中最常用的工具。Matlab的編輯器中可以很方便的實(shí)現(xiàn)(在每一行的開頭有個(gè)小橫線,單擊一下變成紅點(diǎn),然后就設(shè)置成斷點(diǎn)了)。當(dāng)程序運(yùn)行到斷點(diǎn)之后就會(huì)中斷,然后會(huì)在主窗口顯示K>>的標(biāo)志,這時(shí)你可以輸入命令查看內(nèi)存情況等等。一步步的跟蹤,直到變量值跟你的預(yù)期不一樣,這時(shí)你就可以很容易的找到錯(cuò)誤在什么地方發(fā)生了。

  6、如果試了很多辦法還是不能找到錯(cuò)誤,那就嘗試一下終極debug方法,適用于各種語(yǔ)言 真的有這么強(qiáng)大的debug方法么?有的!這個(gè)方法很簡(jiǎn)單,離開你的電腦,找一個(gè)人,隨便什么人,說(shuō)一遍你的程序的思路,說(shuō)的越具體越好。多數(shù)情況下,你在闡述的過程中,程序的錯(cuò)誤就會(huì)突然從你的大腦里冒出來(lái)了。

  如果實(shí)在找不到就找大街上的乞討人員吧,給他們十塊錢他們應(yīng)該很樂意聽你說(shuō)的,并且說(shuō)不定還可以給你一些很好的建議,然后告訴你,十年前他們也在做同樣的工作。

  7、理解通用與專用之間的權(quán)衡

  你可以寫一個(gè)通用的程序,也可以寫一個(gè)專用的程序,這需要你的權(quán)衡。一般情況下,專用的程序你可以研究清楚其結(jié)構(gòu),從而找到最快的算法,而通用的程序則不能達(dá)到這點(diǎn),因?yàn)橐紤]到很多很多特殊的情況。

  比如給定一個(gè)分布函數(shù)F(x),我想要寫一個(gè)隨機(jī)數(shù)生成器是的生成的隨機(jī)數(shù)的分布函數(shù)為F(x). 方法很簡(jiǎn)單,先生成一個(gè)均勻分布的隨機(jī)數(shù)a,是的a~U(0,1),然后計(jì)算F的反函數(shù)在a處的值。很多人可能會(huì)用fsolve之類的辦法,但是這不是最快的。如果我們已經(jīng)知道F是一個(gè)單增的函數(shù),那么這個(gè)解有且僅有一個(gè)。這樣我們就可以直接使用一些算法去解決他。 類似的問題還有如果我們知道導(dǎo)數(shù),那么求最優(yōu)化最好的方法也許是牛頓法,而不是用單純形法去尋找,那樣既不精確又慢

  但是通用的程序也是非常吸引人的,因?yàn)榭梢源蟠蟮臏p少開發(fā)的時(shí)間,如果計(jì)算時(shí)間不是首要考慮的問題的話。

  8、盡量使你的程序更通用

  也就是說(shuō),盡量使你的代碼能被重復(fù)利用。這樣可以節(jié)省很多寫程序的時(shí)間,而你發(fā)現(xiàn)這些東西都是你寫過很多遍的。

  很多人沒有一個(gè)寫通用程序的好的習(xí)慣。比如說(shuō)下面一個(gè)最簡(jiǎn)單的例子:

  x=randn(10000,1);

  y2=zeros(10000 ,1);

  for i=1: 10000

  y2(i)=exp(x(i));

  end

  這樣寫的問題在于,如果你的x需要改變了,比如改成100維,那么你需要修改不止一次。但是如果你寫成這樣:

  x=randn(10000,1);

  y2=zeros(length(x),1);

  for i=1:length(x)

  y2(i)=exp(x(i));

  end

  那么是不是僅僅修改一個(gè)地方就可以了呢?

  9、盡量使你的程序模塊化

  把需要重復(fù)進(jìn)行的程序盡量寫成函數(shù),便于修改和維護(hù)。寫成函數(shù)的好處是使你在同一時(shí)間只關(guān)注一個(gè)問題,但是如果你把所有的東西都放在一個(gè)程序里,你可能需要考慮的問題就不止一個(gè)了。

  10、在使用變量之前先進(jìn)行聲明,盡量少使用矩陣變維操作

  這不是matlab必須的,但是是十分建議的。比如如果你寫下了如下的代碼:

  for i=1:10000

  y=y+i;

  end

  你沒有聲明y,而是直接試用了它,很可能會(huì)出現(xiàn)問題。比如你的內(nèi)存里之前已經(jīng)有y,y=10,那么你的計(jì)算結(jié)果是不是會(huì)大10呢?更有可能的情況是你之前已經(jīng)運(yùn)行了這個(gè)程序,但是你的開頭沒有clear(開頭使用clear也是很好的習(xí)慣)

  此外,盡量少使用矩陣變維的操作。因?yàn)槊看温暶髯兞炕蛘呔仃囎兙S,Matlab總要申請(qǐng)一個(gè)新內(nèi)存空間,頻繁進(jìn)行變維操作會(huì)很快侵蝕掉你的內(nèi)存空間,這點(diǎn)在大矩陣的時(shí)候特別重要。

  11、計(jì)算盡量多的使用矩陣,盡量少的使用循環(huán)

  循環(huán)的好處是比較容易想,比較容易些,但是也比較難以維護(hù),最重要的,速度很慢。 比如下面一個(gè)例子:

  x=randn(10000,1);

  tic

  y1=exp(x);

  toc

  tic

  y2=zeros(length(x),1);

  for i=1:length(x)

  y2(i)=exp(x(i));

  end

  toc

  輸出結(jié)果:

  Elapsed time is 0.000287 seconds.

  Elapsed time is 0.000963 seconds.

  可見使用矩陣比使用循環(huán)快了三倍。

  12、如果進(jìn)行大量的重復(fù)操作,可以考慮使用并行計(jì)算

  比如在做Monte Carlo模擬的時(shí)候,你的每次循環(huán)都是獨(dú)立的(每次循環(huán)不影響下一次循環(huán)的結(jié)果),那么可以考慮使用并行處理,如果你的電腦是多核的。

  首先,你要用以下命令創(chuàng)建幾個(gè)并行的進(jìn)程:

  matlabpool local 4

  其中4是你的計(jì)算機(jī)核心數(shù)。然后,使用parfor代替for循環(huán)就可以了。但是使用這個(gè)命令一定要注意使用前提和不要每次循環(huán)訪問同樣的可變的變量。

  13、盡量少的涉及符號(hào)運(yùn)算

  Matlab最強(qiáng)大的是其數(shù)值運(yùn)算能力,而不是符號(hào)運(yùn)算。如果你需要處理諸如求導(dǎo)求極限之類的工作,用Mathematica或者M(jìn)aple。特別是盡量少的使用符號(hào)定義的函數(shù),比如用fsolve之類的,如果只是計(jì)算一次兩次非常方便,但是如果進(jìn)行大量重復(fù)的此類運(yùn)算,其速度很慢,最好研究清楚要解的函數(shù)的性質(zhì),用專門的算法進(jìn)行處理,matlab大多數(shù)時(shí)候也有專門的工具箱。

  篇四:多核

  多核的概念是什么?多CPU是多核嗎?機(jī)群是多核嗎?

  多核是片上多處理器的的俗稱,是指將多個(gè)處理器集成到一個(gè)芯片中的技術(shù)。

  多CPU不是多核,機(jī)群也不是多核。

  并行計(jì)算機(jī)的概念是什么?

  1.由一組處理單元組成。

  2.各處理單元之間相互通信與協(xié)作。

  3.以更快的速度共同完成一項(xiàng)大規(guī)模計(jì)算任務(wù)。

  弗林將計(jì)算機(jī)分為哪幾類?馮·諾依曼計(jì)算機(jī)機(jī)屬于哪類?支持SSE指令集的Intel處理器屬于哪類?多核、多CPU、機(jī)群都屬于哪類?

  SISD:單指令單數(shù)據(jù)流

  SIMD:?jiǎn)沃噶疃鄶?shù)據(jù)流

  MISD:多指令單數(shù)據(jù)流

  MIMD:多指令多數(shù)據(jù)流

  馮·諾依曼計(jì)算機(jī)機(jī)屬于

  支持SSE指令集的Intel處理器SIMD

  多核,多CPU,機(jī)群屬于MIMD。

  多核、多處理器系統(tǒng)與多計(jì)算機(jī)系統(tǒng)有什么區(qū)別?

  多核、多處理器系統(tǒng):多個(gè)核心共享內(nèi)存。

  多計(jì)算機(jī)系統(tǒng):每個(gè)節(jié)點(diǎn)有獨(dú)立內(nèi)存。

  多核與多處理器的區(qū)別:

  1.多核之間可能共享cache,多處理器間不共享。

  2.多核間通過片上總線相連,多處理器間通過系統(tǒng)總線相連。

  3.多核在尺寸功耗方面具有優(yōu)勢(shì),兩者編程優(yōu)化也有所不同。

  按地址組織模式的不同,當(dāng)前主流并行計(jì)算機(jī)可以分為哪幾類,各有什么特點(diǎn)?SMP、DSM、MPP、Cluster分別屬于哪類?

  1均勻訪存(共享存儲(chǔ)):所有核心平等訪存,時(shí)間相同。

  2.分布式共享存儲(chǔ)(DSM):每個(gè)節(jié)點(diǎn)有局部?jī)?nèi)存,內(nèi)存空間統(tǒng)一編制,每個(gè)節(jié)點(diǎn)可以高速訪問局部?jī)?nèi)存,低速訪問其他節(jié)點(diǎn)局部?jī)?nèi)存。

  3.分布式(局部)訪問:節(jié)點(diǎn)只能訪問局部?jī)?nèi)存,與其他節(jié)點(diǎn)傳遞信息通過消息完成。 SMP:(對(duì)稱多處理器)采用商品化的處理器,這些處理器通過總線或交叉開關(guān)連接到共享存儲(chǔ)器。每個(gè)處理器可等同地訪問共享存儲(chǔ)器、I/O設(shè)備和操作系統(tǒng)服務(wù)。共享節(jié)點(diǎn)稱為系統(tǒng)瓶頸,擴(kuò)展性有限。屬于均勻訪存類。

  DSM:(分布共享存儲(chǔ)并行機(jī))存儲(chǔ)器物理上分布在不同的節(jié)點(diǎn)中,但通過硬件和軟件方法實(shí)現(xiàn)內(nèi)存的統(tǒng)一編制。屬于分布式共享存儲(chǔ)。

  MPP:(大規(guī)模并行機(jī))處理節(jié)點(diǎn)采用商品微處理器,能擴(kuò)展至上萬(wàn)個(gè)處理器。采用高通信帶寬和低延遲的互聯(lián)網(wǎng)絡(luò)。各個(gè)進(jìn)程有自己的地址空間,進(jìn)程間通信消息傳遞相互作用。由分布式操作系統(tǒng)管理。屬于分布式(局部)訪問。

  Cluster:(機(jī)群)每個(gè)節(jié)點(diǎn)是一個(gè)完整的計(jì)算機(jī),有自己的磁盤和操作系統(tǒng)。通過商用互連網(wǎng)絡(luò)連接。運(yùn)行分布式程序,完成并行計(jì)算。屬于分布式(局部)訪問。

  指令級(jí)并行有什么特點(diǎn)?

  有兩種技術(shù):流水線技術(shù)和多發(fā)射技術(shù)。

  流水線技術(shù):分解指令執(zhí)行步驟,讓前后指令的步驟重疊執(zhí)行;后續(xù)指令可以超越前面的指令執(zhí)行。

  多發(fā)射技術(shù):流水線上每個(gè)功能部件都能同時(shí)執(zhí)行多條指令。

  特點(diǎn):并行由同一控制器控制,主要由硬件和編譯器支持,對(duì)高級(jí)語(yǔ)言程序員可以保持透明。

  多核架構(gòu)的分類方法有兩種?每種下面有哪些分類?IBM的Cell處理器屬于何種架構(gòu)? 按核之間關(guān)系分類:同構(gòu);異構(gòu)

  按存儲(chǔ)結(jié)構(gòu)分:獨(dú)占cache;共享cache。

  IBM的Cell處理器屬于

  多核在硬件設(shè)計(jì)上面臨哪些問題?

  1.如何讓組織核心,設(shè)計(jì)架構(gòu),同構(gòu)?異構(gòu)?

  2.如何保證cache的一致性。

  3.如何滿足多核所需的總線帶寬。

  支持多核的操作系統(tǒng),有哪幾種任務(wù)調(diào)度方法,各有什么特點(diǎn)?

  1.主從模式:有一個(gè)核負(fù)責(zé)分配任務(wù),其他核執(zhí)行,主處理器稱為系統(tǒng)瓶頸。

  2.共享隊(duì)列:進(jìn)程在核間切換嚴(yán)重降低性能,進(jìn)程隊(duì)列需加鎖,造成等待。

  3.獨(dú)占隊(duì)列:負(fù)載有可能不均衡。

  什么是數(shù)據(jù)相關(guān)性?

  兩個(gè)操作(指令)訪問同一內(nèi)存單元,且其中至少有一個(gè)寫內(nèi)存操作。

  順序一致性對(duì)程序執(zhí)行順序的要求是什么?

  訪存操作先開始的先執(zhí)行,不論訪存指令是在哪個(gè)處理器上執(zhí)行的。

  弱一致性與順序一致性的區(qū)別是什么?釋放一致性與弱一致性的區(qū)別是什么?

  順序一致性:對(duì)所有的訪存操作要求順序

  弱一致性:有的訪存操作可以亂序,但同步操作下,必須要求順序。(引用同步操作實(shí)現(xiàn)獨(dú)占共享單元)

  釋放一致性:將同步操作分為獲取和釋放兩種。獲取操作時(shí),需要將先前對(duì)內(nèi)存的改寫完成;釋放操作時(shí),應(yīng)保證對(duì)共享單元的改寫能夠徹底完成。

  在Cache一致性協(xié)議中,當(dāng)發(fā)生改寫時(shí),有哪兩種處理方式,各有什么優(yōu)缺點(diǎn)?

  1.寫使無(wú)效

  優(yōu)點(diǎn):改寫數(shù)據(jù)的處理器可以獨(dú)占該數(shù)據(jù),直到其他處理器改寫該數(shù)據(jù)。

  缺點(diǎn):無(wú)效cache會(huì)引起cache不命中,如果多個(gè)處理器頻繁改寫同一數(shù)據(jù),會(huì)造成cache不命中頻繁發(fā)生(乒乓效應(yīng))。

  2.寫更新

  優(yōu)點(diǎn):cache中的備份一直保持有效。

  缺點(diǎn):數(shù)據(jù)廣播需要帶寬較高。

  進(jìn)程有哪些要素?線程之間共享了哪些進(jìn)程的要素?

  1.獨(dú)立的指令流與數(shù)據(jù)

  2.硬件上下文:程序運(yùn)行時(shí)寄存器的狀態(tài)。

  3.地址空間:可以由進(jìn)程訪問的線性(虛擬)地址的集合

  4.資源:文件,設(shè)備,中斷

  獨(dú)占指令流和硬件上下文;地址空間和資源

  為什么進(jìn)程切換的效率低于線程切換?

  進(jìn)程切換:更易引起cache和tlb的失效。(tlb頁(yè)表緩存)

  線程切換:不易引起以上兩個(gè)問題,共享進(jìn)程地址空間,只修改寄存器和硬件上下文。

  簡(jiǎn)述使用系統(tǒng)API創(chuàng)建線程的步驟。Win32下有哪幾種方式可以結(jié)束線程?

  1.聲明線程回調(diào)函數(shù)

  2.通過API函數(shù)向系統(tǒng)注冊(cè)回調(diào)函數(shù)

  3.操作系統(tǒng)調(diào)用回調(diào)函數(shù)執(zhí)行

  結(jié)束線程:

  1.主動(dòng)退出

  2.Main函數(shù)退出

  3.強(qiáng)制退出(調(diào)用系統(tǒng)函數(shù)退出其他線程)

  在Win32下有哪幾種典型同步工具,各有什么特點(diǎn)?

  Linux下的同步工具讀寫鎖有什么特點(diǎn)?

  什么是線程安全性?如何判斷函數(shù)的線程安全性?

  阿姆達(dá)爾定律的主要內(nèi)涵是什么?

  如何解決多線程負(fù)載不均衡的問題?

  什么是乒乓效應(yīng),如何解決?

  篇五:fluent6.3多核調(diào)用方法

  如果是FLUENT 6.3 之類的版本一定要按下面命令操作,否則運(yùn)算時(shí)僅僅相當(dāng)于單核運(yùn)算,F(xiàn)在多核機(jī)器已經(jīng)非常普及,所以掌握多核并行運(yùn)行方法非常必要。

  開始->運(yùn)行 里輸入: X:Fluent.Inc tbin tx86fluent.exe 3d -t2 后面的"-t2"表示雙核、四核用"-t4",依此類推

  本機(jī)輸入后,界面顯示:

  Loading "D:Fluent.Incfluent6.3.26libfl114.dmp"

  Done.

  Warning: -path flag not specified.

  Defaulting to -pathD:Fluent.Inc

  Welcome to Fluent 6.3.26

  Copyright 2006 Fluent Inc.

  All Rights Reserved

  Done.

  Loading "D:Fluent.Incfluent6.3.26libflprim1119.dmp"

  Host spawning Node 0 on machine "TONY" (ntx86).

  You can click CTRL+C to stop the startup process!

  ------------------------------------------------------------------------------ ID Comm. Hostname

  O.S. PID Mach ID HW ID Name

  ------------------------------------------------------------------------------

  host net TONY Windows-32 3660 0 1844 Fluent Host

  n1 mpich2 TONY Windows-32 3448 0 1 Fluent Node

  n0* mpich2 TONY Windows-32 4028 0 0 Fluent Node ------------------------------------------------------------------------------

  如果是AMD處理器在XP環(huán)境下運(yùn)行,請(qǐng)不要忘記給系統(tǒng)打上多核補(bǔ)丁以提高運(yùn)算效率。

【學(xué)習(xí)方法多核診斷題】相關(guān)文章:

學(xué)校診斷報(bào)告11-14

社區(qū)診斷報(bào)告12-11

開放性應(yīng)用題的學(xué)習(xí)方法總結(jié)01-23

教學(xué)診斷與改進(jìn)方案10-07

辦理醫(yī)療診斷證明范文06-24

疾病診斷證明書11-11

診斷證明書怎么寫11-11

臨床醫(yī)學(xué)檢測(cè)及診斷的論文10-08

對(duì)遺傳學(xué)診斷的分析論文10-10

人力資源診斷分析報(bào)告10-30