Vcc, ವಲ್ಕನ್‌ನಲ್ಲಿ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಕೋಡ್ ಅನ್ನು ಉತ್ಪಾದಿಸಲು ವಿನ್ಯಾಸಗೊಳಿಸಲಾದ ಕ್ಲಾಂಗ್-ಆಧಾರಿತ ಕಂಪೈಲರ್

vcc

ವಿಸಿಸಿ: ವಲ್ಕನ್ ಕ್ಲಾಂಗ್ ಕಂಪೈಲರ್

ಗ್ರಾಫಿಕ್ಸ್ API ಭೂದೃಶ್ಯದಲ್ಲಿ, ಛಾಯೆಯ ಭಾಷೆಗಳು ಮಿತಿಯನ್ನು ಎದುರಿಸುತ್ತಿವೆ, ಏಕೆಂದರೆ GLSL, HLSL ಮತ್ತು C++ ನಡುವಿನ ಸಾಮಾನ್ಯ ಉಪವಿಭಾಗದಲ್ಲಿ ಕೋಡ್ ಬರೆಯುವ ಸಾಧ್ಯತೆಯ ಹೊರತಾಗಿಯೂ, ಪ್ರಸ್ತುತ ನಿರ್ಬಂಧಗಳು ಅಸ್ತಿತ್ವದಲ್ಲಿವೆ.

ಇದಕ್ಕಾಗಿಯೇ Vcc ಹುಟ್ಟಿದೆ (ವಲ್ಕನ್ ಕ್ಲಾಂಗ್ ಕಂಪೈಲರ್) ವಲ್ಕನ್ ಕ್ಲಾಂಗ್ ಕಂಪೈಲರ್, ಇದು 3 ವರ್ಷಗಳಿಂದ ಅಭಿವೃದ್ಧಿಯಲ್ಲಿದ್ದ ಯೋಜನೆಯಾಗಿದೆ, ಈ ಮಿತಿಗಳು ಮತ್ತು ಸವಾಲುಗಳಿಗೆ ಪ್ರತಿಕ್ರಿಯೆಯಾಗಿ ಉದ್ಭವಿಸುತ್ತದೆ. ಈ ಯೋಜನೆಯು ಅಭಿವ್ಯಕ್ತಿಶೀಲ ನಿರ್ಬಂಧಗಳನ್ನು ಜಯಿಸಲು ಮಾತ್ರವಲ್ಲ, ಛಾಯೆ ಭಾಷೆಗಳ ಪರಿಕಲ್ಪನೆಯನ್ನು ತೊಡೆದುಹಾಕಲು ಪ್ರಯತ್ನಿಸುತ್ತದೆ.

ಸಂಯೋಜಿಸುವ ಮೂಲಕ ಸಂಪೂರ್ಣ ಭಾಷಾ ಕುಟುಂಬ ಸಿ / ಸಿ ++ ವಲ್ಕನ್ ಗೆ, Vcc ವಲ್ಕನ್ ಶೇಡರ್‌ಗಳಲ್ಲಿ ಹಿಂದೆಂದೂ ನೋಡಿರದ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಪರಿಚಯಿಸುತ್ತದೆ, ಉದಾಹರಣೆಗೆ ಭೌತಿಕ ಪಾಯಿಂಟರ್‌ಗಳು, ಜೆನೆರಿಕ್ ಪಾಯಿಂಟರ್‌ಗಳು, ನೈಜ ಕಾರ್ಯದ ಕರೆಗಳು ಮತ್ತು ಸಂಪೂರ್ಣ ನಿಯಂತ್ರಣ ಹರಿವು.

