-- ·|­û / µù¥U -- ¡@
¡@±b¸¹¡G
¡@±K½X¡G
¡@ | µù¥U | §Ñ°O±K½X
3/26 ·s®Ñ¨ì¡I 3/19 ·s®Ñ¨ì¡I 3/14 ·s®Ñ¨ì¡I 12/12 ·s®Ñ¨ì¡I
ÁʮѬyµ{¡EQ & A¡E¯¸°È¯d¨¥ª©¡E«ÈªA«H½c
¢x 3ds Max¢x Maya¢x Rhino¢x After Effects¢x SketchUp¢x ZBrush¢x Painter¢x Unity¢x
¢x PhotoShop¢x AutoCad¢x MasterCam¢x SolidWorks¢x Creo¢x UG¢x Revit¢x Nuke¢x
¢x C#¢x C¢x C++¢x Java¢x ¹CÀ¸µ{¦¡¢x Linux¢x ´O¤J¦¡¢x PLC¢x FPGA¢x Matlab¢x
¢x Àb«È¢x ¸ê®Æ®w¢x ·j¯Á¤ÞÀº¢x ¼v¹³³B²z¢x Fluent¢x VR+AR¢x ANSYS¢x ²`«×¾Ç²ß¢x
¢x ³æ´¹¤ù¢x AVR¢x OpenGL¢x Arduino¢x Raspberry Pi¢x ¹q¸ô³]­p¢x Cadence¢x Protel¢x
¢x Hadoop¢x Python¢x Stm32¢x Cortex¢x Labview¢x ¤â¾÷µ{¦¡¢x Android¢x iPhone¢x
¥i¬d®Ñ¦W,§@ªÌ,ISBN,3dwoo®Ñ¸¹
¸Ô²Ó®ÑÄy¤ÀÃþ

°ò¤_MPIªº¤j¼Æ¾Ú°ª©Ê¯à­pºâ¾É½×

( ²Åé ¦r)
§@ªÌ¡G¡eªk¡f¥±Äõ§J¡P¥§º¸´Ë(Frank Nielsen)µÛÃþ§O¡G1. -> µ{¦¡³]­p -> ¤j¼Æ¾Ú
ĶªÌ¡G
¥Xª©ªÀ¡G¾÷±ñ¤u·~¥Xª©ªÀ°ò¤_MPIªº¤j¼Æ¾Ú°ª©Ê¯à­pºâ¾É½× 3dWoo®Ñ¸¹¡G 49477
¸ß°Ý®ÑÄy½Ð»¡¥X¦¹®Ñ¸¹¡I

¡i¦³®w¦s¡j
NT°â»ù¡G 295 ¤¸

¥Xª©¤é¡G7/1/2018
­¶¼Æ¡G210
¥úºÐ¼Æ¡G0
¯¸ªø±ÀÂË¡G
¦L¨ê¡G¶Â¥Õ¦L¨ê»y¨t¡G ( ²Åé ª© )
¥[¤JÁʪ«¨® ¢x¥[¨ì§Úªº³Ì·R
(½Ð¥ýµn¤J·|­û)
ISBN¡G9787111602149
§@ªÌ§Ç¡@|¡@ĶªÌ§Ç¡@|¡@«e¨¥¡@|¡@¤º®e²¤¶¡@|¡@¥Ø¿ý¡@|¡@§Ç
(²Åé®Ñ¤W©Ò­z¤§¤U¸ü³sµ²¯Ó®É¶O¥\, ®¤¤£¾A¥Î¦b¥xÆW, ­YŪªÌ»Ý­n½Ð¦Û¦æ¹Á¸Õ, ®¤¤£«OÃÒ)
§@ªÌ§Ç¡G

ĶªÌ§Ç¡G

«e¨¥¡G

Åwªï¨Ó¨ì°ª©Ê¯à­pºâªº¥@¬É¡IÅwªï¨Ó¨ì°ª©Ê¯à¼Æ¾Ú¬ì¾Çªº¥@¬É¡I

¦b¥»®Ñ¤¤¡A§Ú­Ì±N¤¶²Ð­±¦V¼Æ¾Ú¬ì¾Ç¡]Data Science¡ADS¡^ªº°ª©Ê¯à­pºâ¡]High Performance Computing¡AHPC¡^¡C¦]¦¹¡A¥»®Ñ¥D­n¤À¬°¨â­Ó³¡¤À¡G²Ä¤@³¡¤À¡]«e6³¹¡^²[»\HPCªº°ò¥»­ì²z¡F²Ä¤G³¡¤À¡]¦Z5³¹¡^¤¶²Ð¤F¼Æ¾Ú¬ì¾Çªº°ò¥»ª¾ÃÑ¡A¦}®i¥Ü¤F¦p¦ó½s¼g­±¦V°ò¥»¦ê¦æºâªkªº¤À¥¬¦¡µ{§Ç¡A¥HÀ³¹ï¤j³W¼Ò¼Æ¾Ú¶°¡C·í«e¡A³\¦h¤j³W¼Ò¼Æ¾Ú¶°³£¬O¤½¶}ªº¡A³o¨Ç¼Æ¾Ú¶°¤¤Ä­§t¤FÂ×´Iªº«H®§¡A¦ý¬O³o¨Ç«H®§»Ý­n³q¹Lºë¤ß³]­p¤~¯à³Q´£¨ú¥X¨Ó¡C

§Ú­Ì¥D­n°Ï¤À¨âºØ¦}¦æºâªkªº³]­p¤èªk¡G¦b³æ­Ó¦@¨É¤º¦s¦h®Ö¾÷¾¹¤W¨Ï¥Î¦h½uµ{¦}¦æ¤Æºâªk¡F¦b¤À¥¬¦¡¤º¦s¶°¸s¨t²Î¤W¦}¦æ¤Æºâªk¡C

¤@¤è­±¡A·í¦b¦@¨É¤º¦s¬[ºc¡]¦p´¼¯à¤â¾÷¡B¥­ªO¹q¸£¡A¥H¤Î´¼¯à¤âªí©M¨ä¥Lª«Ápºô³]³Æ¡^¤W³]­p¦}¦æ¤Æºâªk®É¡A©Ò¦³ªºµw¥ó­pºâ³æ¤¸¡]®Ö¡^¦ì¤_¦P¤@ªä¤ù¤W¡A§Ú­Ì¥i¥H¨Ï¥Î¦h½uµ{¨Ó»´ªQ¦a¹ïµøÀW¸Ñ½X¡B´è¬Vµ¥¥ô°È¶i¦æ¦}¦æ¤Æ¡C³oºØ¦}¦æ¬O²Ó²É«×ªº¡]fineúQgrained¡^¡A¦ý¥¦¨ü¨ìªä¤ù¤Wª«²z®Ö¼Æªº­­¨î¡]2015¦~°ªºÝ´¼¯à¤â¾÷³q±`¥u¦³8­Ó®Ö¡^¡C¥t¤@¤è­±¡A¶°¸s¨t²Î¡]§Y¤À¥¬¦¡¤º¦s¬[ºc¡^¥i¥H®Ú¾Ú«Ý³B²zªº¼Æ¾Ú¶°³W¼Ò¨Ó¹ê®ÉÂX®i¸ê·½¡C¶°¸sªººc«Ø¨ã¦³«Ü¤jªºÆF¬¡©Ê¡A¨Ò¦p¥i¥H¿ï¾Ü²§ºcªº­pºâ¾÷¸`ÂI¡AµM¦Z½T©w³Ì¾A¦X³o¨Ç¸`ÂIªº¤¬³s©Ý¼³µ²ºc¡C³oºØ¦}¦æ¬O²Ê²É«×ªº¡]coarseúQgrained¡^¡A¦]¬°¦b¶°¸s¤¤µo¥Í¸`ÂI¶¡³q«H¤§«e¡A¨C­Ó¸`ÂI¥i¥H¿W¥ß¦a¶i¦æ¤j¶qªº¥»¦a­pºâ¡C

