Mengikuti target awal AMD Zen 4 "znver4" untuk GCC 13 yang diterbitkan dan digabungkan pada bulan Oktober (dan sekarang seorang insinyur SUSE bekerja untuk menyediakan dukungan yang benar-benar disetel dan tabel biaya yang akurat), tambalan AMD Zen 4 awal untuk kompiler LLVM/Clang diterbitkan beberapa hari yang lalu.
Patch pengaktifan awal untuk AMD Zen 4 dengan LLVM/Clang diterbitkan oleh seorang insinyur AMD untuk melakukan upstream dalam basis kode LLVM sumber terbuka. Patch ini mengaktifkan deteksi Zen 4 berdasarkan model Family 19h, mendukung penargetan -march=znver4, dan mengaktifkan kemampuan ISA baru dari prosesor Zen 4. Terutama, ini mengaktifkan semua tambahan AVX-512 yang relevan.
Sayangnya, patch LLVM yang terlambat ini menggunakan kembali model penjadwal Zen 3 yang ada dan AMD mengatakan mereka akan "memperbarui ini nanti" untuk model penjadwal Zen 4 baru yang sebenarnya. Ini seperti dukungan Zen 4 awal untuk GCC yang tidak disetel dengan benar untuk perubahan mikroarsitektur Zen 4 tetapi akan datang di beberapa titik di masa mendatang - berminggu-minggu atau berbulan-bulan kemudian, setidaknya melewati waktu penyelesaian dengan kompiler yang terlambat tuning untuk CPU baru.
It`s bahkan lebih disayangkan di sisi LLVM pekerjaan yang terlambat mengingat mereka bulan lalu merilis AOCC 4.0 sebagai AMD Optimizing C/C++ Compiler yang diperbarui. Rilis AOCC 4.0 itu disetel untuk Zen 4 dan telah terbukti memberikan peningkatan kompiler yang bagus. AOCC didasarkan pada LLVM/Clang tetapi merupakan rilis biner saja dan di luar tambalan LLVM awal mereka belum menawarkan tambalan Zen 4 tambahan apa pun untuk ditinjau ke hulu ... Mungkin masih macet membersihkan proses internal AMD untuk mendapatkan tambalan sumber terbuka diterbitkan atau apa pun alasan internal lainnya.
Dengan tambalan Zen 4 awal yang sedang ditinjau, komentar tinjauan kode pertama dimulai dengan, "Terima kasih [insinyur AMD] Saya pikir Anda sudah lupa tentang LLVM :)" Tinjauan kode hulu melanjutkan untuk menyarankan itu daripada memanfaatkan Zen 3 model penjadwal, Zen 4 mungkin lebih baik menggunakan kembali salah satu model penjadwal CPU Intel yang lebih baru. Model penjadwal Intel setidaknya memperhitungkan AVX-512 yang baru dengan Zen 4, setidaknya sampai AMD dapat menerbitkan model penjadwal mereka sendiri yang tepat untuk prosesor seri Ryzen 7000 dan seri EPYC 9004 yang baru ini.
Ini mungkin terdengar aneh - tetapi mungkin lebih baik menggunakan model IceLake atau SkylakeServer pada awalnya - karena mereka memiliki cakupan instruksi AVX512, model znver3 akan menyatakan dalam llvm-mca dll ketika menemukan instruksi yang tidak didukung (salah satu kelas Z sched) .Untuk saat ini patch awal Znver4 ini masih menjalani review jelang mainlining. Dengan asumsi tambalan awal siap digunakan dalam beberapa minggu mendatang, dukungan awal Zen 4 ini akan ditemukan di LLVM 16.0 yang akan berakhir stabil sekitar bulan Maret. Mudah-mudahan AMD akan dapat mengeluarkan dukungan kompiler sumber terbuka Zen 4 yang disetel lebih cepat daripada nanti sementara untuk saat ini dukungan kompiler terbaik untuk CPU Zen 4 Ryzen/EPYC adalah dengan biner AOCC 4.0.
Itulah berita seputar Patch Dukungan AMD Zen 4 Awal Dalam Tinjauan Untuk LLVM/Clang, semoga bermanfaat. Disadur dari Phoronix.com.