ಈ ಉಪಕ್ರಮ ಗ್ರಾಫಿಕ್ಸ್ ಮತ್ತು ಕಂಪ್ಯೂಟ್ API ಗಳ ನಡುವಿನ ಸಾಫ್ಟ್‌ವೇರ್ ಅಂತರವನ್ನು ಕಡಿಮೆ ಮಾಡಲು ಪ್ರಯತ್ನಿಸುತ್ತದೆ. ವಲ್ಕನ್ ಅನ್ನು ಇತರ GPU ಕಂಪ್ಯೂಟಿಂಗ್ API ಗಳೊಂದಿಗೆ ಹೊಂದಾಣಿಕೆ ಮಾಡುವ ಮೂಲಕ, Vcc ಅನ್ನು ಗ್ರಾಫಿಕ್ಸ್ ಮತ್ತು ಕಂಪ್ಯೂಟಿಂಗ್‌ನಲ್ಲಿ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಅನ್ನು ಏಕೀಕರಿಸುವ ಪ್ರಮುಖ ಹಂತವಾಗಿ ಪ್ರಸ್ತುತಪಡಿಸಲಾಗಿದೆ, ವಲ್ಕನ್ ಹೆಸರುವಾಸಿಯಾಗಿರುವ ಸಾಮೂಹಿಕ ಅಳವಡಿಕೆ ಮತ್ತು ಅನುಷ್ಠಾನದ ಗುಣಮಟ್ಟವನ್ನು ಹೊಂದಿಸುತ್ತದೆ.

VCC ಬಗ್ಗೆ

Vcc ಎನ್ನುವುದು ವಲ್ಕನ್‌ನಲ್ಲಿ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಕೋಡ್ ಅನ್ನು ಉತ್ಪಾದಿಸಲು ವಿನ್ಯಾಸಗೊಳಿಸಲಾದ ಕ್ಲಾಂಗ್-ಆಧಾರಿತ ಕಂಪೈಲರ್ ಆಗಿದೆ, ಇದರ ಉದ್ದೇಶ C++ ಕೋಡ್ ಅನ್ನು ಭಾಷಾಂತರಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಹೊಂದಿರುವ ಕಂಪೈಲರ್ ಆಗಿ ತನ್ನನ್ನು ತಾನೇ ಇರಿಸಿಕೊಳ್ಳಿ GPU ನಲ್ಲಿ ರನ್ ಮಾಡಬಹುದಾದ ಪ್ರಾತಿನಿಧ್ಯದಲ್ಲಿ ಅದು ವಲ್ಕನ್ ಗ್ರಾಫಿಕ್ಸ್ API ಅನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ. GLSL ಮತ್ತು HLSL ಶೇಡರ್ ಭಾಷೆಗಳನ್ನು ಆಧರಿಸಿದ GPU ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಮಾದರಿಗಳಿಗಿಂತ ಭಿನ್ನವಾಗಿ, Vcc ಪ್ರತ್ಯೇಕ ಶೇಡರ್ ಭಾಷೆಗಳ ಬಳಕೆಯನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ತೆಗೆದುಹಾಕುವ ಕಲ್ಪನೆಯನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ ಮತ್ತು ವಲ್ಕನ್‌ಗಾಗಿ C/C++ ಕೋಡ್ ಅನ್ನು ನೇರವಾಗಿ ಕಂಪೈಲ್ ಮಾಡುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಒದಗಿಸುತ್ತದೆ.

ಆದರೂ GLSL ಮತ್ತು HLSL ಗೆ ಪ್ರತಿಸ್ಪರ್ಧಿ ಎಂದು ಪರಿಗಣಿಸಬಹುದು, ಈ ಯೋಜನೆಯ ಹಿಂದಿನ ನಿಜವಾದ ಉದ್ದೇಶವು ಮುಂದೆ ಹೋಗುತ್ತದೆ Vcc C/C++ ಭಾಷಾ ಕುಟುಂಬವನ್ನು ವಲ್ಕನ್‌ಗೆ ಸೇರಿಸಲು ಪ್ರಯತ್ನಿಸುತ್ತದೆ, ವಲ್ಕನ್ ಶೇಡರ್‌ಗಳಲ್ಲಿ ಹಲವಾರು ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಪರಿಚಯಿಸುತ್ತಿದೆ.