¥»®Ñ°¼­«¤_¦b¤À¥¬¦¡¤º¦s¨t²Î¤W§Q¥Î¼Ð·Ç®ø®§¶Ç»¼±µ¤f¡]Message Passing Interface¡AMPI¡^¨Ó³]­p¦}¦æºâªk¡CMPI¬OºÞ²z¶°¸s¸`ÂI¤§¶¡³q«H©M¥þ§½¨ó¦P­pºâªº¹ê»Ú¼Ð·Ç¡C¥Ø«e¦s¦b¦hºØMPI¼Ð·Çªº¨ÑÀ³°Ó¹ê²{¡A¥¦­Ì¥i¥H»PC¡BC++¡BFortran¡BPythonµ¥¦hºØ½sµ{»y¨¥¸j©w¡C§Ú­Ì¿ï¾Ü­±¦V¹ï¶Hªº»y¨¥C++¨Ó¹ê²{¼Æ¾Ú¬ì¾Ç¤¤ªººâªk¡A¦}¨Ï¥Î©MC»y¨¥¸j©wªºOpenMPIÀ³¥Îµ{§Ç½sµ{±µ¤f¡]Application Programming Interface¡AAPI¡^¨Ó½s¼g¦}¦æµ{§Ç¡C

¥»®Ñ¤¤¨â³¡¤À¤º®eªºÂ²­n¤¶²Ð¦p¤U¡C

²Ä¤@³¡¤À¡G°ò¤_®ø®§¶Ç»¼±µ¤fªº°ª©Ê¯à­pºâ

²Ä1³¹­º¥ý²³æ¤¶²Ð¤FHPC¥@¬É¡AµM¦ZÁ¿¸Ñ¤FAmdahl©w«ß©MGustafson©w«ß¡A³o¨â­Ó©w«ß¨èµe¤F¦}¦æµ{§Çªº²z½×³ÌÀu¥[³t¤ñ©MÂX®i¥[³t¤ñ¡C

²Ä2³¹Á¿¸Ñ¤FMPIªº¥D­n·§©À©M½sµ{±µ¤f¡Gªý¶ë/«Dªý¶ë³q«Hªº·§©À¡B¦ºÂê©M¦hºØ¥þ§½³q«H¨ç¼Æ¡]¨Ò¦pbroadcast¡Bscatter¡Bgather¡BallúQtoúQall¡Breduce¡Bparallel prefixµ¥¡^¡C

²Ä3³¹µÛ­«¤¶²Ð¤F¤¬Ápºôµ¸©Ý¼³ªº§@¥Î¡C§Ú­Ì­º¥ý°Ï¤Àª«²z©Ý¼³©MµêÀÀ©Ý¼³¡]©ÎºÙ¬°ÅÞ¿è©Ý¼³¡^¡A¦}¦b³]­p¦}¦æºâªkªº®É­Ô¦Ò¼{¤£¦Pºôµ¸©Ý¼³¹ï©Ê¯àªº¼vÅT¡C¯S§OÁ¿¸Ñ¤FÀô§Î¡]¥]¬AÀu¤Æªº¬y¤ô½u¼s¼½¡^©M¶W¥ß¤èÅé§Îºôµ¸©Ý¼³¤Wªº³q«H¹Lµ{¡A¦ZªÌ¨Ì¿à¤_¸`ÂIªº¯S©w½s¸¹¡AºÙ¬°®æ¹p½X¡C

