Slide 1

Slide 1 text

&MJYJSʹ͓͚Δ σʔλฒྻεέϧτϯʹجͮ͘ 4*.%ฒྻԽͷੑೳධՁ ๺۝भࢢཱେֶɹࢁ࡚ਐɹٱߐ༤ت 1 ˜4VTVNV:BNB[BLJ

Slide 2

Slide 2 text

ࠓճͷΞοϓσʔτ಺༰ w 1FMFNBZͷֶज़తഎܠɼઌߦݚڀΛௐࠪ w ৄࡉͳੑೳධՁΛ࣮ࢪ 2 ˜4VTVNV:BNB[BLJ

Slide 3

Slide 3 text

എܠ 3 ˜4VTVNV:BNB[BLJ

Slide 4

Slide 4 text

#.' w ݱ୅ʹ͓͍ͯ͸ఆ൪ͱͳͬͨؔ਺ܕ ϓϩάϥϛϯάʹ͓͚ΔఆࣜԽ [2] Bird, R. S.: An Introduction to the Theory of Lists, Logic of Programming and Calculi of Discrete Design (Broy, M., ed.), NATO ASI Series (Series F: Computer and Systems Sciences), Vol. 36, Springer, Berlin, Heidelberg (1987). w جຊૢ࡞NBQ SFEVDFͳͲ w &MJYJSʹ͓͍ͯ΋&OVNϞδϡʔϧͱ ࣮ͯ͠૷͞Ε͍ͯΔ w ӈਤ#.'ͱͯ͠ͷ&MJYJSίʔυྫ ˜4VTVNV:BNB[BLJ

Slide 5

Slide 5 text

ฒྻϓϩάϥϛϯά͕ࠔ೉Ͱ͋Δཧ༝ w ҰํɼϚϧνίΞ$16ͷීٴʹΑͬͯɼฒྻܭࢉ؀ڥ͕೔ৗతʹਁಁ͍ͯ͠Δ w ͔͠͠ɼґવͱͯ͠ฒྻϓϩάϥϛϯά͸೉͍͠ w ͦͷཧ༝͸࣍ͷͱ͓ΓͰ͋Δ ଟ͘ͷฒྻϓϩάϥϛϯάͰ͸ɼಉظɾഉଞ੍ޚ΍Ұ؏ੑϞσϧ΁ͷशख़Λඞཁͱ͢Δ ฒྻΞϧΰϦζϜΛద੾ʹ࢖͍෼͚Δඞཁ͕͋Δ ΑΓɼஞ࣍ϓϩάϥϛϯάʹൺ΂ֶͯशίετ͕ߴ͍ शख़ͨ͠ޙ΋ɼ৻ॏʹ͔ͭద੾ʹϓϩάϥϛϯά͢Δඞཁ͕͋ΔͨΊɼίʔυͷੜ࢈ੑ ͕མͪΔ ͷ؍఺ͰϓϩάϥϜΛॻ͖Լ͢ඞཁ͕͋ΔͨΊɼίʔυͷՄಡੑ͕མͪΔ 5 ˜4VTVNV:BNB[BLJ

Slide 6

Slide 6 text

ΞϧΰϦζϜɾεέϧτϯ w ฒྻܭࢉͰසग़͢ΔܭࢉύλʔϯΛදؔ͢਺ͱͯ͠ந৅Խͨ͠΋ͷ w ൥ࡶʹͳΓ͕ͪͳಉظɾഉଞ੍ޚɼҰ؏ੑϞσϧɼฒྻΞϧΰϦζϜͷهड़Λந৅Խ͢Δ w εέϧτϯฒྻϓϩάϥϛϯάεέϧτϯͷ૊Έ߹ΘͤʹΑͬͯฒྻϓϩάϥϜΛߏ੒ ͢Δ [4] Cole, M.: Algorithmic Skeletons: Structured Management of Parallel Computation, MIT Press (1989). w εέϧτϯͷछྨ w σʔλฒྻεέϧτϯ Ұ༷ͳཁૉΛ࣋ͭσʔλʹରͯ͠ɼ֤ཁૉʹಉ͡ૢ࡞Λߦ͏Α͏ͳύλʔϯ w λεΫฒྻεέϧτϯ ґଘؔ܎ʹͳ͍ಠཱͨ͠ܭࢉΛฒྻԽ͢ΔΑ͏ͳύλʔϯ 6 ˜4VTVNV:BNB[BLJ

Slide 7

Slide 7 text

#.'ͱσʔλฒྻεέϧτϯɼ'MPX w #.'͕σʔλฒྻεέϧτϯͷͭͱͯ͠ฒྻॲཧʹ༗ޮʹػೳ [10] Skillicorn, D. B.: Foundation of Parallel Programming, Cambridge International Series on Parallel Computation, Cambridge University Press (1994). w &MJYJSͰ͸'MPX͕֘౰ w +BWBͰ͸4USFBNύοέʔδ͕֘౰ w ϦετॲཧΛϓϩηεʹ෼ׂ͠ɼ֤$16ίΞͰฒྻॲཧΛߦ͍ɼ ܭࢉ݁ՌΛϚʔδ͢Δ w ֤ϓϩηεʹׂΓ౰ͯΒΕͨܭࢉΛϚʔδ͢Δॱ൪͸ඇܾఆతʹ ͳΔ఺ʹ஫ҙ w ӈਤ͸'MPXͷϓϩάϥϛϯάྫ w ίʔυதʹಉظɾഉଞ੍ޚɼҰ؏ੑϞσϧɼฒྻΞϧΰϦζϜʹ ؔ͢Δෳࡶͳίʔυ͸ؚ·Ε͍ͯͳ͍఺ʹ஫ҙ w 'MPX͸*0ό΢ϯυͳॲཧͷ৔߹ʹ༏ΕͨੑೳΛൃش w ͔͠͠ɼ$16ό΢ϯυͳॲཧͷ࣌ʹ͸ஞ࣍ॲཧΑΓ͔͑ͬͯ஗͍ w ϓϩηεͷىಈͱϦετॲཧʹଟେͳΦʔόʔϔου͕ੜ͡Δ ˜4VTVNV:BNB[BLJ

Slide 8

Slide 8 text

)BTLFMMʹ͓͚Δ(1(16ฒྻԽ w 4LJMMJDPSOͷݪཧ<>ΛԠ༻͠ɼ$IBLSBWBSUZΒ<>͸ɼ#.'Λ ଟ༻͢Δ)BTLFMMϓϩάϥϜʹ͍ͭͯɼ֤ૢ࡞Λσʔλฒྻ εέϧτϯͱΈͳͯ͠(1(16ʹΑΔฒྻԽΛߦ͏ख๏ΛఏҊͨ͠ [10] Skillicorn, D. B.: Foundation of Parallel Programming, Cambridge International Series on Parallel Computation, Cambridge University Press (1994). [3] Chakravarty, M. M., Keller, G., Lee, S., McDonell, T. L. and Grover, V.: Accelerating Haskell Array Codes with Multicore GPUs, Proceedings of the Sixth Workshop on Declarative Aspects of Multicore Programming, DAMP’11, Vol. 6, No. 1, New York, NY, USA, Association for Computing Machinery, pp. 3–14 (online), DOI: 10.1145/1926354.1926358 (2011). 8 ˜4VTVNV:BNB[BLJ

Slide 9

Slide 9 text

1FMFNBZ w σʔλฒྻεέϧτϯͷߟ͑ํʹج͍ͮͯ$IBLSBWBSUZ Β<>ͷख๏Λ&MJYJSʹԠ༻ͨ͠΋ͷͱҐஔ෇͚ΒΕΔ w 'MPXͷऑ఺Ͱ͋Δ$16ό΢ϯυͳॲཧͷ৔߹ʹߴ଎ʹ ॲཧͰ͖ΔΑ͏ʹઃܭɾ࣮૷ w ӈਤ͸1FMFNBZͷίʔυྫ w ࠷େͰMJTUͷཁૉ਺ͷฒྻ౓Λ࣋ͭ͜ͱΛར༻ͯ͠ฒྻ Խ͢Δ w ಉظɾഉଞ੍ޚɼҰ؏ੑϞσϧɼฒྻΞϧΰϦζϜʹ ؔ͢Δෳࡶͳίʔυ͸ؚ·Ε͍ͯͳ͍͜ͱʹ஫ҙ w ݱঢ়Ͱ͸$MBOH΍($$ʹΑΔ"VUP7FDUPSJ[BUJPOΛ ༻͍ͯ4*.%໋ྩΛੜ੒͢ΔฒྻԽΛߦ͏ w কདྷతʹ͸$6%"౳Λ༻͍ͨ(1(16Λߦ͏Α͏ʹ֦ு ͢Δ༧ఆ w 0QFO$- $6%"ʹΑΔϓϩτλΠϓͰͷಈ࡞ݕূ͸ ࡁ·͍ͤͯΔ ˜4VTVNV:BNB[BLJ

Slide 10

Slide 10 text

ฒྻԽͷํ਑ 10 ˜4VTVNV:BNB[BLJ

Slide 11

Slide 11 text

ฒྻԽͷํ਑ w ฒྻԽͷํ਑ʹ͍ͭͯ͸Լهʹͯطൃද ࠓճͷ༧ߘͰݴ ٴ͢ΔͷΛ๨Ε͍ͯ·ͨ͠ <>ࢁ࡚ਐฒྻϓϩάϥϛϯάॲཧܥ1FMFNBZͷ"3. ΞʔΩςΫνϟͱ*P5ϓϥοτϑΥʔϜ/FSWFT΁ͷద ༻ɼୈճ૊ࠐΈγεςϜݚڀൃදձɼ৘ใॲཧֶձ 11 ˜4VTVNV:BNB[BLJ

Slide 12

Slide 12 text

1FMFNBZʹΑΔฒྻԽ w ӈਤΛ1FMFNBZͰίʔυੜ੒͢Δͱࠨਤͷ$ݴޠίʔυʹͳΔ ˜4VTVNV:BNB[BLJ

Slide 13

Slide 13 text

1FMFNBZʹΑΔฒྻԽ w 1FMFNBZ͸ݩͷϓϩάϥϜίʔυ͔ΒฒྻԽͰ͖Δύλʔϯ ӈਤͷ੺࿮ Λೝࣝ͠ɼ$ݴޠͰॻ͔ΕͨςϯϓϨʔτʹ౰ͯ͸Ίͯίʔυੜ੒͢Δ ˜4VTVNV:BNB[BLJ

Slide 14

Slide 14 text

1FMFNBZʹΑΔฒྻԽ w ӈਤͷίʔυ͸ɼϦετͷཁૉͱͯ͠ɼුಈখ਺఺਺ܕͱ੔਺ܕͷ͍ͣΕ΋ड͚෇͚Δ w $ݴޠʹίϯύΠϧͨ͠ͱ͖΋ුಈখ਺఺਺ܕ ʙߦ໨ ͱ੔਺ܕ ʙߦ໨ ͷͭͷؔ਺Λ ੜ੒͢Δ ˜4VTVNV:BNB[BLJ

Slide 15

Slide 15 text

1FMFNBZʹΑΔฒྻԽ w ߦ໨͓Αͼߦ໨͸ɼ$MBOHʹର͠ "VUP7FDUPSJ[BUJPOΛࢦࣔ͢Δهड़ w ϕΫτϧԽΛ༗ޮʹ͢Δ w ϕΫλʔ෯ΛϚΫϩఆ਺ -001@7&$503*;&@8*%5)Ͱࢦఆ ͨ͠஋ʹ͢Δ w ϧʔϓΛ4*.%໋ྩΛؚΉωΠςΟ ϒίʔυʹม׵͢Δ w ࠷ۙͷ($$Ͱ͸ɼ͜ͷΑ͏ͳهड़͕ ͳ͘ͱ΋ɼίϯύΠϧΦϓγϣϯͰ 0΍0GBTUͳͲΛࢦఆͨ͠৔߹͸ɼ ࣗಈతʹϕΫτϧԽΛߦ͏ ˜4VTVNV:BNB[BLJ

Slide 16

Slide 16 text

1FMFNBZʹΑΔฒྻԽ w ߦ໨͓Αͼߦ໨͸ɼ$MBOHʹର͠ "VUP7FDUPSJ[BUJPOΛࢦࣔ͢Δهड़ w ϕΫλʔ෯ΛϚΫϩఆ਺ -001@7&$503*;&@8*%5)Ͱ ࢦఆͨ͠஋ʹ͢Δ w ࠷ۙͷ($$Ͱ͸ɼ͜ͷΑ͏ͳهड़͕ ͳ͘ͱ΋ɼίϯύΠϧΦϓγϣϯͰ 0΍0GBTUͳͲΛࢦఆͨ͠৔߹ ͸ɼࣗಈతʹϕΫτϧԽΛߦ͏ ✴-001@7&$503*;&@8*%5)͸ $MBOHͰίϯύΠϧͨ࣌͠ͷΈ࡞༻͠ ($$ͷ࣌ʹ͸࡞༻͠ͳ͍ ˜4VTVNV:BNB[BLJ

Slide 17

Slide 17 text

ੑೳධՁ 17 ˜4VTVNV:BNB[BLJ

Slide 18

Slide 18 text

ϋʔυ΢ΣΞɾιϑτ΢ΣΞ࢓༷ w 1$ͷϋʔυ΢ΣΞ࢓༷͸ද w ιϑτ΢ΣΞͷ࢓༷͸ද ˜4VTVNV:BNB[BLJ

Slide 19

Slide 19 text

੔਺ԋࢉϕϯνϚʔΫ w ੔਺ϕϯνϚʔΫͱͯ͠ɼૉମͷϩδε ςΟοΫࣸ૾Λճܭࢉ͢ΔԋࢉΛ࣮ࢪ [7] Miyazaki, T., Araki, S., Uehara, S. and Nogami, Y.: A Study of an Automorphism on the Logistic Maps over Prime Fields, Proc. of The 2014 International Symposium on Information Theory and its Applications (ISITA2014), pp. 727–731 (2014). w ԋࢉΧʔωϧ͸ճͷ&OVNNBQΛ ίϯύΠϧͯ͠ੜ੒ w ճͷMPHJTUJD@NBQؔ਺ݺग़͠Ͱճͷ Χʔωϧݺग़͠Λߦͳ͍ͬͯΔ w #FODIGFMMBΛ༻͍ͯճͷMPHJTUJD@NBQ ؔ਺ݺग़͠ʹཁ͢Δ࣌ؒΛܭଌ ˜4VTVNV:BNB[BLJ

Slide 20

Slide 20 text

ුಈখ਺఺਺ԋࢉϕϯνϚʔΫ w ුಈখ਺఺਺ϕϯνʔϚʔΫ ͱͯ͠ɼϦετͷ֤ཁૉΛຕ ͢ΔॲཧΛ࣮ࢪ w ճͷGVODؔ਺ݺग़͠Ͱճͷ Χʔωϧݺग़͠ w #FODIGFMMBΛ༻͍ͯճͷ MPHJTUJD@NBQؔ਺ݺग़͠ʹཁ ͢Δ࣌ؒΛܭଌ ˜4VTVNV:BNB[BLJ

Slide 21

Slide 21 text

จࣈྻஔ׵ϕϯνϚʔΫ w จࣈྻஔ׵ϕϯνʔϚʔΫͱ͠ ͯɼ୹͍จࣈྻͷҰׅஔ׵Λߦ ͏ॲཧΛ࣮ࢪ w ݱࡏ࣮૷͍ͯ͠Δจࣈྻஔ׵͸ ઢܗ୳ࡧʹΑΔ΋ͷ w ճͷGVODؔ਺ݺग़͠Ͱճͷ Χʔωϧݺग़͠ w #FODIGFMMBΛ༻͍ͯճͷ MPHJTUJD@NBQؔ਺ݺग़͠ʹཁ͢ Δ࣌ؒΛܭଌ ˜4VTVNV:BNB[BLJ

Slide 22

Slide 22 text

࣮ݧ݁Ռ 22 ˜4VTVNV:BNB[BLJ

Slide 23

Slide 23 text

&OVN'MPXͱͷൺֱ w ैདྷͷ&OVN'MPXͱൺ΂ͯ࣍ͷΑ͏ ͳੑೳ޲্Λୡ੒ͨ͠ w ੔਺ԋࢉͰഒഒ w ුಈখ਺఺਺ԋࢉͰഒഒ w จࣈྻஔ׵Ͱഒഒ w ˜4VTVNV:BNB[BLJ

Slide 24

Slide 24 text

-001@7&$503*;&@8*%5) w -001@7&$503*;&@8*%5)Λ ม͑ͨ࣌ͷ࣮ݧ݁Ռ w ͷ͕࣌࠷ળͰɼԼهͷੑೳ޲্ w ੔਺ԋࢉͰ w ුಈখ਺఺਺ԋࢉͰ w จࣈྻஔ׵Ͱ ˜4VTVNV:BNB[BLJ

Slide 25

Slide 25 text

ίϯύΠϥͱNBSDIOBUJWFΦϓγϣϯͷ༗ແ w ίϯύΠϥͱΦϓγϣϯΛม͑ͨ࣌ͷ࣮ݧ݁Ռ w ුಈখ਺఺਺ɼจࣈྻஔ׵ͷ࣌$MBOH w ਫ৭ w 44&໋ྩΛ࢖༻ w ੔਺ԋࢉͷ࣌($$NBSDIOBUJWF w ੺໼ҹ෦෼ w Ϗοτ੔਺ԋࢉ w 4*.%໋ྩΛੜ੒ͤͣʹ௨ৗͷ໋ྩ ˜4VTVNV:BNB[BLJ

Slide 26

Slide 26 text

4*.%໋ྩͷׂ߹ w ਤ"ʙͷΞηϯϒϦίʔυΛ΋ͱʹ 4*.%໋ྩͷׂ߹Λܭଌ w ੔਺ԋࢉϕϯνϚʔΫʹ͍ͭͯɼ$MBOHͰ NBSDIΦϓγϣϯͳ͠ 44&໋ྩΛੜ੒ w -001@7&$503*;&@8*%5) w ࠷΋಺ଆͷϧʔϓʹண໨͠ɼ4*.%໋ྩͱ ͦΕҎ֎ͷ໋ྩΛͦΕͧΕΧ΢ϯτ w ԋࢉΧʔωϧͷ࠷಺ϧʔϓ಺ͷ໋ྩΧ΢ϯ τͰ4*.%໋ྩ͕઎ΊΔׂ߹͸ ˜4VTVNV:BNB[BLJ

Slide 27

Slide 27 text

QFSGͷ࣮ߦ݁Ռ w QFSGTUBUͰ੔਺ԋࢉϕϯν ϚʔΫͷΧʔωϧΛ࣮ߦ w *1$͸લޙ w Ωϟογϡϛε཰͕ൺֱతେ͖ ͍ͷ͸ɼຊϕϯνϚʔΫ͕େ͖ ͳαΠζͷ഑ྻΛճ૸ࠪ͠ͳ ͕Βܭࢉ͢ΔͨΊ w όοΫΤϯυͷετʔϧ͕ൺֱ తଟ͘ൃੜ͍ͯ͠Δͷ͸ɼআࢉ Ͱ௕͍ϨΠςϯγ͕ൃੜ͍ͯ͠ ΔͨΊ ˜4VTVNV:BNB[BLJ

Slide 28

Slide 28 text

·ͱΊͱকདྷ՝୊ 28 ˜4VTVNV:BNB[BLJ

Slide 29

Slide 29 text

·ͱΊ w 1FMFNBZͷֶज़తഎܠʹ͍ͭͯ·ͱΊͨ w ैདྷͷ&OVN'MPXͱൺ΂ͯ࣍ͷΑ͏ͳੑೳ޲্Λୡ੒ͨ͠ w ੔਺ԋࢉͰഒഒ w ුಈখ਺఺਺ԋࢉͰഒഒ w จࣈྻஔ׵Ͱഒഒ w -001@7&$503*;&@8*%5)͸͕࠷ળͰ͋ͬͨ w 44&໋ྩΛੜ੒ͨ͠$MBOH͕ුಈখ਺఺਺ɼจࣈྻஔ׵Ͱ࠷ળɼ Ϗοτ੔਺ԋࢉΛଟ༻͢Δͱ௨ৗ໋ྩΛੜ੒ͨ͠($$NBSDIOBUJWF͕࠷ળ w 4*.%໋ྩ͕઎ΊΔׂ߹͸ˋ w QFSGͰ੔਺ԋࢉΧʔωϧΛ࣮ߦͨ࣌͠ɼΩϟογϡϛε཰͸ˋɼόοΫΤϯυͷετʔϧαΠΫϧ ͸ˋͱߴ͘ɼ෼ذ༧ଌϛε͸ˋɼϑϩϯτΤϯυͷετʔϧαΠΫϧ཰͸ͱ௿͔ͬͨ *1$͸લޙͰ͋ͬͨ 29 ˜4VTVNV:BNB[BLJ

Slide 30

Slide 30 text

কདྷ՝୊ w কདྷ͸࣍Λ࣮૷͠ɼ)BTLFMM΍+BWBͱൺֱ w $6%"౳ʹΑΔ(16ʹΑΔฒྻԽ w ϚϧνίΞ$16ʹΑΔฒྻԽ 30 ˜4VTVNV:BNB[BLJ

Slide 31

Slide 31 text

কདྷ՝୊ w ຊݚڀ͸ɼߴڃݴޠͰ͋Δ͕ɼಛఆͷܗʹ͸·ͬͨίʔ υʹ͍ͭͯ͸࠷దԽ͢ΔΞϓϩʔνΛ࠾༻ͨ͠ w ͜ͷΞϓϩʔνͷ৔߹ɼΑΓ௿ڃͳݴޠͰಉ͡ܭࢉΛه ड़ͨ͠ϓϩάϥϜίʔυʹൺ΂ͯɼͲͷ͘Β͍࠷ળΛਚ͘ ͍ͤͯΔ͔ɼൺֱ 31 ˜4VTVNV:BNB[BLJ