C++ AMP
સી + + એક્સિલરેટેડ માસિવ પેરેલેલિઝમ (સી + + એએમપી) એ એક મૂળ પ્રોગ્રામિંગ મોડેલ છે જેમાં એવા ઘટકો છે જે સી + + પ્રોગ્રામિંગ લેંગ્વેજ અને તેની રનટાઇમ લાઇબ્રેરીમાં ફેલાયેલા છે. તે એવા પ્રોગ્રામ્સ લખવાની સરળ રીત પ્રદાન કરે છે જે ડેટા-સમાંતર હાર્ડવેર પર સંકલન કરે છે અને અમલ કરે છે, જેમ કે ગ્રાફિક્સ કાર્ડ્સ (જી. પી. યુ.). વિઝ્યુઅલ સ્ટુડિયો 2022 (વર્ઝન 17) થી શરૂ કરીને, સી + + એએમપીને નાપસંદ જાહેર કરવામાં આવ્યું છે, જે વિઝ્યુઅલ સ્ટુડિયો 2022 પછી તેના સપોર્ટનો અંત સૂચવે છે. સી + + એએમપી એ ડાયરેક્ટએક્સ 11 પર અમલમાં મૂકાયેલ લાઇબ્રેરી છે અને સી + + માં સીધા ડેટા સમાંતરતાને અમલમાં મૂકવા માટે માઇક્રોસોફ્ટ તરફથી એક ખુલ્લું સ્પષ્ટીકરણ છે. તેનો ઈરાદો પ્રોગ્રામિંગ જી. પી. યુ. ને વિકાસકર્તા માટે સરળ બનાવવાનો છે, જેમાં કુશળતાની શ્રેણીને ટેકો આપીને (જે કિસ્સામાં સિસ્ટમ તેનો શ્રેષ્ઠ પ્રયાસ કરે છે) વધુ સારી રીતે નિયંત્રિત કરી શકાય તેવું છે, પરંતુ હજુ પણ પોર્ટેબલ છે. માઈક્રોસોફ્ટના અમલીકરણમાં, જે કોડ જી. પી. યુ. પર ચલાવી શકાતો નથી તે તેના બદલે એક અથવા વધુ સી. પી. યુ. પર પાછો આવશે અને એસ. એસ. ઈ. સૂચનાઓનો ઉપયોગ કરશે. માઇક્રોસોફ્ટ અમલીકરણ વિઝ્યુઅલ સ્ટુડિયો 2012 માં સમાવિષ્ટ છે, જેમાં ડીબગર અને પ્રોફાઇલર સપોર્ટનો સમાવેશ થાય છે. માઇક્રોસોફ્ટ તરફથી પ્રારંભિક C + + AMP પ્રકાશન માટે ઓછામાં ઓછું વિન્ડોઝ 7 અથવા વિન્ડોઝ સર્વર 2008 R2 જરૂરી છે. સી + + એએમપી એ એક ખુલ્લું સ્પષ્ટીકરણ હોવાથી એવી અપેક્ષા રાખવામાં આવે છે કે સમય જતાં માઇક્રોસોફ્ટની બહાર અમલીકરણ દેખાશે; આનું એક પ્રારંભિક ઉદાહરણ શેવલિન પાર્ક છે, જે ઇન્ટેલ દ્વારા ક્લાંગ/એલએલવીએમ અને ઓપનસીએલ પર સી + + એએમપીનું પ્રાયોગિક અમલીકરણ છે. 12 નવેમ્બર, 2013ના રોજ એચએસએ ફાઉન્ડેશને સી + + એએમપી કમ્પાઇલરની જાહેરાત કરી હતી જે વર્તમાન સી + + એએમપી સ્પષ્ટીકરણને ટેકો આપતા ઓપનસીએલ, સ્ટાન્ડર્ડ પોર્ટેબલ ઇન્ટરમીડિયેટ રિપ્રેઝન્ટેશન (એસપીઆઇઆર) અને એચએસએ ઇન્ટરમીડિયેટ લેંગ્વેજ (એચએસએઆઇએલ) ને આઉટપુટ આપે છે. સ્રોત https://github.com/RadeonOpenCompute/hcc પર ઉપલબ્ધ છે. સી + + એએમપી સપોર્ટ અપ્રચલિત માનવામાં આવે છે અને વર્તમાન આરઓસીએમ 1.9 શ્રેણી તેને ટેકો આપવા માટે છેલ્લી હશે. સી + + એએમપી પાછળની મૂળભૂત વિભાવનાઓ, જેમ કે સમાંતર અને વિજાતીય પ્રોગ્રામિંગ સુવિધાઓને વ્યક્ત કરવા માટે સી + + વર્ગોનો ઉપયોગ કરવો, એસવાયસીએલ ધોરણ માટે પ્રેરણાદાયક છે. વિશેષતાઓ માઇક્રોસોફ્ટે પ્રતિબંધ (એએમપી) સુવિધા ઉમેર્યું, જે કોઈપણ કાર્ય (લેમ્બડાસ સહિત) પર લાગુ કરી શકાય છે તે જાહેર કરવા માટે કે કાર્યને સી + + એએમપી પ્રવેગક પર ચલાવી શકાય છે. કમ્પાઇલર આપમેળે કમ્પ્યુટ કર્નલ જનરેટ કરશે, મેનેજમેન્ટના બોઈલરપ્લેટને સાચવશે અને અલગ ભાષાનો ઉપયોગ કરવો પડશે. પ્રતિબંધિત મુખ્ય શબ્દ કમ્પાઇલરને સ્થિર રીતે તપાસવા માટે સૂચના આપે છે કે કાર્ય ફક્ત તે જ ભાષા સુવિધાઓનો ઉપયોગ કરે છે જે મોટાભાગના જી. પી. યુ. દ્વારા સમર્થિત છે, ઉદાહરણ તરીકે, રદબાતલ માયફંક () પ્રતિબંધિત (એએમપી) {.} માઇક્રોસોફ્ટ અથવા ખુલ્લા સી + + એએમપી સ્પષ્ટીકરણના અન્ય અમલીકરણકર્તા અન્ય હેતુઓ માટે અન્ય પ્રતિબંધિત સ્પષ્ટીકરણો ઉમેરી શકે છે, જેમાં એવા હેતુઓ પણ સામેલ છે કે જે સી + + એએમપી સાથે અસંબંધિત હોય. નવી ભાષા સુવિધા ઉપરાંત, બાકીની C + + AMP સમવર્તી નેમસ્પેસમાં <amp.h> હેડર ફાઇલ દ્વારા ઉપલબ્ધ છે. મુખ્ય સી + + એએમપી વર્ગો છેઃ એરે (પ્રવેગક પરના ડેટા માટે કન્ટેનર), એરે _ વ્યૂ (ડેટા માટે આવરણ), અનુક્રમણિકા (એન-પરિમાણીય બિંદુ), હદ (એન-પરિમાણીય કદ), પ્રવેગક (કોમ્પ્યુટેશનલ સંસાધન, જેમ કે જી. પી. યુ., જેના પર મેમરી ફાળવવી અને અમલ કરવો), અને પ્રવેગક _ વ્યૂ (પ્રવેગકનું દૃશ્ય). ત્યાં એક વૈશ્વિક કાર્ય પણ છે, સમાંતર _ માટે _ દરેક, જેનો ઉપયોગ તમે C + + AMP સમાંતર લૂપ લખવા માટે કરો છો. આ પણ જુઓ ક્રોનોસ ગ્રૂપમાંથી ઓપનસીએલ સીયુડીએ જી. પી. જી. પી. યુ. ઓપનએસીસી એસવાયસીએલ સી + + એએમપી વલ્કન રાફ્ટલિબ સંદર્ભોમાંથી કેટલીક વિભાવનાઓને વિસ્તૃત કરે છે. સી + + એમ્પઃ માઇક્રોસોફ્ટ વિઝ્યુઅલ સી + + સાથે ઝડપી વિશાળ સમાંતરતા-માઇક્રોસોફ્ટ, 2012-326 પૃષ્ઠો-બાહ્ય કડીઓ સી + + એએમપીઃ ભાષા અને પ્રોગ્રામિંગ મોડેલ-આવૃત્તિ 1.0: ઓગસ્ટ 2012 નેટિવ કોડમાં સમાંતર પ્રોગ્રામિંગ-સી + + એએમપી ટીમ બ્લોગ http://hsafoundation.com/bringing-camp-beyond-windows-via-clang-llvm સી + + એએમપી ક્લાંગમાં સપોર્ટ અને એલએલવીએમ કમ્પાઇલર https://github.com/RadeonOpenCompute/hcc સી + + એએમપી ક્લાંગ અને એલએલવીએમ કમ્પાઇલર સી + + લાઈબ્રેરીઓમાં સપોર્ટ જી. પી. જી. પી. યુ. સમાંતર કમ્પ્યુટિંગ લાઈબ્રેરીઓ