HPVM 2.0, CPU, GPU, FPGA ಮತ್ತು ಹಾರ್ಡ್‌ವೇರ್ ವೇಗವರ್ಧಕಗಳಿಗಾಗಿ ಕಂಪೈಲರ್ ಅನ್ನು ಪ್ರಕಟಿಸಲಾಗಿದೆ

LLVM ಯೋಜನೆಯು HPVM 2.0 (ಹೆಟೆರೊಜೆನಿಯಸ್ ಪ್ಯಾರಲಲ್ ವರ್ಚುವಲ್ ಮೆಷಿನ್) ಬಿಡುಗಡೆಯನ್ನು ಘೋಷಿಸಿತು, ಇದು ವೈವಿಧ್ಯಮಯ ವ್ಯವಸ್ಥೆಗಳಿಗೆ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಅನ್ನು ಸರಳಗೊಳಿಸುವ ಗುರಿಯನ್ನು ಹೊಂದಿದೆ ಮತ್ತು CPUಗಳು, GPUಗಳು, FPGAಗಳು ಮತ್ತು ಡೊಮೇನ್-ನಿರ್ದಿಷ್ಟ ಹಾರ್ಡ್‌ವೇರ್ ವೇಗವರ್ಧಕಗಳಿಗೆ ಕೋಡ್ ಉತ್ಪಾದನೆಯ ಸಾಧನಗಳನ್ನು ಒದಗಿಸುವ ಗುರಿಯನ್ನು ಹೊಂದಿದೆ. ಪ್ರಾಜೆಕ್ಟ್ ಕೋಡ್ ಅನ್ನು ಅಪಾಚೆ 2.0 ಪರವಾನಗಿ ಅಡಿಯಲ್ಲಿ ವಿತರಿಸಲಾಗಿದೆ.

ಭಿನ್ನಜಾತಿಯ ಸಮಾನಾಂತರ ವ್ಯವಸ್ಥೆಗಳಿಗೆ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಸಮಾನಾಂತರತೆಯನ್ನು ಸಾಧಿಸಲು ವಿಭಿನ್ನ ಮಾದರಿಗಳನ್ನು ಬಳಸುವ ಘಟಕಗಳ ಉಪಸ್ಥಿತಿಯಿಂದ ಸಂಕೀರ್ಣವಾಗಿದೆ (CPU ಕೋರ್ಗಳು, ವೆಕ್ಟರ್ ಸೂಚನೆಗಳು, GPU, ಇತ್ಯಾದಿ.), ವಿಭಿನ್ನ ಸೂಚನಾ ಸೆಟ್‌ಗಳು ಮತ್ತು ವಿಭಿನ್ನ ಮೆಮೊರಿ ಶ್ರೇಣಿಗಳು. ಪ್ರತಿಯೊಂದು ವ್ಯವಸ್ಥೆಯು ಈ ಘಟಕಗಳ ತನ್ನದೇ ಆದ ಸಂಯೋಜನೆಯನ್ನು ಬಳಸುತ್ತದೆ. ಕಂಪೈಲ್ ಮಾಡುವಾಗ ಸಮಾನಾಂತರ-ಕಾರ್ಯಗತಗೊಳಿಸಲಾದ ಕಾರ್ಯಕ್ರಮಗಳ ಏಕೀಕೃತ ಪ್ರಾತಿನಿಧ್ಯವನ್ನು ಬಳಸುವುದು HPVM ಯೋಜನೆಯ ಮುಖ್ಯ ಆಲೋಚನೆಯಾಗಿದೆ, ಇದನ್ನು GPU ಗಳು, ವೆಕ್ಟರ್ ಸೂಚನೆಗಳು, ಮಲ್ಟಿ-ಕೋರ್ ಪ್ರೊಸೆಸರ್‌ಗಳು, FPGA ಗಳು ಮತ್ತು ಸಮಾನಾಂತರ ಕಂಪ್ಯೂಟಿಂಗ್ ಅನ್ನು ಬೆಂಬಲಿಸುವ ವಿವಿಧ ರೀತಿಯ ಹಾರ್ಡ್‌ವೇರ್‌ಗಳಿಗೆ ಬಳಸಬಹುದು. ವಿವಿಧ ವಿಶೇಷ ವೇಗವರ್ಧಕ ಚಿಪ್ಸ್.

