LLVM திட்டம் HPVM 1.0 ஐ அறிமுகப்படுத்தியது, இது CPU, GPU, FPGA மற்றும் முடுக்கிகளுக்கான தொகுப்பாகும்.

LLVM திட்டத்தின் டெவலப்பர்கள் HPVM 1.0 (ஹெட்டோஜெனியஸ் பாரலல் விர்ச்சுவல் மெஷின்) கம்பைலரின் வெளியீட்டை வெளியிட்டுள்ளனர், இது பன்முக அமைப்புகளுக்கான நிரலாக்கத்தை எளிதாக்குவதையும், CPUகள், GPUகள், FPGAகள் மற்றும் டொமைன்-சார்ந்த வன்பொருள்களுக்கான வன்பொருள்-சார்ந்த சாதனங்களுக்கான குறியீட்டை உருவாக்குவதற்கான கருவிகளை வழங்குவதையும் நோக்கமாகக் கொண்டுள்ளது. FGPAகள் மற்றும் முடுக்கிகள் 1.0 வெளியீட்டில் சேர்க்கப்படவில்லை ). திட்டக் குறியீடு Apache 2.0 உரிமத்தின் கீழ் விநியோகிக்கப்படுகிறது.

HPVM இன் முக்கிய யோசனை, தொகுக்கும் போது இணையாக இயங்கக்கூடிய நிரல்களின் ஒருங்கிணைந்த பிரதிநிதித்துவத்தை வழங்குவதாகும், இது GPUகள், வெக்டர் அறிவுறுத்தல்கள், மல்டி-கோர் செயலிகள், FPGAகள் மற்றும் இணையான கணினியை ஆதரிக்கும் பல்வேறு வகையான வன்பொருளைப் பயன்படுத்தி செயல்படுத்துவதற்குப் பயன்படுத்தப்படலாம். பல்வேறு சிறப்பு முடுக்கி சில்லுகள். மற்ற அமைப்புகளைப் போலல்லாமல், HPVM ஆனது பன்முகக் கணினியை ஒழுங்கமைப்பதற்கான மூன்று திறன்களை ஒன்றிணைக்க முயற்சித்தது: மொழி- மற்றும் வன்பொருள்-சார்ந்த இடைநிலை பிரதிநிதித்துவம், மெய்நிகர் அறிவுறுத்தல் தொகுப்பு கட்டமைப்பு (ISA) மற்றும் இயக்க நேர திட்டமிடல்.

HPVM இன் இலக்கு-சுயாதீன இடைநிலை பிரதிநிதித்துவம் (IR) LLVM 9.0 இடைநிலை அறிவுறுத்தல் பிரதிநிதித்துவத்தை உருவாக்குகிறது மற்றும் பணி, தரவு மற்றும் பைப்லைன்-நிலை இணையான தன்மையைப் பிடிக்க ஒரு படிநிலை தரவு ஓட்ட வரைபடத்துடன் அதை விரிவுபடுத்துகிறது. HPVM இடைநிலை பிரதிநிதித்துவம் திசையன் வழிமுறைகள் மற்றும் பகிரப்பட்ட நினைவகத்தையும் உள்ளடக்கியது. இடைநிலை பிரதிநிதித்துவத்தைப் பயன்படுத்துவதன் முக்கிய நோக்கம் திறமையான குறியீடு உருவாக்கம் மற்றும் பன்முக அமைப்புகளுக்கான தேர்வுமுறை ஆகும்.

விர்ச்சுவல் இன்ஸ்ட்ரக்ஷன் செட் ஆர்கிடெக்சர் (ISA) பல்வேறு வகையான இணையான கணினி வன்பொருளுக்கு இடையே பெயர்வுத்திறனை அனுமதிக்கிறது மற்றும் பன்முக அமைப்புகளின் வெவ்வேறு கூறுகளைப் பயன்படுத்தும் போது செயல்திறனை இழக்காமல் இருப்பதை சாத்தியமாக்குகிறது. CPUகள், GPUகள், FPGAகள் மற்றும் பல்வேறு முடுக்கிகளைப் பயன்படுத்தி இயங்கக்கூடிய உலகளாவிய இயங்கக்கூடிய நிரல் குறியீட்டை வழங்க மெய்நிகர் ISA பயன்படுத்தப்படலாம்.

வளர்ச்சியின் தற்போதைய கட்டத்தில், HPVM ஆனது NVIDIA GPUகள் (cuDNN மற்றும் OpenCL), Intel AVX வெக்டர் வழிமுறைகள் மற்றும் மல்டி-கோர் x86 CPUகளைப் பயன்படுத்தி செயல்படுத்துவதற்கு மெய்நிகர் ISA ஐப் பயன்படுத்தி வரையறுக்கப்பட்ட பயன்பாட்டு முனைகளை மொழிபெயர்க்கும் திறன் கொண்ட குறியீடு ஜெனரேட்டர்களை வழங்குகிறது. இயக்க நேரத்தில், HPVM நெகிழ்வான கணக்கீட்டு செயல்முறை திட்டமிடல் கொள்கைகளைப் பயன்படுத்துகிறது, இது நிரல் தகவல் (வரைபட அமைப்பு) மற்றும் கணினியில் கிடைக்கும் இலக்கு கணினி சாதனங்களில் செயல்படுத்துவதற்கு தனிப்பட்ட நிரல் முனைகளைத் தொகுத்தல் மூலம் செயல்படுத்தப்படுகிறது.

HPVM இன் பயன்பாடு உற்பத்தித்திறனில் குறிப்பிடத்தக்க அதிகரிப்பை அடைய முடியும் என்பது குறிப்பிடத்தக்கது. HPVM மொழிபெயர்ப்பாளர்களின் செயல்திறன் GPUகள் மற்றும் வெக்டர் கம்ப்யூட்டிங் சாதனங்களுக்கான கையால் எழுதப்பட்ட OpenCL குறியீட்டுடன் ஒப்பிடத்தக்கது.

முதல் முன்னோட்ட வெளியீட்டோடு ஒப்பிடும்போது, ​​HPVM 1.0 ஆனது நேரியல் இயற்கணிதம் டென்சர் செயல்பாடுகளுக்கான ஆதரவு, Pytorch மற்றும் Keras க்கான முன்முனைகள், கன்வல்யூஷன் ஆபரேட்டர் தோராயங்கள் மற்றும் குறிப்பிட்ட டென்சர் செயல்பாடுகளுக்கான உகந்த தோராயங்களைத் தானாகத் தேர்ந்தெடுத்து, விருப்பமான செயல்திறனைத் தேர்ந்தெடுக்கும் ஒரு தோராய ட்யூனிங் கட்டமைப்பை உள்ளடக்கியது.

ஆதாரம்: opennet.ru

கருத்தைச் சேர்