¦¹¥~¡A§Ṳ́]¥i¥HɥΦh®Ö¹q¸£ªº¥¦æ³B²z¡A¨Ó¥[³tµ{¦¡½Xªº°õ¦æ¡C±ý¹F¨ì¦¹¥\¯à¡A§Aªº¹q¸£¥²¶·¨ã³Æ¦h®Ö¤ß¡A¦Ó¥B§Aªº¨t²Î¤]¥²¶·¥ý¦w¸Ë¥¦æ³B²z¤u¨ã½c¡]Parallel Processing Toolbox¡A²ºÙ PCT¡^¡CY¨âªÌݳơA¥[³tpºâªº¤èªk¦p¤U¡G
- ¦b¨Ï¥Î¥¦æ³B²z«ü¥O¤§«e¡A¤U¹F¡umatlabpool local n¡v«ü¥O¡A¨ä¤¤ n ¥Nªí®Ö¤ß¼Æ¥Ø¡A¨Ò¦p 4¡]¥|®Ö¤ß¹q¸£¡^©Î 8¡]¤K®Ö¤ß¹q¸£¡^¡C
- ¨Ï¥Î parfor «ü¥O¨Ó¨ú¥Nì¨Óªº for °j°é¡A¨ä«ü¥O®æ¦¡¦p¤U¡G
parfor loopvar = initval:endval, statements, end
- ³Ì«á¤U¹F¡umatlabpool close¡v¨ÓÃö³¬¥¦æ³B²zªº¥\¯à¡C
§ÚÌ´N¥i¥H¨Ó¹Á¸Õ¤@Ó²³æªº½d¨Ò¡G
¦b³oÓ½d¨Ò¤¤¡A§Ú̲£¥Í¤F 1000 Ó 100x100 ªº¶Ã¼Æ¯x°}¡AµM«ápºâ¨C¤@Ó¯x°}ªº¯S¼xÈ¡]¦@¦³ 100Ó¡^ªº³Ì¤jÈ¡AY¨Ï¥Î¥¦æ³B²z±M¥Îªº parfor °j°é¡Apºâ³t«×¬O¤@¯ë for °j°éªº 3 ¿¥ª¥k¡C¡]§Úªº¹q¸£¬O¥|®Ö¤ß¡C¡^
¦pªG§A¦b°õ¦æ MATLAB ®É¡A¤@ÃäÁÙnÁÙnקï½×¤å¡A¦¹®ÉY MATLAB ¦û¥Î¤F©Ò¦³ªº¦h®Ö CPU¡A¥i¯à·|¾ÉP¹q¸£¾ãÓºC¤U¨Ó¡AÅý§AµLªk¶i¦æ¤å®Ñ½s¿è¡C¦]¦¹ parfor ´£¨Ñ¥t¤@ӰѼơA¥i¥H«ü©w©Ò¥Î¨ìªº¤u§@ªÌӼơA«ü¥O®æ¦¡¦p¤U¡G
parfor (loopvar = initval:endval, M), statements, end
¨ä¤¤ M §Y¬O©Ò¥Î¨ìªº®Ö¤ßӼơC¨Ò¦p¦b¤U¨Ò¤¤¡AÁöµM§Úªº¹q¸£¬O¥|®Ö¤ß¡A¦ý§Ú¥u¨Ï¥Î¨â®Ö¨Ó¶i¦æ parfor ªº¹Bºâ¡G
¥Ñ©ó¥u¥Î¨ì¨â®Ö¡A©Ò¥H¥[³t¿¼Æ±µªñ¨â¿¡C
¦b¨Ï¥Î parfor °j°é®É¡A¦³´XÂIn¯S§Oª`·N¡G
- ¦]¬°¨CÓ°j°é¥i¯à¦³¤£¦Pªº®Ö¤ß¦P®Épºâ¡A¦]¦¹°j°é¤§¶¡¤£¯à¦³¬Û¨Ì©Ê¡A§_«h·|³y¦¨¿ù»~ªºµ²ªG¡A³o¬O¯S§O»Ýnª`·N¤§³B¡C
- ¦b parfor °j°éªº°j°éÅܼƥ²¶·¬O¾ã¼Æ¡A¦Ó¥B¨C¦¸Åܤj´T«×³£¬O1¡A¥H¤U¬O´XÓ¤£²Å¦X³W©wªº½d¨Ò¡G
¤£¦X®æªº parfor ¥Îªk | »¡©ú
|
---|
parfor i = 1:2:25 | 1, 3, 5,... «D³sÄò¾ã¼Æ¡C
|
parfor i = -7.5:7.5 | -7.5, -6.5,... «D¾ã¼Æ¡C
|
A = [3 7 -2 6 4 -4 9 3 7]; parfor i = find(A>0) | µ²ªG¬O 1, 2, 4,...¡A«D³sÄò¾ã¼Æ¡C
|
parfor i = [5;6;7;8] | [5;6;7;8]¬O¤@Ó¦æ¦V¶q¡A¦Ó«D parfor ©Ò¶·nªº¦C¦V¶q¡C
|
PCT ¬O¤@Ó¥\¯à±j¤jªº¤u¨ã½c¡A¥Ø«e¤]¥i¥H¤ä´©¦h¥x¹q¸£ªº¥¦æ¹Bºâ¡A¨Ã¥i¥H¨Ï¥Î GPU¡]Graphic Processing Unit¡A¹Ï§Î³B²z¾¹¡^¨Ó¶i¦æ¤j¶qªº¥¦æ¹Bºâ¡A¸Ô²Ó¥\¯à½Ð°Ñ¦Ò¤U¤@¤p¸`ªº¤¶²Ð¡C
MATLABµ{¦¡³]p¡G¶i¶¥½g