ಇತರ ವ್ಯವಸ್ಥೆಗಳಿಗಿಂತ ಭಿನ್ನವಾಗಿ, HPVM ವೈವಿಧ್ಯಮಯ ಕಂಪ್ಯೂಟಿಂಗ್ ಅನ್ನು ಸಂಘಟಿಸಲು ಮೂರು ಸಾಮರ್ಥ್ಯಗಳನ್ನು ಸಂಯೋಜಿಸಲು ಪ್ರಯತ್ನಿಸಿತು - ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆ ಮತ್ತು ಹಾರ್ಡ್‌ವೇರ್-ಸ್ವತಂತ್ರ ಮಧ್ಯಂತರ ಪ್ರಾತಿನಿಧ್ಯ (IR), ವರ್ಚುವಲ್ ಸೂಚನಾ ಸೆಟ್ ಆರ್ಕಿಟೆಕ್ಚರ್ (V-ISA) ಮತ್ತು ರನ್‌ಟೈಮ್ ವೇಳಾಪಟ್ಟಿ:

  • HPVM ಮಧ್ಯಂತರ ಪ್ರಾತಿನಿಧ್ಯವು ಕಾರ್ಯ, ಡೇಟಾ ಮತ್ತು ಪೈಪ್‌ಲೈನ್ ಹಂತಗಳಲ್ಲಿ ಸಮಾನಾಂತರತೆಯನ್ನು ಸೆರೆಹಿಡಿಯಲು ಕ್ರಮಾನುಗತ ಡೇಟಾ ಹರಿವಿನ ಗ್ರಾಫ್ ಅನ್ನು ಬಳಸುವ ಮೂಲಕ ಸೂಚನೆಗಳ LLVM ಮಧ್ಯಂತರ ಪ್ರಾತಿನಿಧ್ಯವನ್ನು ವಿಸ್ತರಿಸುತ್ತದೆ. HPVM ಮಧ್ಯಂತರ ಪ್ರಾತಿನಿಧ್ಯವು ವೆಕ್ಟರ್ ಸೂಚನೆಗಳು ಮತ್ತು ಹಂಚಿಕೆಯ ಸ್ಮರಣೆಯನ್ನು ಸಹ ಒಳಗೊಂಡಿದೆ. ಮಧ್ಯಂತರ ಪ್ರಾತಿನಿಧ್ಯವನ್ನು ಬಳಸುವ ಮುಖ್ಯ ಉದ್ದೇಶವು ಪರಿಣಾಮಕಾರಿ ಕೋಡ್ ಉತ್ಪಾದನೆ ಮತ್ತು ವೈವಿಧ್ಯಮಯ ವ್ಯವಸ್ಥೆಗಳಿಗೆ ಆಪ್ಟಿಮೈಸೇಶನ್ ಆಗಿದೆ.
  • ವರ್ಚುವಲ್ ಇನ್‌ಸ್ಟ್ರಕ್ಷನ್ ಸೆಟ್ ಆರ್ಕಿಟೆಕ್ಚರ್ (ವಿ-ಐಎಸ್‌ಎ) ಕಡಿಮೆ-ಮಟ್ಟದ ಹಾರ್ಡ್‌ವೇರ್ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಅಮೂರ್ತಗೊಳಿಸುತ್ತದೆ ಮತ್ತು ಮೂಲಭೂತ ಸಮಾನಾಂತರ ಮಾದರಿಯನ್ನು ಬಳಸಿಕೊಂಡು ವಿವಿಧ ರೀತಿಯ ಸಮಾನಾಂತರತೆ ಮತ್ತು ಮೆಮೊರಿ ಆರ್ಕಿಟೆಕ್ಚರ್‌ಗಳನ್ನು ಏಕೀಕರಿಸುತ್ತದೆ-ಡೇಟಾ ಫ್ಲೋ ಗ್ರಾಫ್. ಸಮಾನಾಂತರ ಕಂಪ್ಯೂಟಿಂಗ್‌ಗಾಗಿ ವಿವಿಧ ರೀತಿಯ ಸಾಧನಗಳ ನಡುವೆ ಪೋರ್ಟಬಿಲಿಟಿ ಸಾಧಿಸಲು V-ISA ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ ಮತ್ತು ವೈವಿಧ್ಯಮಯ ವ್ಯವಸ್ಥೆಗಳ ವಿವಿಧ ಅಂಶಗಳನ್ನು ಬಳಸುವಾಗ ಕಾರ್ಯಕ್ಷಮತೆಯನ್ನು ಕಳೆದುಕೊಳ್ಳದಂತೆ ಮಾಡುತ್ತದೆ. CPUಗಳು, GPUಗಳು, FPGAಗಳು ಮತ್ತು ವಿವಿಧ ವೇಗವರ್ಧಕಗಳನ್ನು ಬಳಸಿಕೊಂಡು ರನ್ ಮಾಡಬಹುದಾದ ಸಾರ್ವತ್ರಿಕ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಪ್ರೋಗ್ರಾಂ ಕೋಡ್ ಅನ್ನು ತಲುಪಿಸಲು ವರ್ಚುವಲ್ ISA ಅನ್ನು ಸಹ ಬಳಸಬಹುದು.
  • ಕಂಪ್ಯೂಟೇಶನಲ್ ಪ್ರಕ್ರಿಯೆಗೆ ಹೊಂದಿಕೊಳ್ಳುವ ಶೆಡ್ಯೂಲಿಂಗ್ ನೀತಿಗಳನ್ನು ರನ್‌ಟೈಮ್‌ನಲ್ಲಿ ಅನ್ವಯಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಪ್ರೋಗ್ರಾಂ (ಗ್ರಾಫ್ ರಚನೆ) ಮತ್ತು ಸಿಸ್ಟಮ್‌ನಲ್ಲಿ ಲಭ್ಯವಿರುವ ಯಾವುದೇ ಟಾರ್ಗೆಟ್ ಕಂಪ್ಯೂಟಿಂಗ್ ಸಾಧನಗಳಲ್ಲಿ ಕಾರ್ಯಗತಗೊಳಿಸಲು ವೈಯಕ್ತಿಕ ಪ್ರೋಗ್ರಾಂ ನೋಡ್‌ಗಳ ಸಂಕಲನದ ಮೂಲಕ ಮಾಹಿತಿಯನ್ನು ಆಧರಿಸಿ ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗುತ್ತದೆ.