²Ä4³¹Á¿¸Ñ¤F°ò¤_¤À¥¬¦¡¤º¦sªº¥D­nªº¦}¦æ±Æ§Çºâªk¡C­º¥ý¹ïµÛ¦Wªº§Ö³t±Æ§Çºâªk¡]Quicksort¡^¶i¦æ¤F²³æªº¦}¦æ¤Æ¡AµM¦Z¤¶²Ð¹ê»Ú¤¤¼sªx¨Ï¥ÎªºHyperQuicksort©MPSRS¡]Parallel Sorting by Regular Sampling¡^ºâªk¡C

²Ä5³¹¬ã¨s¤F¤@¨Ç¯x°}¬Û­¼©M¦V¶q¬Û­¼ªººâªk¡A¦}²­n¤¶²Ð¤F¦bÀô©MÀô­±¡]torus¡^ªº©Ý¼³µ²ºc¤¤­pºâ¯x°}­¼¿nªº¦UºØ§Þ³N¡C

²Ä6³¹¤¶²Ð¤F¤@­Ó¤ñ¸û¼öªùªº¦}¦æ½sµ{­S¦¡¡AºÙ¬°MapReduce¡]³q±`»P¶}·½¨t²ÎHadoop¤@°_¨Ï¥Î¡^¡C MapReduce¥i¥H³q¹L¨â­Ó¥D­nªº¥Î¤á©w¸qªº¨ç¼Æ¡]map©Mreduce¡^¨Óºc«Øµ{§Ç¡AµM¦Z³¡¸p¨ì¤j¶qªººôµ¸¤¬³sªº­pºâ¾÷¤W¨Ó§¹¦¨­pºâ¥ô°È¡C µM¦Ó¡AMapReduce¤]¬O¤@­Ó§¹¾ãªº®Ø¬[¡A¥]¬A¤@­Ó¥D±q¬[ºc¡C¸Ó¥D±q¬[ºc¯à°÷³B²z¦UºØµw¥ó¬G»Ù¡A©ÎªÌ·í¤@¨Ç¾÷¾¹°õ¦æ±o¤ÓºC®É¡A±N³o¨Ç¾÷¾¹¤Wªº¦}¦æ­pºâ¥ô°È¡]§@·~¡^­«·sµo°e¨ì¨ä¥Lªº¾÷¾¹¤W°õ¦æ¡C¸Ó³¹ÁÙÁ¿¸Ñ¤F¦p¦ó§Q¥Î±Mªùªº¦W¬°MRúQMPIªº³n¥ó®w¦bMPI¡]MPI¨S¦³®e¿ù¯à¤O¡^¤¤¹ê²{³o¨ÇÃþ«¬ªºMapReduceºâªk¡C

²Ä¤G³¡¤À¡G­±¦V¼Æ¾Ú¬ì¾Çªº°ª©Ê¯à­pºâ

³o³¡¤À²­n¤¶²Ð¤F¼Æ¾Ú¬ì¾Ç¡A¦}¶i¤@¨BÁ¿¸Ñ¤F¦p¦ó¨Ï¥ÎMPI¦}¦æ¤Æ¼Æ¾Ú¬ì¾Ç¤¤ªººâªk¡C

­º¥ý¤¶²Ð¤F¨â­Ó³Ì°ò¥»ªº¼Æ¾Ú»EÃþ§Þ³N¡A¤À§O¬O¥­­±¹º¤À»EÃþ¡]²Ä7³¹¡^©M¼h¦¸¾ð»EÃþ¡]²Ä8³¹¡^¡C»EÃþ¬O±´¯Á©Ê¼Æ¾Ú¬ì¾Ç¤¤¤@­Ó«D±`­«­nªº·§©À¡A¥Î¤_µo²{¼Æ¾Ú¶°¤¤ªº¤ÀÃþ¡B¦P½è¼Æ¾Ú¤¤ªº¤À²Õ¡C

²Ä9³¹¤¶²Ð¤F°ò¤_k³Ìªñ¾F³W«h¡]kúQnearest neighbor¡^ªº¦³ºÊ·þ¤ÀÃþ¡A¦}©Mk§¡­È¡]kúQmeans¡^»EÃþºâªk¶i¦æÃöÁp¡C

²Ä10³¹¤¶²Ð¤F¥t¤@­Ó­pºâ¬ì¾Ç¤¤ªº·s­S¦¡¡A¤¹³\¤H­Ì¦b¤j«¬¼Æ¾Ú¶°¡]¼ç¦bªº°ªºû«×¡^¤W¸Ñ¨MÀu¤Æ°ÝÃD¡C³oºØ·s­S¦¡´N¬O´M§ä®Ö¤ß¶°¡]coreúQset¡^¡A³o¨Ç®Ö¤ß¶°´N¬O­ì¼Æ¾Ú¶°ªº¤l¶°¡A¦Ó¥B©M­ì¼Æ¾Ú¶°¬Û¤ñ¨ã¦³¨}¦nªºªñ¦ü©Ê¡C³oºØ§Þ³N³ÌªñÅܱo«D±`¬y¦æ¡A¯à°÷±N¤j¼Æ¾Ú¡]big data¡^ÁY¤p¨ì¤p¼Æ¾Ú¡]tiny data¡^¡I¥Ñ¤_¼Æ¾Ú³q±`¨ã¦³°ªºû«×¯S©º¡A©Ò¥HÁÙ²­n¤¶²Ð¤F¤@ºØ¦³®Äªº½u©Ê­°ºû§Þ³N¡A¨ä¤¤Á¿¸Ñ¤FJohnsonúQLindenstrauss©w²z¡A¦}µ¹¥X¤@­Ó²³æªº¤èªk­pºâ§C¥¢¯u´O¤J¡A±q¦Ó±N¼Æ¾Ú±q°ªºûÂà¤Æ¬°§Cºû¡A¦}½T«O¦b³W©wªºªñ¦ü¦]¤l¤º¼Æ¾ÚÂI¤§¶¡ªº¶ZÂ÷«O«ù¤£ÅÜ¡C¦³½ìªº¬O¡A´O¤Jªººû«×»P­ì©l¥~¦bºû«×µLÃö¡A¦Ó¬O¨Ì¿à¤_¼Æ¾Ú¶°¤j¤pªº¹ï¼Æ©Mªñ¦ü¦]¤l¡C