Vcc ಕೇವಲ ಶ್ಯಾಡಿಗೆ ಇಂಟರ್ಫೇಸ್ ಆಗಿದೆ, ಐಆರ್, ಮತ್ತು ಮೇಲೆ ತಿಳಿಸಲಾದ ರಚನೆಗಳಿಗೆ ಬೆಂಬಲದೊಂದಿಗೆ SPIR-V ಅನ್ನು ವಿಸ್ತರಿಸಲು ವಿನ್ಯಾಸಗೊಳಿಸಲಾದ ಕಂಪೈಲರ್ ಆಗಿದೆ. ಶ್ಯಾಡಿಯನ್ನು ತುಲನಾತ್ಮಕವಾಗಿ ಸಾಂಪ್ರದಾಯಿಕ ಐಆರ್ ಆಗಿ ಪ್ರಸ್ತುತಪಡಿಸಲಾಗಿದೆ ಮತ್ತು LLVM IR ಅನ್ನು ಪಾರ್ಸಿಂಗ್ ಮಾಡಲು ಬೆಂಬಲವನ್ನು ಒಳಗೊಂಡಿದೆ. SPIR-V 3 ರ ಪ್ರಸ್ತುತ ಆವೃತ್ತಿಗಳಲ್ಲಿ ಕಂಡುಬರದ ಎಲ್ಲಾ ಹೆಚ್ಚುವರಿ ವೈಶಿಷ್ಟ್ಯಗಳ ಕಡಿತ ಮತ್ತು ಎಮ್ಯುಲೇಶನ್ ಅನ್ನು ನಿಭಾಯಿಸುತ್ತದೆ.

ಸಹಜವಾಗಿ, ಶೇಡರ್‌ಗಳಲ್ಲಿ ಮಾತ್ರ ಕಂಡುಬರುವ ಹಲವಾರು ವಿಶಿಷ್ಟ ವೈಶಿಷ್ಟ್ಯಗಳಿವೆ. ಇವುಗಳನ್ನು Vcc ಯಲ್ಲಿ ಅಂತರ್ಗತ ಮತ್ತು ಟಿಪ್ಪಣಿಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಬಹಿರಂಗಪಡಿಸಲಾಗುತ್ತದೆ, ವಲ್ಕನ್ ಚಾನಲ್‌ನ ವಿವಿಧ ವೈಶಿಷ್ಟ್ಯಗಳೊಂದಿಗೆ ಸಂವಹನ ಮಾಡುವ ಕೋಡ್ ಅನ್ನು ಬರೆಯಲು ನಿಮಗೆ ಅವಕಾಶ ನೀಡುತ್ತದೆ.

Vcc ಯಲ್ಲಿನ ಸಂಕಲನ ಪ್ರಕ್ರಿಯೆಯು LLVM ಮತ್ತು ಕ್ಲಾಂಗ್ ಪ್ರಾಜೆಕ್ಟ್ ಘಟಕಗಳ ಬಳಕೆಯನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ ಇಂಟರ್ಫೇಸ್ ಆಗಿ. GPU ನಲ್ಲಿ ಕಾರ್ಯಗತಗೊಳಿಸಲು, Vcc ತನ್ನದೇ ಆದ ಮಧ್ಯಂತರ ಶೇಡರ್ ಪ್ರಾತಿನಿಧ್ಯ "ಶ್ಯಾಡಿ" ಅನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸುತ್ತದೆ, ಕೋಡ್ ಅನ್ನು ಈ ಪ್ರಾತಿನಿಧ್ಯಕ್ಕೆ ಪರಿವರ್ತಿಸಲು ಮೀಸಲಾದ ಕಂಪೈಲರ್ ಜೊತೆಗೆ. ಈ ವಿಧಾನವು ಪ್ರಮಾಣಿತ C/C++ ಕೋಡ್‌ನ ಸಂಕಲನವನ್ನು ಅನುಮತಿಸುತ್ತದೆ ಮತ್ತು GPU ದ ಸಾಮರ್ಥ್ಯಗಳ ಲಾಭವನ್ನು ಪಡೆಯಲು ನಿರ್ದಿಷ್ಟ ಅಂತರ್ನಿರ್ಮಿತ ಕಾರ್ಯಗಳಿಂದ ಪೂರಕವಾಗಿದೆ.

