Data.Array.Accelerate ஹாஸ்கெல்லில் உயர்-செயல்திறன் கம்ப்யூட்டிங்கிற்கான உட்பொதிக்கப்பட்ட மேட்ரிக்ஸ் கால்குலஸ் மொழியை வரையறுக்கிறது. வழக்கமான பல பரிமாண வரிசைகள் மீதான கணக்கீடுகள் அளவுருக் கூட்டு செயல்பாடுகளாக வெளிப்படுத்தப்படுகின்றன (வரைபடங்கள், குறைப்புகள் மற்றும் வரிசைமாற்றங்கள் போன்றவை). இந்த கணக்கீடுகள் ஆன்லைனில் தொகுக்கப்பட்டு பரந்த அளவிலான கட்டமைப்புகளில் இயங்குகின்றன.
மேலும் விவரங்களுக்கு, எங்கள் ஆவணங்களைப் பார்க்கவும்:
சில விரைவு விளக்கக்காட்சிகளிலிருந்து ஸ்லைடுகளும் உள்ளன:
சைமன் மார்லோவின் ஹாஸ்கெல்லில் உள்ள பேரலல் அண்ட் கன்கரண்ட் புரோகிராமிங் புத்தகத்தின் 6வது அத்தியாயம் ஆக்சிலரேட் செய்வதற்கான அறிமுகப் பயிற்சியைக் கொண்டுள்ளது.
ட்ரெவரின் பிஎச்டி ஆய்வறிக்கை CUDA ஃபிரண்ட்எண்ட் மற்றும் பேக்எண்ட் மேம்படுத்தல்களின் வடிவமைப்பு மற்றும் செயல்படுத்தலை விவரிக்கிறது.
உள்ளடக்கம்
ஒரு எளிய எடுத்துக்காட்டு, ஒற்றை துல்லியமான மிதக்கும்-புள்ளி எண்களின் இரண்டு திசையன்களின் புள்ளித் தயாரிப்பைக் கணக்கிடுவதைக் கவனியுங்கள்:
dotp :: Acc (Vector Float) -> Acc (Vector Float) -> Acc (Scalar Float)
dotp xs ys = fold (+) 0 (zipWith (*) xs ys)
வகையைத் தவிர, இந்தக் குறியீடு ஃப்ளோட் பட்டியல்களில் உள்ள தொடர்புடைய ஹாஸ்கெல் குறியீட்டை கிட்டத்தட்ட ஒத்ததாக இருக்கும். செயல்திறனுக்காக கணக்கீடு ஆன்லைனில் தொகுக்கப்படலாம் என்பதை வகைகள் குறிப்பிடுகின்றன; உதாரணமாக, பயன்படுத்தி Data.Array.Accelerate.LLVM.PTX.run ஒரு GPU க்கு பறக்கும்போது பதிவிறக்கம் செய்யலாம்.
தொகுதி முடுக்கி இதிலிருந்து கிடைக்கிறது:
Haskell கருவித்தொகுப்பை நிறுவ, GHCup ஐ முயற்சிக்கவும்.
பின்வரும் ஆதரிக்கப்படும் துணை நிரல்கள் தனித் தொகுப்புகளாகக் கிடைக்கின்றன:
இவை அனைத்தும் ஹேக்கேஜில் கிடைக்கும்.
- Haddock ஆவணங்கள் சேர்க்கப்பட்டுள்ளது மற்றும் ஹேக்கேஜின் தனிப்பட்ட தொகுப்பு வெளியீடுகளுடன் இணைக்கப்பட்டுள்ளது.
- நூலகத்தில் பயன்படுத்தப்படும் HOAS (Higher Order Abstract Syntax) க்கு de-Bruijn மாற்றத்திற்கான யோசனை தனித்தனியாக விவரிக்கப்பட்டுள்ளது.
துரிதப்படுத்தப்பட்ட எடுத்துக்காட்டுகள் தொகுப்பு பல கணினி கோர்கள் மற்றும் சில முழுமையான பயன்பாடுகளை வழங்குகிறது. எடுத்துக்காட்டுகள் அடங்கும்:
- ஆர்வமுள்ள விளிம்பு கண்டறிதலை செயல்படுத்துதல்
- ஒரு ஊடாடும் மாண்டல்பிரோட் செட் ஜெனரேட்டர்
- திட துகள்களுக்கு இடையே உள்ள ஈர்ப்பு ஈர்ப்பின் N-உடல் உருவகப்படுத்துதல்
- பேஜ் தரவரிசை அல்காரிதம் செயல்படுத்துதல்
- ஒரு எளிய கதிர் ட்ரேசர்
- நிலையான திரவ ஓட்டங்களின் துகள் அடிப்படையிலான உருவகப்படுத்துதல்
- ஒரு செல்லுலார் ஆட்டோமேட்டன் சிமுலேஷன்
- MD5 ஹாஷ்களின் அகராதி தேடலுக்கான “கடவுச்சொல் மீட்பு” கருவி
இவற்றை இயக்க, ஹேக்கேஜில் இருந்து மூலத்தைப் பெறவும் cabal get accelerate-examples அல்லது git களஞ்சியத்தை குளோன் செய்து, பிறகு பயன்படுத்தவும் cabal run தனிப்பட்ட இயங்கக்கூடியவற்றில்.
LULESH-accelerated என்பது லிவர்மோர் கட்டமைக்கப்படாத லாக்ராஞ்சியன் வெளிப்படையான அதிர்ச்சி ஹைட்ரோடைனமிக்ஸ் (LULESH) மினி-ஆப்பை செயல்படுத்துவதாகும். LULESH என்பது ALE3D போன்ற ஒரு பொதுவான ஹைட்ரோடைனமிக் குறியீட்டைக் குறிக்கிறது, ஆனால் இது ஒரு கட்டமைக்கப்படாத ஹெக்ஸாஹெட்ரல் மெஷ் மீது Sedov வெடிப்புச் சிக்கலைத் தீர்க்க குறியிடப்பட்ட மிகவும் எளிமையான பயன்பாடாகும்.
விரைவுபடுத்தும் பயனர்கள் தங்களுக்குச் சொந்தமான சில கணிசமான பயன்பாடுகளையும் உருவாக்கியுள்ளனர். உங்கள் சொந்த உதாரணங்களைச் சேர்க்க தயங்க வேண்டாம்!
- ஜொனாதன் ஃப்ரேசர், GPUVAC: அட்வெக்ஷன் மேக்னடோஹைட்ரோடைனமிக்ஸின் வெளிப்படையான உருவகப்படுத்துதல்
- டேவிட் வான் பேலன், சுடோகஸ்: ஒரு சுடோகு தீர்வு
- ட்ரெவர் எல். மெக்டொனெல், லால்-அக்சிலரேட்: ரிங்-அடிப்படையிலான லேட்டிஸ் கிரிப்டோகிராஃபிக்கான Λ ○ λ (Lol) நூலகத்திற்கான பின்தளம்
- Henning Thielemann, பேட்ச்-படம்: ஒன்றுடன் ஒன்று படங்களின் படத்தொகுப்பை ஒருங்கிணைக்கிறது
- apunktbau, bildpunkt: ஒரு கதிர் தூர புலம் ரெண்டரிங் கருவி
- klarh, hasdy: முடுக்கத்தைப் பயன்படுத்தி ஹாஸ்கெல்லில் மூலக்கூறு இயக்கவியல்
- CSCS சம்மர் ஸ்கூல் 2014 (குறியீடு) இன் ஒரு பகுதியாக Alexandros Gremm பயன்படுத்தினார்
முடுக்கம் அணி (கடந்த மற்றும் நிகழ்காலம்) பின்வருவனவற்றைக் கொண்டுள்ளது:
Accelerate இன் முக்கிய பராமரிப்பாளர் மற்றும் டெவலப்பர் Trevor L. McDonell trevor.mcdonell@gmail.com.
அஞ்சல் பட்டியல் மற்றும் தொடர்புகள்
நீங்கள் கல்வி ஆராய்ச்சிக்காக Accelerate ஐப் பயன்படுத்துகிறீர்கள் என்றால், பின்வரும் படைப்புகளை மேற்கோள் காட்ட நீங்கள் ஊக்குவிக்கப்படுவீர்கள் (தேவை இல்லை என்றாலும்):
-
மானுவல் எம்டி சக்ரவர்த்தி, கேப்ரியல் கெல்லர், சீன் லீ, ட்ரெவர் எல். மெக்டொனெல் மற்றும் வினோத் குரோவர். மல்டிகோர் GPUகளுடன் ஹாஸ்கெல் வரிசை குறியீடுகளை துரிதப்படுத்துகிறது. இல் DAMP ’11: மல்டிகோர் புரோகிராமிங்கின் அறிவிப்பு அம்சங்கள்ஏசிஎம், 2011.
-
ட்ரெவர் எல். மெக்டொனெல், மானுவல் எம்டி சக்ரவர்த்தி, கேப்ரியல் கெல்லர் மற்றும் பென் லிப்மியர். முற்றிலும் செயல்பாட்டு GPU நிரல்களை மேம்படுத்துதல். இல் ICFP ’13: 18வது ACM SIGPLAN செயல்பாட்டு நிரலாக்கத்திற்கான சர்வதேச மாநாடுஏசிஎம், 2013.
-
ராபர்ட் கிளிஃப்டன்-எவரெஸ்ட், ட்ரெவர் எல். மெக்டொனெல், மானுவல் எம்டி சக்ரவர்த்தி மற்றும் கேப்ரியல் கெல்லர். வெளிநாட்டு குறியீட்டை உட்பொதித்தல். இல் PADL ’14: பிரகடன மொழிகளின் நடைமுறை அம்சங்கள் குறித்த 16வது சர்வதேச சிம்போசியம்ஸ்பிரிங்கர்-வெர்லாக், LNCS, 2014.
-
ட்ரெவர் எல். மெக்டொனெல், மானுவல் எம்டி சக்ரவர்த்தி, வினோத் குரோவர் மற்றும் ரியான் ஆர். நியூட்டன். வகை-பாதுகாப்பான இயக்க நேர குறியீடு உருவாக்கம்: LLVM க்கு முடுக்கி. இல் ஹாஸ்கெல் ’15: ஹாஸ்கெல் பற்றிய 8வது ACM SIGPLAN சிம்போசியம்ஏசிஎம், 2015.
-
ராபர்ட் கிளிஃப்டன்-எவரெஸ்ட், ட்ரெவர் எல். மெக்டொனெல், மானுவல் எம்டி சக்ரவர்த்தி மற்றும் கேப்ரியல் கெல்லர். ஒழுங்கற்ற மெட்ரிக்குகளை ஸ்ட்ரீமிங் செய்கிறது. Haskell ’17 இல்: Haskell, ACM, 2017 இல் 10வது ACM SIGPLAN சிம்போசியம்.
முடுக்கம் முதன்மையாக கல்வியாளர்களால் உருவாக்கப்பட்டது, எனவே மேற்கோள்கள் எங்களுக்கு மிகவும் முக்கியம். கூடுதல் நன்மையாக, நீங்கள் ஆக்சிலரேட்டின் வெளிப்பாடு மற்றும் சாத்தியமான பயனர்களை (மேலும் டெவலப்பர்கள்!) அதிகரிக்கிறீர்கள், இது அனைத்து ஆக்சிலரேட் பயனர்களுக்கும் ஒரு நன்மையாகும். முன்கூட்டியே நன்றி!
தற்போது விடுபட்ட அம்சங்களின் பட்டியல் இங்கே:
- பூர்வாங்க API (API இன் பகுதிகள் இன்னும் பிந்தைய பதிப்புகளில் மாறலாம்)
- மேலும் பல அம்சங்கள்… எங்களை தொடர்பு கொள்ளவும்!











Leave a Reply