²Ä11³¹²[»\¤F¤@¨Ç¹Ï¡]graph¡^ºâªk¡C¹Ï¦bªÀ¥æºôµ¸¤ÀªR©M¨ä¥LÀ³¥Î»â°ì¤¤¬O¤ñ¸û±`¨£ªº¡C¦]¦¹­º¥ý¤¶²Ð¤@­Ó¶¶§Ç±Òµo¦¡¤èªk©M¤@­Ó¦}¦æ±Òµo¦¡¤èªk¨Ó¬d§ä¹Ïªº¸Y±K¤l¹Ï¡A¸Ó¤l¹Ïªñ¦ü¤_¡§³Ì¸Y±K¡¨¤l¹Ï¡C µM¦Z¤¶²Ð¤F¦b­pºâ¾÷¶°¸s¤W§Q¥Î¤À¤ä­­¬Éªk¨Ó¶i¦æ¹Ï¦PºcÀË´ú¡C¹Ï¦PºcÀË´ú¬O¤@­Ó³Æ¨üÃöª`ªº°ÝÃD¡A¦]¬°¥¦ªº²z½×´_Âø«×ÁÙ¨S¦³±o¨ì¸Ñ¨M¡]ºÉºÞ¹ï¤_¹Ïªº¬Y¨Ç¯S©w¤lÃþ¦s¦b¤@¨Ç¦h¶µ¦¡ºâªk¡^¡C

¨C³¹³Ì¦Z·|¹ï¸Ó³¹ªº¤@¨Ç­nÂI¶i¦æÁ`µ²¡C½ÐŪªÌÂsÄý³o¨ÇÁ`µ²¡A¥H«K¶i¦æ²Ä¤@¹M§Ö³t¾\Ū¡C¦b¤@¨Ç³¹¸`µ²§ô®É·|µ¹¥X40¦h¹D½m²ßÃD¡A³o¨Ç½m²ß¼Ð¦³¦UºØÃø«×¡A¦}¤¹³\ŪªÌ¹ï½m²ß©Ò²[»\¤º®eªº²z¸Ñµ{«×¶i¦æ¦Û´ú¡C¥H¬P¸¹¶}ÀYªº³¡¤À¥i¥H¥ý¸õ¹L¡Aµy¦Z¦A¶i¦æ¾\Ū¡C

¥»®Ñªº¥D­n¥Øªº¬OÀ°§UŪªÌ³]­p¦}¦æºâªk¡AµM¦Z§Q¥ÎC++©MC»y¨¥¸j©wªºMPI½s¼gµ{§Ç¹ê²{¬ÛÀ³ªº¦}¦æºâªk¡C²Ä¤G­Ó¥Øªº¬OÅýŪªÌ¹ï°ª©Ê¯à­pºâ©M¼Æ¾Ú¬ì¾Ç¦³§ó²`¨èªº¤F¸Ñ¡A¦}§Æ±æ§ó¦n¦a«P¶i¨âªÌ¤§¶¡ªº¥æ¤e¡C

¥»®Ñ¬OÃö¤_°ª©Ê¯à­pºâ©M¼Æ¾Ú¬ì¾Çªº¤Jªù±Ð§÷¡A­±¦V¨ã¦³°ò¥»ºâªkª¾ÃÑ©M½sµ{¯à¤OªºÅªªÌ¡C¦]¦¹¡A¥»®Ñ¤£¥]§t¡]¤]¨S¦³´£¤Î¡^°ª©Ê¯à­pºâ©M¼Æ¾Ú¬ì¾Ç»â°ìªº°ª¯Å·§©À¡C¨Ò¦p¡A¥ô°È½Õ«×°ÝÃD©M´O®M´`Àôªº¦Û°Ê¦}¦æ¤ÆÁöµM¦b°ª©Ê¯à­pºâ¤¤«Ü­«­n¡A¦ý¬O¥»®Ñ¦}¨S¦³¯A¤Î¡CÃþ¦ü¦a¡A¥»®Ñ¤]¬Ù²¤¤F¼Æ¾Ú¬ì¾Ç»â°ì¤¤ªº¦^Âk§Þ³N©M®Ö¤ß¾÷¾¹¾Ç²ß¤èªk¡C

±Ð»²¸ê·½

¥»®ÑªºÃB¥~¸ê·½¡]¥]¬A¶W¹L35­Ó¥ÎMPI/C++/R/Scilab/Gnuplot/Processing½s¼gªºµ{§Ç¡B¤Û¿O¤ù¡B¬ÛÃöÃì±µ©M¨ä¥Lºë±m¤º®e¡^¥i¥H³q¹Lºô§}Àò¨ú¡C

µ{§Çªº·½¥N½X¥i¥H¦b¤W­zºô§}¥H¤U¦C¤è¦¡Àò¨ú¡G



¯¬¾\Ū´r§Ö¡I

Frank Nielsen

2015¦~12¤ë
¤º®e²¤¶¡G

¥»®Ñ¬OÃö¤_°ª©Ê¯à­pºâ©M¼Æ¾Ú¬ì¾Çªº¤Jªù±Ð§÷¡A­±¦V¦³°ò¥»ºâªkª¾ÃÑ©M½sµ{¯à¤OªºÅªªÌ¡A®Ñ¤¤¿ï¾ÜC++»y¨¥¨Ó¹ê²{¼Æ¾Ú¬ì¾Ç¤¤ªººâªk¡A¦}¨Ï¥Î©MC»y¨¥¸j©wªºOpenMPIÀ³¥Îµ{§Ç½sµ{±µ¤f¨Ó½s¼g¦}¦æµ{§Ç¡A¨Ï¥ÎMPI¼Ð·Ç¤¶²Ð¼Æ¾Ú¬ì¾Ç¤¤ªº°ª©Ê¯à­pºâ¡AÀ°§UŪªÌ¤F¸Ñ¤À¥¬¦¡¦sÀx¼Ò«¬¤¤ªº¦}¦æ½sµ{ª¾ÃÑ¡C



¥»®Ñ¤À¬°¨â³¡¤À¡A²Ä¤@³¡¤À¡]²Ä1~6³¹¡^°ò¤_MPI¤¶²Ð°ª©Ê¯à­pºâ¡A²Ä¤G³¡¤À¡]²Ä7~11³¹¡^¤¶²Ð­pºâ¾÷¶°¸s¤¤ªº°ª©Ê¯à¼Æ¾Ú¤ÀªR¡C¥»®Ñ±Ð»²¸ê·½Â×´I¡A®Ñ¤¤¬ÛÃöªº°°¥N½X¥i¦b¹ïÀ³ºô¯¸¤U¸ü¡A³¹¥½ªþ¦³¦UºØÃø«×ªº½m²ß©M°Ñ¦Ò¤åÄm¡A¥i¨ÑŪªÌ¶i¦æ¦Û´ú©M²`¤J¾Ç²ß¡C



