C++ AMP
ಸಿ + + ವೇಗವರ್ಧಿತ ಬೃಹತ್ ಸಮಾನಾಂತರತೆ (ಸಿ + + ಎಎಂಪಿ) ಒಂದು ಸ್ಥಳೀಯ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಮಾದರಿಯಾಗಿದ್ದು ಅದು ಸಿ + + ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆ ಮತ್ತು ಅದರ ರನ್ಟೈಮ್ ಲೈಬ್ರರಿಯನ್ನು ವ್ಯಾಪಿಸಿರುವ ಅಂಶಗಳನ್ನು ಒಳಗೊಂಡಿದೆ. ಗ್ರಾಫಿಕ್ಸ್ ಕಾರ್ಡ್ಗಳು (ಜಿಪಿಯುಗಳು) ನಂತಹ ದತ್ತಾಂಶ-ಸಮಾನಾಂತರ ಯಂತ್ರಾಂಶದಲ್ಲಿ ಸಂಕಲಿಸುವ ಮತ್ತು ಕಾರ್ಯಗತಗೊಳಿಸುವ ಪ್ರೋಗ್ರಾಂಗಳನ್ನು ಬರೆಯಲು ಇದು ಸುಲಭವಾದ ಮಾರ್ಗವನ್ನು ಒದಗಿಸುತ್ತದೆ. ವಿಷುಯಲ್ ಸ್ಟುಡಿಯೋ 2022 (ಆವೃತ್ತಿ 17) ನಿಂದ ಪ್ರಾರಂಭಿಸಿ, ಸಿ + + ಎಎಂಪಿ ಅನ್ನು ಅಸಮ್ಮತಿ ಎಂದು ಘೋಷಿಸಲಾಗಿದೆ, ಇದು ವಿಷುಯಲ್ ಸ್ಟುಡಿಯೋ 2022 ಅನ್ನು ಮೀರಿ ಅದರ ಬೆಂಬಲದ ಅಂತ್ಯವನ್ನು ಸೂಚಿಸುತ್ತದೆ. ಸಿ + + ಎಎಂಪಿ ಎಂಬುದು ಡೈರೆಕ್ಟ್ಎಕ್ಸ್ 11ರಲ್ಲಿ ಅಳವಡಿಸಲಾಗಿರುವ ಗ್ರಂಥಾಲಯವಾಗಿದೆ ಮತ್ತು ಸಿ + + ನಲ್ಲಿ ನೇರವಾಗಿ ದತ್ತಾಂಶ ಸಮಾನಾಂತರತೆಯನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಮೈಕ್ರೋಸಾಫ್ಟ್ನ ಮುಕ್ತ ವಿವರಣೆಯಾಗಿದೆ. ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಜಿಪಿಯುಗಳನ್ನು ಡೆವಲಪರ್ಗೆ ಸುಲಭವಾಗಿಸಲು ಉದ್ದೇಶಿಸಲಾಗಿದೆ (ಈ ಸಂದರ್ಭದಲ್ಲಿ ಸಿಸ್ಟಮ್ ತನ್ನ ಅತ್ಯುತ್ತಮ ಪ್ರಯತ್ನವನ್ನು ಮಾಡುತ್ತದೆ) ಹೆಚ್ಚು ಸೂಕ್ಷ್ಮವಾಗಿ ನಿಯಂತ್ರಿಸಬಹುದಾದ, ಆದರೆ ಇನ್ನೂ ಪೋರ್ಟಬಲ್ ಆಗಿರುತ್ತದೆ. ಮೈಕ್ರೋಸಾಫ್ಟ್ನ ಅನುಷ್ಠಾನದಲ್ಲಿ, ಜಿಪಿಯುಗಳಲ್ಲಿ ಚಲಾಯಿಸಲಾಗದ ಕೋಡ್ ಬದಲಿಗೆ ಒಂದು ಅಥವಾ ಹೆಚ್ಚಿನ ಸಿಪಿಯುಗಳಿಗೆ ಹಿಂತಿರುಗುತ್ತದೆ ಮತ್ತು ಎಸ್ಎಸ್ಇ ಸೂಚನೆಗಳನ್ನು ಬಳಸುತ್ತದೆ. ಮೈಕ್ರೋಸಾಫ್ಟ್ ಅನುಷ್ಠಾನವನ್ನು ವಿಷುಯಲ್ ಸ್ಟುಡಿಯೋ 2012 ರಲ್ಲಿ ಸೇರಿಸಲಾಗಿದೆ, ಇದರಲ್ಲಿ ಡೀಬಗ್ಗರ್ ಮತ್ತು ಪ್ರೊಫೈಲರ್ ಬೆಂಬಲವೂ ಸೇರಿದೆ. ಮೈಕ್ರೋಸಾಫ್ಟ್ನ ಆರಂಭಿಕ ಸಿ + + ಎಎಂಪಿ ಬಿಡುಗಡೆಗೆ ಕನಿಷ್ಠ ವಿಂಡೋಸ್ 7 ಅಥವಾ ವಿಂಡೋಸ್ ಸರ್ವರ್ 2008 ಆರ್ 2 ಅಗತ್ಯವಿದೆ. ಸಿ + + ಎಎಂಪಿ ಒಂದು ಮುಕ್ತ ವಿವರಣೆಯಾಗಿರುವುದರಿಂದ ಮೈಕ್ರೋಸಾಫ್ಟ್ನ ಹೊರಗಿನ ಸಮಯದ ಅನುಷ್ಠಾನಗಳು ಕಾಣಿಸಿಕೊಳ್ಳುತ್ತವೆ ಎಂದು ನಿರೀಕ್ಷಿಸಲಾಗಿದೆ; ಇದಕ್ಕೆ ಒಂದು ಆರಂಭಿಕ ಉದಾಹರಣೆಯೆಂದರೆ ಕ್ಲಾಂಗ್/ಎಲ್ಎಲ್ವಿಎಂ ಮತ್ತು ಓಪನ್ಸಿಎಲ್ನಲ್ಲಿ ಇಂಟೆಲ್ನ ಸಿ + + ಎಎಂಪಿ ಪ್ರಾಯೋಗಿಕ ಅನುಷ್ಠಾನವಾದ ಶೆವ್ಲಿನ್ ಪಾರ್ಕ್. ನವೆಂಬರ್ 12,2013 ರಂದು ಎಚ್ಎಸ್ಎ ಫೌಂಡೇಶನ್ ಸಿ + + ಎಎಂಪಿ ಕಂಪೈಲರ್ ಅನ್ನು ಘೋಷಿಸಿತು, ಅದು ಪ್ರಸ್ತುತ ಸಿ + + ಎಎಂಪಿ ವಿವರಣೆಯನ್ನು ಬೆಂಬಲಿಸುವ ಓಪನ್ಸಿಎಲ್, ಸ್ಟ್ಯಾಂಡರ್ಡ್ ಪೋರ್ಟಬಲ್ ಇಂಟರ್ಮೀಡಿಯೇಟ್ ರೆಪ್ರೆಸೆಂಟೇಶನ್ (ಎಸ್. ಪಿ. ಐ. ಆರ್), ಮತ್ತು ಎಚ್ಎಸ್ಎ ಇಂಟರ್ಮೀಡಿಯೇಟ್ ಲ್ಯಾಂಗ್ವೇಜ್ (ಎಚ್. ಎಸ್. ಎ. ಐ. ಎಲ್) ಗೆ ಔಟ್ಪುಟ್ ಮಾಡುತ್ತದೆ. ಮೂಲವು https://github.com/RadeonOpenCompute/hcc ನಲ್ಲಿ ಲಭ್ಯವಿದೆ. ಸಿ + + ಎಎಂಪಿ ಬೆಂಬಲವನ್ನು ಬಳಕೆಯಲ್ಲಿಲ್ಲದದ್ದು ಎಂದು ಪರಿಗಣಿಸಲಾಗಿದೆ ಮತ್ತು ಪ್ರಸ್ತುತ ಆರ್ಓಸಿಎಂ 1.9 ಸರಣಿಯು ಅದನ್ನು ಬೆಂಬಲಿಸುವ ಕೊನೆಯದಾಗಿದೆ. ಸಮಾನಾಂತರ ಮತ್ತು ವೈವಿಧ್ಯಮಯ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ವ್ಯಕ್ತಪಡಿಸಲು ಸಿ + + ವರ್ಗಗಳನ್ನು ಬಳಸುವಂತಹ ಸಿ + + ಎಎಂಪಿ ಹಿಂದಿನ ಮೂಲ ಪರಿಕಲ್ಪನೆಗಳು ಎಸ್. ವೈ. ಸಿ. ಎಲ್ ಮಾನದಂಡಕ್ಕೆ ಸ್ಫೂರ್ತಿದಾಯಕವಾಗಿವೆ. ವೈಶಿಷ್ಟ್ಯಗಳು ಮೈಕ್ರೋಸಾಫ್ಟ್ ನಿರ್ಬಂಧಿತ (ಆಂಪಿಯರ್) ವೈಶಿಷ್ಟ್ಯವನ್ನು ಸೇರಿಸಿತು, ಇದನ್ನು ಸಿ + + ಎಎಂಪಿ ವೇಗವರ್ಧಕದಲ್ಲಿ ಕಾರ್ಯವನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದು ಎಂದು ಘೋಷಿಸಲು ಯಾವುದೇ ಕಾರ್ಯಕ್ಕೆ (ಲ್ಯಾಂಬ್ಡಾಸ್ ಸೇರಿದಂತೆ) ಅನ್ವಯಿಸಬಹುದು. ಕಂಪೈಲರ್ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಕಂಪ್ಯೂಟ್ ಕರ್ನಲ್ ಅನ್ನು ಉತ್ಪಾದಿಸುತ್ತದೆ, ನಿರ್ವಹಣೆಯ ಬಾಯ್ಲರ್ ಪ್ಲೇಟ್ ಅನ್ನು ಉಳಿಸುತ್ತದೆ ಮತ್ತು ಪ್ರತ್ಯೇಕ ಭಾಷೆಯನ್ನು ಬಳಸಬೇಕಾಗುತ್ತದೆ. ನಿರ್ಬಂಧಿತ ಕೀವರ್ಡ್ ಹೆಚ್ಚಿನ ಜಿಪಿಯುಗಳಿಂದ ಬೆಂಬಲಿತವಾಗಿರುವ ಭಾಷೆಯ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಮಾತ್ರ ಕಾರ್ಯವು ಬಳಸುತ್ತದೆಯೇ ಎಂದು ಸ್ಥಿರವಾಗಿ ಪರಿಶೀಲಿಸಲು ಕಂಪೈಲರ್ಗೆ ಸೂಚಿಸುತ್ತದೆ, ಉದಾಹರಣೆಗೆ, ಶೂನ್ಯ ಮೈಫಂಕ್ () ನಿರ್ಬಂಧ (ಆಂಪಿಯರ್) {.} ಮೈಕ್ರೋಸಾಫ್ಟ್ ಅಥವಾ ಮುಕ್ತ ಸಿ + + ಎಎಂಪಿ ವಿವರಣೆಯ ಇತರ ಅಳವಡಿಕೆದಾರರು ಸಿ + + ಎಎಂಪಿಗೆ ಸಂಬಂಧವಿಲ್ಲದ ಉದ್ದೇಶಗಳನ್ನು ಒಳಗೊಂಡಂತೆ ಇತರ ಉದ್ದೇಶಗಳಿಗಾಗಿ ಇತರ ನಿರ್ಬಂಧಿತ ವಿಶೇಷಣಗಳನ್ನು ಸೇರಿಸಬಹುದು. ಹೊಸ ಭಾಷಾ ವೈಶಿಷ್ಟ್ಯದ ಹೊರತಾಗಿ, ಉಳಿದ ಸಿ + + ಎಎಂಪಿ ಏಕಕಾಲೀನ ನೇಮ್ಸ್ಪೇಸ್ನಲ್ಲಿರುವ <amp.h ಹೆಡರ್ ಕಡತದ ಮೂಲಕ ಲಭ್ಯವಿದೆ. ಪ್ರಮುಖ ಸಿ + + ಎಎಂಪಿ ವರ್ಗಗಳೆಂದರೆಃ ಅರೇ (ವೇಗವರ್ಧಕದಲ್ಲಿನ ದತ್ತಾಂಶಕ್ಕಾಗಿ ಧಾರಕ), ಅರೇ _ ವ್ಯೂ (ದತ್ತಾಂಶಕ್ಕಾಗಿ ಹೊದಿಕೆ), ಸೂಚ್ಯಂಕ (ಎನ್-ಆಯಾಮದ ಬಿಂದು), ವ್ಯಾಪ್ತಿ (ಎನ್-ಆಯಾಮದ ಗಾತ್ರ), ವೇಗವರ್ಧಕ (ಜಿಪಿಯುನಂತಹ ಕಂಪ್ಯೂಟೇಶನಲ್ ಸಂಪನ್ಮೂಲ, ಮೆಮೊರಿಯನ್ನು ನಿಯೋಜಿಸಲು ಮತ್ತು ಕಾರ್ಯಗತಗೊಳಿಸಲು), ಮತ್ತು ವೇಗವರ್ಧಕ _ ವ್ಯೂ (ವೇಗವರ್ಧಕದ ನೋಟ). ನೀವು C + + AMP ಪ್ಯಾರಲಲ್ ಲೂಪ್ ಅನ್ನು ಬರೆಯಲು ಬಳಸುವ ಪ್ಯಾರಲಲ್ _ ಫಾರ್ _ ಪ್ರತಿ ಎಂಬ ಜಾಗತಿಕ ಕಾರ್ಯವೂ ಇದೆ. ಕ್ರೋನೋಸ್ ಗ್ರೂಪ್ನ ಓಪನ್ಸಿಎಲ್ ಕ್ಯೂಡಾ ಜಿಪಿಜಿಪಿಯು ಓಪನ್ಎಸಿಸಿ ಎಸ್ವೈಸಿಎಲ್ ಅನ್ನು ಸಹ ನೋಡಿ, ಸಿ + + ಎಎಂಪಿ ವಲ್ಕನ್ ರಾಫ್ಟ್ಲಿಬ್ ಉಲ್ಲೇಖಗಳಿಂದ ಕೆಲವು ಪರಿಕಲ್ಪನೆಗಳನ್ನು ವಿಸ್ತರಿಸಿದೆ. ಸಿ + + ಆಂಪಿಯರ್ಃ ಮೈಕ್ರೋಸಾಫ್ಟ್ ವಿಷುಯಲ್ ಸಿ + + ನೊಂದಿಗೆ ವೇಗವರ್ಧಿತ ಬೃಹತ್ ಸಮಾನಾಂತರತೆ-ಮೈಕ್ರೋಸಾಫ್ಟ್, 2012-326 ಪುಟಗಳು-ಬಾಹ್ಯ ಕೊಂಡಿಗಳು ಸಿ + + ಎಎಂಪಿಃ ಭಾಷೆ ಮತ್ತು ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಮಾದರಿ-ಆವೃತ್ತಿ 1: ಆಗಸ್ಟ್ 2012 ಸ್ಥಳೀಯ ಕೋಡ್ನಲ್ಲಿ ಸಮಾನಾಂತರ ಪ್ರೋಗ್ರಾಮಿಂಗ್-ಸಿ + + ಎಎಂಪಿ ತಂಡ ಬ್ಲಾಗ್ http://hsafoundation.com/bringing-camp-beyond-windows-via-clang-llvm ಸಿ + + ಎಎಂಪಿ ಕ್ಲಾಂಗ್ನಲ್ಲಿ ಬೆಂಬಲ ಮತ್ತು ಎಲ್ಎಲ್ವಿಎಂ ಕಂಪೈಲರ್ https://github.com/RadeonOpenCompute/hcc ಸಿ + + ಎಎಂಪಿ ಕ್ಲಾಂಗ್ ಮತ್ತು ಎಲ್ಎಲ್ವಿಎಂ ಕಂಪೈಲರ್ ಸಿ + + ಗ್ರಂಥಾಲಯಗಳಲ್ಲಿ ಬೆಂಬಲ ಜಿಪಿಜಿಪಿಯು ಸಮಾನಾಂತರ ಕಂಪ್ಯೂಟಿಂಗ್ ಗ್ರಂಥಾಲಯಗಳು