WebCL
வெப் சிஎல் (வெப் கம்ப்யூட்டிங் லாங்குவேஜ்) என்பது செருகுநிரல்களைப் பயன்படுத்தாமல் எந்தவொரு இணக்கமான வலை உலாவியிலும் பன்முக இணையான கம்ப்யூட்டிங்கிற்காக ஓபன் சி. எல் உடன் பிணைக்கப்பட்ட ஒரு ஜாவாஸ்கிரிப்ட் ஆகும், இது முதன்முதலில் மார்ச் 2011 இல் அறிவிக்கப்பட்டது. இது ஓபன்சிஎல் போன்ற அடிப்படையில் உருவாக்கப்பட்டது மற்றும் பிந்தைய உலாவி பதிப்பாக கருதப்படுகிறது. முதன்மையாக, வெப்சிஎல் வலை பயன்பாடுகளை மல்டி கோர் சிபியுக்கள் மற்றும் ஜிபியுக்களுடன் வேகத்தை யதார்த்தமாக்க அனுமதிக்கிறது. பட எடிட்டிங், ஆக்மென்டட் ரியாலிட்டி அப்ளிகேஷன்கள் மற்றும் அதிநவீன கேமிங் போன்ற இணையான செயலாக்கம் தேவைப்படும் பயன்பாடுகளின் புகழ் அதிகரித்து வருவதால், கணக்கீட்டு வேகத்தை மேம்படுத்துவது மிகவும் முக்கியமானது. இந்த பின்னணி காரணங்களுடன், ஒரு இலாப நோக்கற்ற குரோனோஸ் குழுமம் வெப்சிஎல்-ஐ வடிவமைத்து உருவாக்கியது, இது ஒரு சிறிய கர்னல் நிரலாக்கத்துடன் ஓபன்சிஎல்-உடன் பிணைக்கப்பட்ட ஒரு ஜாவாஸ்கிரிப்ட் ஆகும், இது பரந்த அளவிலான சாதனங்களில் வலை உலாவிகளில் இணையான கணினியை செயல்படுத்துகிறது. சுருக்கமாக, வெப்சிஎல் இரண்டு பகுதிகளைக் கொண்டுள்ளது, ஒன்று கர்னல் நிரலாக்கம், இது செயலிகளில் (சாதனங்களில்) இயங்குகிறது, மற்றொன்று ஜாவாஸ்கிரிப்ட், இது வலை பயன்பாட்டை ஓபன்சிஎல்லுடன் பிணைக்கிறது. வெப்சிஎல் 1 க்கான முடிக்கப்பட்ட மற்றும் அங்கீகரிக்கப்பட்ட விவரக்குறிப்பு மார்ச் 19,2014 அன்று வெளியிடப்பட்டது. செயல்படுத்தல் தற்போது, எந்த உலாவிகளும் சொந்தமாக வெப்சிஎல்-ஐ ஆதரிக்கவில்லை. இருப்பினும், உள்ளூர் அல்லாத துணை நிரல்கள் வெப்சிஎல்-ஐ செயல்படுத்த பயன்படுத்தப்படுகின்றன. எடுத்துக்காட்டாக, நோக்கியா ஒரு வெப்சிஎல் நீட்டிப்பை உருவாக்கியது. மொஸில்லா வெப்ஜிஎல் கம்ப்யூட் ஷேடர்களுக்கு ஆதரவாக வெப்சிஎல்-ஐ செயல்படுத்தத் திட்டமிடவில்லை, அவை வெப்ஜிபியுவுக்கு ஆதரவாக அகற்றப்பட்டன. மொஸில்லா (ஃபயர்பாக்ஸ்)-வெப்சிஎல் வேலை வரைவு சாம்சங் (வெப்கிட்)-(கிடைக்கவில்லை) நோக்கியா (ஃபயர்பாக்ஸ்)-(நவம்பர் 2014 முதல் கீழே, எஃப்எஃப் 34 க்கான கடைசி பதிப்பு) இன்டெல் (கிராஸ் வாக்)-எடுத்துக்காட்டு சி குறியீடு ஒரு இணையான நிரலின் அடிப்படை அலகு கர்னல் ஆகும். கர்னல் என்பது ஒரு குறிப்பிட்ட பணியைச் செய்யப் பயன்படுத்தப்படும் இணையான பணியாகும். பெரும்பாலும் செயல்பாடுகளை கர்னல்களாக உணர முடியும். ஒரு நிரல் ஒன்று அல்லது அதற்கு மேற்பட்ட கர்னல்களைக் கொண்டிருக்கலாம். ஒரு கர்னலை அடைய, ஒரு பணி இணையாக இருப்பது அவசியம். தரவு சார்பு மற்றும் செயல்படுத்தும் வரிசை ஆகியவை திறமையான இணையான வழிமுறைகளை உருவாக்குவதில் முக்கிய பங்கு வகிக்கின்றன. சி கம்பைலர்களால் நிகழ்த்தப்படும் லூப் அன்ரோலிங் வழக்கைப் பற்றி ஒரு எளிய எடுத்துக்காட்டு சிந்திக்கப்படலாம், அங்கு ஒரு அறிக்கைஃ for (i = 0; i <3; i + +) c [i] = a [i] + b [i]; இதில் அவிழ்க்கப்படலாம்ஃ c [0] = a [0] + b [0]; c [1] = a [1] + b [1]; c [2] = a [2] + b [2]; மேலே உள்ள அறிக்கைகளை இணையாகச் செய்யலாம் மற்றும் ஒரே நேரத்தில் இயக்கலாம். ஒரு கர்னல் இதேபோன்ற அணுகுமுறையைப் பின்பற்றுகிறது, அங்கு ith மறு செய்கையின் ஸ்னாப்ஷாட் மட்டுமே கர்னலுக்குள் பிடிக்கப்படுகிறது. மேற்கண்ட குறியீட்டை ஒரு கர்னலைப் பயன்படுத்தி மீண்டும் எழுதுவோம்ஃ _ _ கர்னல் ஆட் (_ _ குளோபல் ஃப்ளோட் * a, _ _ குளோபல் ஃப்ளோட் * b, _ குளோபல் ஃப்ளோட் * c) {int i = கேட _ குளோபல் _ ஐடி (0); என்றால் (i <3) c [i] = a [i] + b [i];} ஒரு வெப்சிஎல் பயன்பாட்டை இயக்குவது பின்வரும் படிகளை உள்ளடக்கியதுஃ சாதனங்களுக்கான அணுகலை அனுமதிக்கவும் மற்றும் சூழலை வழங்கவும் கர்னலை ஒரு சாதனத்திற்கு ஒப்படைக்கவும் சாதனத்திலிருந்து கர்னல் மீட்டெடுப்பு முடிவுகளை இயக்க சாதனத்தை ஏற்படுத்தவும் ஜாவாஸ்கிரிப்டுக்குள் உள்ள தரவைப் பயன்படுத்தவும் இதைப் பற்றிய கூடுதல் விவரங்களை விதிவிலக்குகள் பட்டியல் வெப்சிஎல் இல் காணலாம், இது ஜாவாஸ்கிரிப்ட் அடிப்படையிலான செயல்படுத்தலாகும். அதற்கு பதிலாக, இது OUT _ OF _ RESORCES, OUT _ OF _ HOST _ MEMORY, அல்லது வெப்சிஎல்-குறிப்பிட்ட WEBCL _ IMPLEMENTATION _ FAILURE போன்ற விதிவிலக்குகளை வழங்குகிறது. விதிவிலக்கு பொருள் இயந்திரத்தால் படிக்கக்கூடிய பெயர் மற்றும் பிழையை விவரிக்கும் மனிதனால் படிக்கக்கூடிய செய்தியை விவரிக்கிறது. சொற்றொடர் பின்வருமாறுஃ விதிவிலக்கு வெப்சிஎல்இக்ஸெப்ஷன்ஃ டிஓஎம்இக்ஸெப்ஷன் {டிஓஎம்ஸ்ட்ரிங் பெயர்;// எண் பிழைக் குறியீட்டின் சரம் பிரதிநிதித்துவம், எ. கா. "INVALID _ VALUE" டொம்ஸ்டிரிங்? செய்தி;// விதிவிலக்குக்கு என்ன காரணம் என்பதற்கான செயல்படுத்தல்-குறிப்பிட்ட விளக்கம்}; மேலே உள்ள குறியீட்டிலிருந்து, செய்தி புலம் ஒரு என். யு. எல். எல் மதிப்பாக இருக்கலாம் என்பதைக் காணலாம். பிற விதிவிலக்குகளில் பின்வருவன அடங்கும்ஃ INVALID _ OS-இந்த செயல்பாட்டின் தடுப்பு வடிவம் ஒரு வெப்சிஎல்பாக் INVALID _ VALUE இலிருந்து அழைக்கப்பட்டால்-ஈவென்ட்வெய்ட்லிஸ்ட் காலியாக இருந்தால் INVALID _ CONTEXT-நிகழ்வில் குறிப்பிடப்பட்டுள்ள நிகழ்வுகள் அதே சூழலைச் சேர்ந்தவை இல்லையென்றால் INVALID _ DEVICE _ TYPE-சாதன வகை கொடுக்கப்பட்டிருந்தால், ஆனால் செல்லுபடியாகும் கணக்கிடப்பட்ட மதிப்புகளில் ஒன்றல்ல DEVICE _ NOT _ FOUND-கொடுக்கப்பட்ட சாதனத்துடன் பொருந்தக்கூடிய வெப்சிஎல்டிவிக்ஸ் கிடைக்கவில்லை என்றால் வகை வகை விதிவிலக்குகள் பற்றிய கூடுதல் தகவல்களை விவரக்குறிப்பு ஆவணத்தில் காணலாம். 'வெளியிடப்பட்ட' ஒரு பொருளை அழைக்க முயற்சிக்கும்போது எழுப்பப்படும் மற்றொரு விதிவிலக்கு உள்ளது. வெளியீட்டு முறையைப் பயன்படுத்தும்போது, பொருள் நிரந்தரமாக நீக்கப்படாது, ஆனால் அது அந்த பொருளுடன் தொடர்புடைய வளங்களை விடுவிக்கிறது. இந்த விதிவிலக்கைத் தவிர்ப்பதற்காக, ரிலீஸால் முறையைப் பயன்படுத்தலாம், இது வளங்களை விடுவிக்கிறது மட்டுமல்லாமல், உருவாக்கப்பட்ட அனைத்து தொடர்புடைய பொருள்களையும் நீக்குகிறது. பாதுகாப்பு வெப்சிஎல், வலை பயன்பாடுகளுக்காக உருவாக்கப்பட்ட ஒரு திறந்த-முனை மென்பொருளாக இருப்பதால், வடிவமைப்பு மற்றும் மேம்பாட்டுத் துறைகளிலும் பாதிப்புகளுக்கு நிறைய வாய்ப்புகள் உள்ளன. இது வெப்சிஎல் இல் பணிபுரியும் டெவலப்பர்களை பாதுகாப்புக்கு மிகுந்த முக்கியத்துவம் கொடுக்க கட்டாயப்படுத்தியது. தீர்க்கப்பட்ட சில கவலைகள் பின்வருமாறுஃ எல்லைக்கு வெளியே உள்ள நினைவக அணுகல்ஃ ஒதுக்கப்பட்ட இடத்திற்கு வெளியே, நினைவக இருப்பிடங்களை அணுகுவதன் மூலம் இது நிகழ்கிறது. ஒரு தாக்குபவர் அந்த நினைவக இடங்களில் சேமிக்கப்பட்டுள்ள அனைத்து முக்கியமான தரவுகளையும் மீண்டும் எழுதலாம் அல்லது அழிக்கலாம். இதுபோன்ற ஒரு வழக்கு ஏற்படும் போதெல்லாம், தொகுப்பு நேரத்தில் ஒரு பிழை உருவாக்கப்பட வேண்டும், மேலும் பூஜ்ஜியம் இயக்க நேரத்தில் திருப்பித் தரப்பட வேண்டும், நிரலை நினைவகத்தை மீற விடக்கூடாது. இந்த பாதிப்பைக் கையாள்வதற்காக குரோனோஸ் குழுமத்தால் (டெவலப்பர்கள்) ஒரு வெப்சிஎல் வேலிடேட்டர் திட்டம் தொடங்கப்பட்டது. நினைவக துவக்கம்ஃ முந்தைய பயன்பாடுகளின் நினைவக இருப்பிடங்களை பயன்பாடுகள் அணுகுவதைத் தடுக்க இது செய்யப்படுகிறது. தற்போதைய பயன்பாட்டை இயக்குவதற்கு முன்பு பூஜ்ஜியத்திற்கு பயன்படுத்தப்படும் அனைத்து இடையகங்கள், மாறிகள் ஆகியவற்றை துவக்குவதன் மூலம் இது நடக்காது என்பதை வெப்சிஎல் உறுதி செய்கிறது. ஓபன் சிஎல் 1.2 இல் 'cl _ khr _ இநிஷியலைஸ் _ மெமரி' என்ற நீட்டிப்பு உள்ளது, இது இதை செயல்படுத்துகிறது. சேவை மறுப்புஃ வலை பயன்பாடுகள் மீதான மிகவும் பொதுவான தாக்குதலை வெப்சிஎல் அல்லது உலாவியால் முற்றிலுமாக அகற்ற முடியாது. ஓபன் சி. எல். க்கு கண்காணிப்பு டைமர்கள் மற்றும் முன்கூட்டிய பல பணிகளை வழங்க முடியும், அவை வெப்சிஎல் மூலம் அதிக நேரம் எடுக்கும் அல்லது நிறைய வளங்களை பயன்படுத்தும் சூழல்களைக் கண்டறிந்து நிறுத்துவதற்கு பயன்படுத்தப்படலாம். முந்தையதைப் போலவே ஓபன்சிஎல் 1.2 'கிள்கார் _ டெர்மினேட் _ கான்டெக்ஸ்ட்' இன் நீட்டிப்பு உள்ளது, இது சேவை மறுப்பு தாக்குதலை ஏற்படுத்தக்கூடிய செயல்முறையை நிறுத்த உதவுகிறது. தொடர்புடைய உலாவி பிழைகள் மேலும் காண்க வெப்ஜிஎல் எச். டி. எம். எல்5 ஓபன்ஜிஎல் ஓபன்ஜிஎல் ஜிபிஜிபியு வெப்ஜிபியு குறிப்புகள் வெளிப்புற இணைப்புகள் வெப்ஜிஎல் விவரக்குறிப்பு வெப்ஜிஎல் விக்கி பயன்பாட்டு நிரலாக்க இடைமுகங்கள் குறுக்கு-தள மென்பொருள் வெப் டெவலப்மென்ட் கிராஃபிக்ஸ் நூலகங்கள் கிராஃபிக்ஸ் தரநிலைகள் எஃப்ஆர்ஃ OpenCL#WebCL