³q¹L¾\Ū¥»®Ñ¡A§A±N¾Ç¨ì¡G

ªý¶ë»P«Dªý¶ëªºÂI¹ïÂI³q«H¡B¦ºÂê¡B¥þ§½³q«H¨ç¼Æ¡]¼s¼½¡B´²¼½µ¥¡^©M¨ó¦P­pºâ¡]Âk¬ù¡^ªº°ò¥»·§©À¡C

¤¬Ápºôµ¸ªº©Ý¼³µ²ºc¡]Àô¡BÀô­±©M¶W¥ß¤èÅé¡^¥H¤Î¬ÛÀ³ªº¥þ§½³q«Hµ{§Ç¡C

¦p¦ó³]­p¦}¹ê²{°ò¤_¤À¥¬¦¡¤º¦sªº¦}¦æ±Æ§Ç¡A¤F¸Ñ¦}¦æ½u©Ê¥N¼Æª¾ÃÑ¡]¦p¯x°}¬Û­¼¡^¡C

¨Ï¥ÎMPI®Ø¬[­pºâ¾A¥Î¤_³B²z¤j¼Æ¾ÚªºMapReduce¼Ò«¬¡C

¼Æ¾Ú»EÃþ§Þ³N¡]¥­­±¹º¤À»EÃþ¡B¼h¦¸»EÃþ¡^¡C

°ò¤_k-NNªº¦³ºÊ·þ¤ÀÃþ¤Î¨ä»Pk§¡­È»EÃþºâªkªº¤ñ¸û¡C

®Ö¤ß¶°¥H¤Î¬ÛÃö­°ºû§Þ³N¡C

¹Ïºâªk¡]³Ì¸Y±K¤l¹Ï¡B¹Ï¦PºcÀË´ú¡^¡C
¥Ø¿ý¡G