ವಿಸಿಸಿ ಪ್ರೋಗ್ರಾಂ ಹರಿವನ್ನು ನಿಯಂತ್ರಿಸಲು ಸ್ಥಳೀಯ C/C++ ಕಾರ್ಯಗಳನ್ನು ಬೆಂಬಲಿಸಲು ಎದ್ದು ಕಾಣುತ್ತದೆ, "ಗೋಟೊ" ಸೂಚನೆಯ ಬಳಕೆಯನ್ನು ಸಹ ಅನುಮತಿಸುತ್ತದೆ. ಹೆಚ್ಚುವರಿಯಾಗಿ, ಇದು ಕಾರ್ಯಗಳನ್ನು ಕರೆಯುವ ಸಾಮರ್ಥ್ಯವನ್ನು ಒದಗಿಸುತ್ತದೆ, ಕಾರ್ಯಗಳನ್ನು ಪುನರಾವರ್ತಿತವಾಗಿ ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತದೆ ಮತ್ತು ಭೌತಿಕ ಪಾಯಿಂಟರ್‌ಗಳು, ಟ್ಯಾಗ್ ಮಾಡಲಾದ ಪಾಯಿಂಟರ್‌ಗಳು ಮತ್ತು ಫಂಕ್ಷನ್ ಪಾಯಿಂಟರ್‌ಗಳಂತಹ ವಿವಿಧ ರೀತಿಯ ಪಾಯಿಂಟರ್‌ಗಳನ್ನು ಬಳಸುತ್ತದೆ. ಹೆಚ್ಚುವರಿಯಾಗಿ, ಪಾಯಿಂಟರ್‌ಗಳಲ್ಲಿ ಅಂಕಗಣಿತದ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಮತ್ತು ಮೆಮೊರಿಯಲ್ಲಿ ಟೈಪ್ ಲೇಔಟ್‌ಗಳನ್ನು ನಿರ್ಧರಿಸಲು ಇದು ಸುಲಭಗೊಳಿಸುತ್ತದೆ.

ಶ್ಯಾಡಿ ಶೇಡರ್ ಮಧ್ಯಂತರ ಪ್ರಾತಿನಿಧ್ಯವು SPIR-V 3 ಅನ್ನು ಆಧರಿಸಿದೆ ಮತ್ತು C/C++ ವೈಶಿಷ್ಟ್ಯಗಳಿಗೆ ಅಂತರ್ಗತವಾಗಿರುವ ವಿಶೇಷ ರಚನೆಗಳನ್ನು ಬೆಂಬಲಿಸಲು ವಿಸ್ತರಿಸಲಾಗಿದೆ. SPIR-V ಗೆ ನೇರವಾಗಿ ಅನ್ವಯಿಸದ ಸುಧಾರಿತ ಸಾಮರ್ಥ್ಯಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಎಮ್ಯುಲೇಶನ್ ಅನ್ನು ಬಳಸಲಾಗುತ್ತದೆ. Vcc ಅಂತರ್ನಿರ್ಮಿತ ಕಾರ್ಯಗಳು ಮತ್ತು ಟಿಪ್ಪಣಿಗಳನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ, ಇದು ಶೇಡರ್‌ಗಳ ನಿರ್ದಿಷ್ಟ ಸಾಮರ್ಥ್ಯಗಳನ್ನು ಪರಿಣಾಮಕಾರಿಯಾಗಿ ಬಳಸಲು ಪ್ರೋಗ್ರಾಂಗಳನ್ನು ಅನುಮತಿಸುತ್ತದೆ, ಹೀಗಾಗಿ GPU ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ಅಭಿವೃದ್ಧಿಪಡಿಸಲು ಬಹುಮುಖ ಮತ್ತು ಶಕ್ತಿಯುತ ವಾತಾವರಣವನ್ನು ಒದಗಿಸುತ್ತದೆ.