ಯೋಜನೆಯಿಂದ ಅಭಿವೃದ್ಧಿಪಡಿಸಲಾದ ಕೋಡ್ ಜನರೇಟರ್‌ಗಳು NVIDIA GPU ಗಳು (cuDNN ಮತ್ತು OpenCL), Intel AVX ವೆಕ್ಟರ್ ಸೂಚನೆಗಳು, FPGA ಗಳು ಮತ್ತು ಮಲ್ಟಿ-ಕೋರ್ x86 CPU ಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಕಾರ್ಯಗತಗೊಳಿಸಲು ವರ್ಚುವಲ್ ISA ಬಳಸಿಕೊಂಡು ವ್ಯಾಖ್ಯಾನಿಸಲಾದ ಅಪ್ಲಿಕೇಶನ್ ನೋಡ್‌ಗಳನ್ನು ಭಾಷಾಂತರಿಸಲು ಸಮರ್ಥವಾಗಿವೆ. HPVM ಭಾಷಾಂತರಕಾರರ ಕಾರ್ಯಕ್ಷಮತೆಯು GPU ಗಳು ಮತ್ತು ವೆಕ್ಟರ್ ಕಂಪ್ಯೂಟಿಂಗ್ ಸಾಧನಗಳಿಗಾಗಿ ಕೈಯಿಂದ ಬರೆಯಲಾದ OpenCL ಕೋಡ್‌ಗೆ ಹೋಲಿಸಬಹುದು ಎಂದು ಗಮನಿಸಲಾಗಿದೆ.