ĶªÌ§Ç
«e¨¥
­PÁÂ
²Ä¤@³¡¤À°ò¤_®ø®§¶Ç»¼±µ¤fªº°ª©Ê¯à­pºâ
²Ä1³¹¨«¶i°ª©Ê¯à­pºâ
1-1¤°¤\¬O°ª©Ê¯à­pºâ
1-2¬°¤°¤\§Ú­Ì»Ý­nHPC
1-3¤j¼Æ¾Ú¡G¥|­Ó¯S©Ê¡]¼Æ¾Ú¶q¡B¦h¼Ë©Ê¡B¥Í¦¨³t«×¡B»ù­È¡^
1-4¦}¦æ½sµ{­S¦¡¡GMPI©MMapReduce
1-5²É«×¡G²Ó²É«×¦}¦æ»P²Ê²É«×¦}¦æ
1-6¶W¯Å­pºâ¬[ºc¡G¤º¦s©Mºôµ¸
1-7¥[³t¤ñ
1-7-1ÂX®i©Ê©Mµ¥®Ä²v¤ÀªR
1-7-2Amdahl©w«ß¡G´y­z¼Æ¾Ú³W¼Ò©T©w®Éº¥ªñ¥[³t¤ñªºÅܤÆÁͶÕ
1-7-3Gustafson©w«ß¡G¥iÂX®iªº¥[³t¤ñ¡AÀHµÛ¸ê·½ªº¼W¥[¤£Â_ÂX¤j¼Æ¾Ú¶q
1-7-4¦b¦ê¦æ­pºâ¾÷¤W¼ÒÀÀ¦}¦æ¾÷
1-7-5¤j¼Æ¾Ú©M¦}¦æ¿é¤J/¿é¥X
1-8Ãö¤_¤À¥¬¦¡¨t²Îªº¤K­Ó±`¨£»~°Ï
1-9ª`ÄÀ©M°Ñ¦Ò
1-10Á`µ²
1-11½m²ß
°Ñ¦Ò¤åÄm
²Ä2³¹MPI²¤¶¡G®ø®§¶Ç»¼±µ¤f
2-1°ò¤_MPIªº¦}¦æµ{§Ç³]­p¡G°ò¤_®ø®§³q«H
2-2¦}¦æ½sµ{¼Ò«¬¡B½uµ{©M¶iµ{
2-3¶iµ{¤§¶¡ªº¥þ§½³q«H
2-3-1¥|­Ó°ò¥»ªºMPI­ì»y¡G¼s¼½¡B¦¬¶°¡BÂk¬ù©M¥þ¥æ´«
2-3-2ªý¶ë»P«Dªý¶ë©M¦P¨B»P²§¨B³q«H
2-3-3ªý¶ë³q«H²£¥Íªº¦ºÂê
2-3-4¦}µo©Ê¡G§½³¡­pºâ¥i¥H»P³q«H­«Å|°õ¦æ
2-3-5³æ¦V»PÂù¦V³q«H
2-3-6MPI¤¤ªº¥þ§½­pºâ¡GÂk¬ù©M¦}¦æ«eºó¡]±½´y¡^
2-3-7ªö¥Î³q«H¾¹©w¸q³q«H²Õ
2-4¦P¨B«Ì»Ù¡G¶iµ{ªº¥æ¶×ÂI
2-4-1MPI¤¤ªº¤@­Ó¦P¨B¥Ü¨Ò¡G´ú¶q¹B¦æ®É¶¡
2-4-2¾ãÅé¦P¨B¦}¦æ­pºâ¼Ò«¬
2-5¶}©l¨Ï¥ÎMPI¡G¨Ï¥ÎOpenMPI
2-5-1¥ÎMPI C++½s¼g¡§Hello World¡¨µ{§Ç
2-5-2¥ÎC¸j©w¶i¦æMPI½sµ{
2-5-3³q¹LC++ Boost¨Ï¥ÎMPI
2-6³q¹LOpenMP¨Ï¥ÎMPI
2-7MPI¤¤ªº¥D­n­ì»y
2-7-1¼s¼½¡B´²¼½¡B¦¬¶°¡BÂk¬ù©M¥þÂk¬ùªºMPI»yªk
2-7-2¨ä§E²VÂøªºMPI­ì»y
2-8Àô§Î©Ý¼³¤W§Q¥ÎMPI¶i¦æªº³q«H
2-9MPIµ{§Ç¥Ü¨Ò¤Î¨ä¥[³t¤ñ¤ÀªR
2-9-1MPI¤¤ªº¯x°}¦V¶q¿n
2-9-2MPIÂk¬ù¾Þ§@¥Ü¨Ò¡G­pºâ¼Æ²Õªº¶¥­¼©M³Ì¤p­È
2-9-3MonteúQCarloÀH¾÷¿n¤Àºâªk¦ôºâ£k
2-9-4MonteúQCarloÀH¾÷¿n¤Àºâªk¦ôºâ¤À¤lÅé¿n
2-10ª`ÄÀ©M°Ñ¦Ò
2-11Á`µ²
2-12½m²ß
°Ñ¦Ò¤åÄm
²Ä3³¹¤¬Ápºôµ¸ªº©Ý¼³µ²ºc
3-1¨â­Ó­«­n·§©À¡GÀRºA»P°ÊºAºôµ¸¡A¥H¤ÎÅÞ¿è»Pª«²zºôµ¸
3-2¤¬Ápºôµ¸¡G¹Ï«Ø¼Ò
3-3¤@¨Ç´y­z©Ý¼³µ²ºcªºÄÝ©Ê
3-3-1«×©Mª½®|
3-3-2³s³q©Ê©M¹ï¤À
3-3-3¤@­Ó¦nªººôµ¸©Ý¼³µ²ºcªº¼Ð·Ç
3-4±`¨£ªº©Ý¼³µ²ºc¡G²³æªºÀRºAºôµ¸
3-4-1§¹¥þ¹Ï¡G¹Î
3-4-2¬P§Î¹Ï
3-4-3Àô©M±a©¶Àô
3-4-4ºô¡]ºô®æ¡^»PÀô­±ÁL¡]Àô­±ªº¶°¦X¡^
3-4-5¤Tºû¥ß¤èÅé»P´`Àô³s±µ¥ß¤èÅé
3-4-6¾ð»P­D¾ð
3-5¶W¥ß¤èÅé©Ý¼³µ²ºc¥H¤Î¨Ï¥Î®æ¹p½X¶i¦æ¸`ÂI¼ÐÃÑ
3-5-1¶W¥ß¤èÅ骺»¼Âkºc³y
3-5-2¨Ï¥Î®æ¹p½X¹ï¶W¥ß¤èÅé¸`ÂI½s¸¹
3-5-3¨Ï¥ÎC++¥Í¦¨®æ¹p½X
3-5-4®æ¹p½X©M¤G¶i¨î½Xªº¬Û¤¬Âà´«
3-5-5¹Ïªº²Ã¥d¨à­¼¿n
3-6¤@¨Ç©Ý¼³µ²ºc¤Wªº³q«Hºâªk
3-6-1¦³¦VÀô¤Wªº³q«H­ì»y
3-6-2¶W¥ß¤èÅé¤Wªº¼s¼½¡G¾ðª¬³q«H
3-7±N¡]ÅÞ¿è¡^©Ý¼³µ²ºc´O¤J¨ì¨ä¥L¡]ª«²z¡^©Ý¼³µ²ºc¤¤
3-8´_Âø³W«h©Ý¼³µ²ºc
3-9ªä¤ù¤Wªº¤¬Ápºôµ¸
3-10ª`ÄÀ©M°Ñ¦Ò
3-11Á`µ²
°Ñ¦Ò¤åÄm
²Ä4³¹¦}¦æ±Æ§Ç
4-1¦ê¦æ±Æ§Ç§Ö³t¦^ÅU
4-1-1¥D­nªº¦ê¦æ±Æ§Çºâªk
4-1-2±Æ§Çªº´_Âø©Ê¡G¤U¬É
4-2³q¹L¦X¦}¦Cªí¹ê²{¦}¦æ±Æ§Ç
4-3§Q¥Î¯´¹ê²{¦}¦æ±Æ§Ç
4-4¦}¦æ§Ö³t±Æ§Ç
4-5¶W§Ö³t±Æ§Ç
4-6¥¿«hªö¼Ë¦}¦æ±Æ§Ç
4-7°ò¤_ºô®æªº±Æ§Ç¡GShearSort
4-8¨Ï¥Î¤ñ¸ûºôµ¸±Æ§Ç¡G©_°¸±Æ§Ç
4-9¨Ï¥Î¤ñ¸ûºôµ¸¦X¦}¦³§Ç¦Cªí
4-10Âù½ÕÂk¦}±Æ§Ç
4-11ª`ÄÀ©M°Ñ¦Ò
4-12Á`µ²
4-13½m²ß
°Ñ¦Ò¤åÄm
²Ä5³¹¦}¦æ½u©Ê¥N¼Æ
5-1¤À¥¬¦¡½u©Ê¥N¼Æ
5-1-1¼Æ¾Ú¬ì¾Ç¤¤ªº½u©Ê¥N¼Æ
5-1-2¸g¨å½u©Ê¥N¼Æ
5-1-3¯x°}¦V¶q­¼ªk¡Gy=Ax
5-1-4¦}¦æ¼Æ¾Ú¼Ò¦¡
5-2¦³¦VÀô©Ý¼³¤Wªº¯x°}¦V¶q­¼¿n
5-3ºô®æ¤Wªº¯x°}­¼ªk¡G¥~¿nºâªk
5-4¤GºûÀô­±©Ý¼³¤Wªº¯x°}­¼¿n
5-4-1Cannonºâªk
5-4-2Foxºâªk¡G¼s¼½¬Û­¼´`Àô²¾¦ì¯x°}­¼¿n
5-4-3Snyderºâªk¡G¦b¹ï¨¤½u¤W¶i¦æ¥»¦a­¼¿n²Ö¥[
5-4-4Cannon¡BFox©MSnyderºâªkªº¤ñ¸û
5-5ª`ÄÀ©M°Ñ¦Ò
5-6Á`µ²
5-7½m²ß
°Ñ¦Ò¤åÄm
²Ä6³¹MapReduce­S¦¡
6-1§Ö³t³B²z¤j¼Æ¾Úªº¬D¾Ô
6-2MapReduceªº°ò¥»­ì²z
6-2-1map©Mreduce¹Lµ{
6-2-2¾ú¥vµø¨¤¡G¨ç¼Æ¦¡½sµ{»y¨¥¤¤ªºmap©Mreduce
6-3¼Æ¾ÚÃþ«¬©MMapReduce¾÷¨î
6-4MapReduce¦bC ++¤¤ªº§¹¾ã¥Ü¨Ò
6-5±Ò°ÊMapReduce§@·~©MMapReduce¬[ºc·§­z
6-6°ò¤_MRúQMPI®w¦bMPI¤¤¨Ï¥ÎMapReduce
6-7ª`ÄÀ©M°Ñ¦Ò
6-8Á`µ²
°Ñ¦Ò¤åÄm
²Ä¤G³¡¤À­±¦V¼Æ¾Ú¬ì¾Çªº°ª©Ê¯à­pºâ
²Ä7³¹°ò¤_k§¡­Èªº¹º¤À»EÃþ
7-1±´¯Á©Ê¼Æ¾Ú¤ÀªR»P»EÃþ
7-1-1µw»EÃþ¡G¹º¤À¼Æ¾Ú¶°
7-1-2¦¨¥»¨ç¼Æ©M¼Ò«¬»EÃþ
7-2k§¡­È¥Ø¼Ð¨ç¼Æ
7-2-1­«¼gk§¡­È¦¨¥»¨ç¼Æ¥H¹ï»EÃþ®ÄªG¶i¦æÂù­«¸ÑÄÀ¡G»EÃþÁL¤º¼Æ¾Ú©Î¤ÀÂ÷ÁL¶¡¼Æ¾Ú
7-2-2k§¡­ÈÀu¤Æ°ÝÃDªº´_Âø©Ê©M¥i­pºâ©Ê
7-3Lloyd§å¶qk§¡­È§½³¡±Òµo¦¡¤èªk
7-4°ò¤_¥þ§½±Òµo¦¡ªºk§¡­Èªì©l¤Æ¤èªk
7-4-1°ò¤_ÀH¾÷ºØ¤lªºªì©l¤Æ¤èªk
7-4-2¥þ§½k§¡­È¡G³Ì¨Î³g¤ßªì©l¤Æ
7-4-3kúQmeans ++¡G¤@ºØ²³æªº·§²v«OÃÒªºªì©l¤Æ¤èªk
7-5k§¡­È¦V¶q¶q¤Æ¤¤ªºÀ³¥Î
7-5-1¦V¶q¶q¤Æ
7-5-2Lloydªº§½³¡³Ì¤p­È©Mí©wVoronoi¹º¤À
7-6k§¡­Èªºª«²z¸ÑÄÀ¡GºD©Ê¤À¸Ñ
7-7k§¡­È¤¤kªº¿ï¾Ü¡G¼Ò«¬¿ï¾Ü
7-7-1°ò¤_¨y³¡ªk«hªº¼Ò«¬¿ï¾Ü
7-7-2¼Ò«¬¿ï¾Ü¡G¥Îk¸ÑÄÀ¤è®t´î¤Ö
7-8¶°¸s¤Wªº¦}¦æk§¡­È»EÃþ
7-9µû¦ô»EÃþ¹º¤À
7-9-1Äõ¼w«ü¼Æ
7-9-2Âk¤@¤Æ¤¬«H®§
7-10ª`ÄÀ©M°Ñ¦Ò
7-11Á`µ²
7-12½m²ß
°Ñ¦Ò¤åÄm
²Ä8³¹¼h¦¸»EÃþ
8-1¾®»E¦¡»P¤Àµõ¦¡¼h¦¸»EÃþ¤Î¨ä¾ðª¬¹Ïªí¥Ü
8-2©w¸q¤@­Ó¦nªº³s±µ¶ZÂ÷ªº´XºØµ¦²¤
8-2-1¤@­Ó¥Î¤_¾®»E¦¡¼h¦¸»EÃþªº³q¥Îºâªk
8-2-2¬°¤¸¯À¿ï¾Ü¦X¾Aªº°ò¥»¶ZÂ÷¨ç¼Æ
8-3Ward¦X¦}·Ç«h©M½è¤ß
8-4±q¾ðª¬¹Ï¤¤Àò¨ú¥­­±¹º¤À
8-5¶W«×¶q¶ZÂ÷©M¶i¤Æ¾ð
8-6ª`ÄÀ©M°Ñ¦Ò
8-7Á`µ²
8-8½m²ß
°Ñ¦Ò¤åÄm
²Ä9³¹¦³ºÊ·þ¾Ç²ß: kúQNN³W«h¤ÀÃþªº²z½×©M¹ê½î
9-1¦³ºÊ·þ¾Ç²ß
9-2³Ìªñ¾F¤ÀÃþ¡GNN³W«h
9-2-1³Ìªñ¾F¬d¸ß¤¤¼Ú´X¨½±o¶ZÂ÷­pºâªºÀu¤Æ¤èªk
9-2-2³Ìªñ¾F¡]NN¡^³W«h©MVoronoi¹Ï
9-2-3§Q¥ÎkúQNN³W«h³q¹Lªí¨M¨Ó¼W±jNN³W«h
9-3¤ÀÃþ¾¹©Ê¯àµû¦ô
9-3-1»~§P¿ù»~²v
9-3-2²V²c¯x°}»P¯u/°²¤Î¶§©Ê/³±©Ê
9-4·Ç½T²v¡B¥l¦^²v©MF­È
9-5²Î­p¾÷¾¹¾Ç²ß©M¨©¸­´µ³Ì¤p»~®t¬É
9-5-1«D°Ñ¼Æ·§²v±K«×¦ô­p
9-5-2»~®t·§²v©M¨©¸­´µ»~®t
9-5-3kúQNN³W«hªº»~®t·§²v
9-6¦b­pºâ¾÷¶°¸s¤W¹ê²{³Ìªñ¾F¬d¸ß
9-7ª`ÄÀ©M°Ñ¦Ò
9-8Á`µ²
9-9½m²ß
°Ñ¦Ò¤åÄm
²Ä10³¹°ò¤_®Ö¤ß¶°ªº°ªºû§Ö³tªñ¦üÀu¤Æ©M§Ö³t­°ºû
10-1¤j³W¼Ò¼Æ¾Ú¶°ªºªñ¦üÀu¤Æ
10-1-1°ªºû«×ªº¥²­n©Ê¥Ü¨Ò
10-1-2°ªºû«×¤Wªº¤@¨Ç¶ZÂ÷²{¶H
10-1-3®Ö¤ß¶°¡G±q¤j¼Æ¾Ú¶°¨ì¤p¼Æ¾Ú¶°
10-2®Ö¤ß¶°ªº©w¸q
10-3³Ì¤p³¬¥]²yªº®Ö¤ß¶°
10-4¤@­Ó¥Î¨Óªñ¦ü³Ì¤p³¬¥]²yªºÂ²³æ­¡¥N±Òµo¦¡¤èªk
10-4-1¦¬ÀÄ©ÊÃÒ©ú
10-4-2¤p³¬¥]²y©M¥Î¤_SVMªºÃä½t½u©Ê¤ÀÂ÷¾¹
10-5k§¡­Èªº®Ö¤ß¶°
10-6°ò¤_ÀH¾÷§ë¼v¯x°}ªº§Ö³t­°ºû
10-6-1ºû¼Æ¨aÃø
10-6-2°ªºû«×¥ô°Èªº¨â­Ó¥Ü¨Ò
10-6-3½u©Ê­°ºû
10-6-4JohnsonúQLindenstrauss©w²z
10-6-5ÀH¾÷§ë¼v¯x°}
10-7ª`ÄÀ©M°Ñ¦Ò
10-8Á`µ²
10-9½m²ß
°Ñ¦Ò¤åÄm
²Ä11³¹¹Ï¦}¦æºâªk
11-1¦b¤j¹Ï¤¤´M§ä¡]³Ì¡^¸Y±K¤l¹Ï
11-1-1°ÝÃD´y­z
11-1-2³Ì¸Y±K¤l¹Ïªº´_Âø«×©M¤@­Ó²³æªº³g¤ß±Òµo¦¡ºâªk
11-1-3³Ì¸Y±K¤l¹Ïªº¦}¦æ±Òµo¦¡ºâªk
11-2§PÂ_¡]¤l¡^¹Ï¦Pºc
11-2-1ªTÁ|ºâªkªº¤@¯ë­ì«h
11-2-2Ullmanºâªk¡GÀË´ú¤l¹Ï¦Pºc©Ê
11-2-3ªTÁ|ºâªk¦}¦æ¤Æ
11-3ª`ÄÀ©M°Ñ¦Ò
11-4Á`µ²
11-5½m²ß
°Ñ¦Ò¤åÄm
ªþ¿ýA µ§¸Õ
ªþ¿ýB SLURM:¶°¸s¤Wªº¸ê·½ºÞ²z¾¹©M¥ô°È½Õ«×¾¹
§Ç¡G