Mengikuti dukungan”__bf16″opsional ditambahkan ke x86-64 psABI sebagai tipe khusus untuk mewakili Format Brain Floating Point 16-bit untuk aplikasi pembelajaran mendalam/pembelajaran mesin, kompiler GCC dan LLVM kini telah mendapatkan dukungan tipe __bf16 mereka.
Kompiler telah menambahkan dukungan __bf16 sesuai dengan spek x86-64 psABI . Motivasi untuk jenis khusus baru ini diringkas sebagai:
Saat ini __bfloat16 adalah sebuah typedef dari short, yang menimbulkan masalah dimana compiler tidak membunyikan alarm apapun jika digunakan untuk menambah, mengurangi, mengalikan atau membagi, tetapi hasil perhitungan sebenarnya tidak ada artinya. Untuk mengatasi masalah ini, tipe skalar nyata __Bfloat16 perlu diperkenalkan. Ini terutama digunakan untuk intrinsik, tidak tersedia untuk operator standar C. __Bfloat16 juga akan digunakan untuk pergerakan seperti melewati parameter, memuat dan menyimpan, inisialisasi vektor, pengocokan vektor, dan lain-lain. Ini menciptakan kebutuhan akan psABI yang sesuai.
Di sisi perangkat keras, Intel Xeon Scalable Cooper Lake dan Sapphire Rapids adalah prosesor yang sejauh ini memiliki dukungan instruksi AVX-512 BFloat16 (BF16) asli untuk memperkuat potensi kinerja pembelajaran mesin mereka.
Minggu lalu LLVM mendarat dukungan jenis __bf16 untuk target x86 bersama dengan beberapa komit tindak lanjut yang mengadaptasi kode BFloat16 yang ada. Sekarang hari ini di GCC Git ada juga dukungan untuk __bf16 Tipe.
Dukungan jenis __bf16 ini selanjutnya akan ditemukan di kompiler GCC 13 dan LLVM 16 stabil, yang keduanya akan dirilis secara resmi pada bulan-bulan awal tahun depan.