HPVM 2.0 ನ ಪ್ರಮುಖ ಆವಿಷ್ಕಾರಗಳು:

  • ಹೆಟೆರೊ-ಸಿ++ ಭಾಷೆಯ ಮುಂಭಾಗವನ್ನು ಪ್ರಸ್ತಾಪಿಸಲಾಗಿದೆ, ಇದು HPVM ನಲ್ಲಿ ಸಂಕಲನಕ್ಕಾಗಿ C/C++ ನಲ್ಲಿ ಅಪ್ಲಿಕೇಶನ್ ಕೋಡ್‌ನ ಸಮಾನಾಂತರೀಕರಣವನ್ನು ಸರಳಗೊಳಿಸುತ್ತದೆ. Hetero-C++ ಡೇಟಾ ಮಟ್ಟದ ಸಮಾನಾಂತರತೆ ಮತ್ತು HPVM ಥ್ರೆಡ್ ಗ್ರಾಫ್‌ಗಳಿಗೆ ಮ್ಯಾಪ್ ಮಾಡುವ ಕ್ರಮಾನುಗತ ಕಾರ್ಯಗಳಿಗಾಗಿ ವಿಸ್ತರಣೆಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸುತ್ತದೆ.
  • Intel FPGA ಗಳಲ್ಲಿ ಕೋಡ್ ಎಕ್ಸಿಕ್ಯೂಶನ್‌ಗೆ ಬೆಂಬಲವನ್ನು ಒದಗಿಸಲು FPGA ಬ್ಯಾಕೆಂಡ್ ಅನ್ನು ಸೇರಿಸಲಾಗಿದೆ. ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯನ್ನು ಸಂಘಟಿಸಲು, OpenCL ಗಾಗಿ Intel FPGA SDK ಅನ್ನು ಬಳಸಲಾಗುತ್ತದೆ.
  • DSE (ಡಿಸೈನ್ ಸ್ಪೇಸ್ ಎಕ್ಸ್‌ಪ್ಲೋರೇಶನ್) ಫ್ರೇಮ್‌ವರ್ಕ್ ಅನ್ನು ಸೇರಿಸಲಾಗಿದೆ, ಇದು ಕಂಪೈಲರ್ ಆಪ್ಟಿಮೈಸೇಶನ್‌ಗಳು ಮತ್ತು ನಿರ್ದಿಷ್ಟ ಹಾರ್ಡ್‌ವೇರ್ ಪ್ಲಾಟ್‌ಫಾರ್ಮ್‌ಗಾಗಿ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಟ್ಯೂನ್ ಮಾಡಲು ಅಡಚಣೆಗಳನ್ನು ಗುರುತಿಸುವ ಕಾರ್ಯವಿಧಾನಗಳನ್ನು ಒಳಗೊಂಡಿದೆ. ಫ್ರೇಮ್‌ವರ್ಕ್ ಇಂಟೆಲ್‌ನಿಂದ ಎಫ್‌ಪಿಜಿಎಗಳಿಗಾಗಿ ಸಿದ್ಧ-ನಿರ್ಮಿತ ಕಾರ್ಯಕ್ಷಮತೆಯ ಮಾದರಿಯನ್ನು ಹೊಂದಿದೆ ಮತ್ತು ಎಚ್‌ಪಿವಿಎಂ ಬೆಂಬಲಿಸುವ ಯಾವುದೇ ಸಾಧನಗಳಿಗೆ ಆಪ್ಟಿಮೈಸೇಶನ್‌ಗಾಗಿ ನಿಮ್ಮ ಸ್ವಂತ ಪ್ರೊಸೆಸರ್‌ಗಳನ್ನು ಸಂಪರ್ಕಿಸಲು ಸಾಧ್ಯವಾಗಿಸುತ್ತದೆ. ಆಪ್ಟಿಮೈಸೇಶನ್‌ಗಳನ್ನು HPVM ಮತ್ತು LLVM ಡೇಟಾ ಫ್ಲೋ ಗ್ರಾಫ್ ಹಂತಗಳಲ್ಲಿ ಅನ್ವಯಿಸಬಹುದು.
  • LLVM ಘಟಕಗಳನ್ನು ಆವೃತ್ತಿ 13.0 ಗೆ ನವೀಕರಿಸಲಾಗಿದೆ.
  • ಕೋಡ್ ಬೇಸ್, ಲೈಬ್ರರಿಗಳು ಮತ್ತು ಉಪಯುಕ್ತತೆಗಳನ್ನು ನ್ಯಾವಿಗೇಟ್ ಮಾಡಲು ಸುಲಭವಾಗುವಂತೆ ಕೋಡ್ ಅನ್ನು ಮರುಸಂಘಟಿಸಲಾಗಿದೆ.
  • ಪರೀಕ್ಷಾ ಮೂಲಸೌಕರ್ಯವನ್ನು ಸುಧಾರಿಸಲಾಗಿದೆ, ವಿವಿಧ HPVM ಘಟಕಗಳಿಗೆ ಹೊಸ ಪರೀಕ್ಷೆಗಳನ್ನು ಸೇರಿಸಲಾಗಿದೆ.

ಮೂಲ: opennet.ru

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