Il compilatore Hero C”HCC”vuole semplificare la compilazione del codice C da eseguire sulle GPU compilando il codice C11 comune e trasformandolo in moduli SPIR-V che possono quindi essere consumati dalle GPU con supporto Vulkan.
HCC si autodefinisce come:
HCC è un compilatore C che ti consente di compilare la tua base di codice C (con limitazioni) in SPIR-V per l’API grafica Vulkan. Ciò significa che puoi condividere struct, enum e funzioni tra il tuo codice CPU e GPU. HCC si rivolge al futuro della programmazione GPU, quindi è progettato attorno a funzionalità come risorse senza vincoli e allineamento scalare. Ciò semplifica l’interoperabilità con la GPU e si concentra sulla scrittura del codice dello shader senza scrivere il proprio sistema di compilazione dello shader.
Il progetto è attualmente in versione alpha, quindi aspettati bug e per favore aiutaci segnalando bug e contribuendo alla base di codice:)
Lo sviluppatore principale di HCC, Henry Rose, ha scritto a Phoronix commentando ulteriormente:”Ho appena rilasciato la mia prima versione di HCC, lo scopo principale del progetto è permettermi di utilizzare il linguaggio C11 sulla GPU poiché mi piace davvero usarlo sulla CPU.Mi permette di condividere codice e strutture di dati ma anche si sono sbarazzati di alcune delle funzionalità legacy presenti in altri linguaggi di ombreggiatura.”
HCC supporta sia Windows che Linux, mira a convertire il codice C11 nell’utilizzo di Vulkan 1.3+ tramite SPIR-V e a supportare il maggior numero possibile di funzionalità del linguaggio C.
Coloro che desiderano saperne di più il compilatore HCC può trovarlo ospitato su GitHub.