ಅಂತಿಮವಾಗಿ, ಎಲ್ಲವೂ ಗುಲಾಬಿ ಮತ್ತು ಅಲ್ಲ ಎಂದು ನಮೂದಿಸುವುದು ಯೋಗ್ಯವಾಗಿದೆಅನುಷ್ಠಾನದ ಕೆಲವು ಮಿತಿಗಳನ್ನು ಗಣನೆಗೆ ತೆಗೆದುಕೊಳ್ಳುವುದು ಅತ್ಯಗತ್ಯ. ಉದಾಹರಣೆಗೆ, Vcc C++ ವಿನಾಯಿತಿಗಳನ್ನು ಬೆಂಬಲಿಸುವುದಿಲ್ಲ, ಮತ್ತು malloc/free ಕಾರ್ಯವು ಲಭ್ಯವಿಲ್ಲ. ಹೆಚ್ಚುವರಿಯಾಗಿ, ಹೋಸ್ಟ್ ಸಿಸ್ಟಮ್ ಮತ್ತು ಜಿಪಿಯು ನಡುವಿನ ಕಾರ್ಯಗಳು ಮತ್ತು ಪಾಯಿಂಟರ್‌ಗಳ ಪೋರ್ಟಬಿಲಿಟಿ ಮೇಲೆ ನಿರ್ಬಂಧವಿದೆ. ಸಮರ್ಥ ಮತ್ತು ತೊಂದರೆ-ಮುಕ್ತ ನಿಯೋಜನೆಯನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು Vcc ಅನ್ನು ಬಳಸುವ ಅಪ್ಲಿಕೇಶನ್‌ಗಳ ಅಭಿವೃದ್ಧಿಯನ್ನು ಯೋಜಿಸುವಾಗ ಈ ಪರಿಗಣನೆಗಳು ನಿರ್ಣಾಯಕವಾಗಿವೆ.

ಚಿಕ್ಕನಿದ್ರೆ ಅದರ ಬಗ್ಗೆ ಇನ್ನಷ್ಟು ತಿಳಿದುಕೊಳ್ಳಲು ಆಸಕ್ತಿ, ನೀವು ಸಮಾಲೋಚಿಸಬಹುದು ವೆಬ್ ಸೈಟ್ ಮತ್ತು ಕೋಡ್‌ನಲ್ಲಿ ಆಸಕ್ತಿ ಹೊಂದಿರುವವರಿಗೆ, ಅದು ಲಭ್ಯವಿದೆ ಎಂದು ನೀವು ತಿಳಿದಿರಬೇಕು ಇಲ್ಲಿ


ನಿಮ್ಮ ಅಭಿಪ್ರಾಯವನ್ನು ಬಿಡಿ

ನಿಮ್ಮ ಈಮೇಲ್ ವಿಳಾಸ ಪ್ರಕಟವಾದ ಆಗುವುದಿಲ್ಲ. ಅಗತ್ಯವಿರುವ ಜಾಗ ಗುರುತಿಸಲಾಗಿದೆ *

*

*

  1. ಡೇಟಾಗೆ ಜವಾಬ್ದಾರಿ: AB ಇಂಟರ್ನೆಟ್ ನೆಟ್ವರ್ಕ್ಸ್ 2008 SL
  2. ಡೇಟಾದ ಉದ್ದೇಶ: ನಿಯಂತ್ರಣ SPAM, ಕಾಮೆಂಟ್ ನಿರ್ವಹಣೆ.
  3. ಕಾನೂನುಬದ್ಧತೆ: ನಿಮ್ಮ ಒಪ್ಪಿಗೆ
  4. ಡೇಟಾದ ಸಂವಹನ: ಕಾನೂನುಬದ್ಧ ಬಾಧ್ಯತೆಯನ್ನು ಹೊರತುಪಡಿಸಿ ಡೇಟಾವನ್ನು ಮೂರನೇ ವ್ಯಕ್ತಿಗಳಿಗೆ ಸಂವಹನ ಮಾಡಲಾಗುವುದಿಲ್ಲ.
  5. ಡೇಟಾ ಸಂಗ್ರಹಣೆ: ಆಕ್ಸೆಂಟಸ್ ನೆಟ್‌ವರ್ಕ್‌ಗಳು (ಇಯು) ಹೋಸ್ಟ್ ಮಾಡಿದ ಡೇಟಾಬೇಸ್
  6. ಹಕ್ಕುಗಳು: ಯಾವುದೇ ಸಮಯದಲ್ಲಿ ನೀವು ನಿಮ್ಮ ಮಾಹಿತಿಯನ್ನು ಮಿತಿಗೊಳಿಸಬಹುದು, ಮರುಪಡೆಯಬಹುದು ಮತ್ತು ಅಳಿಸಬಹುದು.