Skip to content

emka.web.id

Menu
  • Home
  • Indeks Artikel
  • Tutorial
  • Tentang Kami
Menu

GCC 13 Sekarang Mengaktifkan Vektor 512-bit Untuk AMD Zen 4 Tuning

Posted on February 07, 2023 by Syauqi Wiryahasana
Pakar kompiler GNU Compiler Collection Jan Hubicka di SUSE terus mengerjakan tweak menit-menit terakhir ke GCC 13 untuk memanfaatkan prosesor AMD Zen 4 terbaru. Kembali pada bulan Oktober AMD memberikan dukungan dasar Zen 4 "znver4" ke GCC 13 sementara selama dua bulan terakhir ini telah banyak pekerjaan penyetelan yang dilakukan oleh SUSE untuk mengaktifkan lebih banyak pengoptimalan dan penyetelan dibandingkan dengan dukungan awal Znver4 yang mengikuti jalur dan tabel biaya yang sama dengan Zen 3.

Selama beberapa minggu terakhir telah banyak penyetelan GCC 13 untuk Zen 4 dan setidaknya satu pengoptimalan lagi mendarat hari ini menjelang rilis stabil GCC 13.1 yang akan keluar dalam satu atau dua bulan ke depan. Tambalan baru

Hubicka memungkinkan vektor 512-bit untuk Zen 4. Hingga saat ini penyetelan kompiler untuk Zen 4 lebih disukai menggunakan instruksi AVX 256-bit daripada instruksi AVX 512-bit di vektorizer otomatis. Namun, pengujian lebih lanjut telah membuktikan bahwa menggunakan vektor 512-bit memang merupakan pendekatan yang paling optimal. Hubicka menjelaskan dengan komit yang membuat perubahan satu baris kode: Aktifkan vektor 512 bit untuk zen4 Sementara register internal 512 dibagi menjadi dua bagian 256 bit vektor 512 bit mengurangi jumlah instruksi untuk dihentikan dan memiliki peluang untuk meningkatkan paralelisme. Ada beberapa tolok ukur TSVC yang meningkat secara signifikan: runtime benchmark 256bit 512bit S2275 48.57 20.67 -58% S311 32.29 16.06 -50% S312 32.30 16.42% SUMR 32.30 16.07 -50% S314.4.42% SMSUMR 32.30 16.07 -50% S314.4.42% S3.4.4.4.4.4.30% S314.42.50% S314. 43.05 21.69 -50% S316 10.80 5.64 -48% S235 61.72 33.91 -45% S161 15.91 9.95 -38% S3251 32.13 20.31 -36% dan tidak ada tolok ukur dengan regresi off-noise. Loop perkalian matriks dasar meningkat sebesar 32%. Diharapkan juga bahwa vektor 512 bit lebih hemat daya (Saya tidak dapat memastikannya). Kelemahannya adalah loop dengan jumlah perjalanan rendah mungkin menjadi lebih lambat saat prolog dan epilog yang tidak divektor lebih sering dipukul. Dengan SPECfp masalah ini terjadi dengan x264 (12% regresi) dan bwaves (6% regresi) dan ini lacak di https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108410 dan akan memerlukan lebih banyak pekerjaan pada vectorizer untuk mendukung epilog bertopeng. Setelah beberapa pengujian tambahan tampaknya menggunakan vektor 512 bit secara default sekarang secara keseluruhan lebih baik pilihan. Sangat menyenangkan melihat penyetelan menit terakhir ini berhasil untuk target Znver4 berlanjut menjelang rilis fitur tahunan GCC 13.1 yang akan datang pada bulan Maret~April. (Memang, idealnya, ini akan melihat pekerjaan ini ditangani pra-peluncuran untuk Zen 4 dan agar kompiler yang dirilis sudah tersedia akan memiliki dukungan yang disetel ini untuk mereka yang ingin mengeksploitasi penanganan "-march=znver4".) Ini akan menyenangkan untuk melihat bagaimana kinerja kompiler GCC 13.1 dibandingkan dengan kompiler AOCC 4.0 AMD pada prosesor seri Ryzen 7000 dan seri EPYC 9004. Di sisi LLVM/Clang hulu, (sayangnya) tidak ada sesuatu yang baru dalam antrean tinjauan dengan satu-satunya komit Znver4 di sana adalah pengaktifan awal dari bulan Desember yang menyalin penyetelan dari Zen 3 dan membalikkan instruksi baru.

Itulah berita seputar GCC 13 Sekarang Mengaktifkan Vektor 512-bit Untuk AMD Zen 4 Tuning, semoga bermanfaat. Disadur dari Phoronix.com.
Seedbacklink

Recent Posts

TENTANG EMKA.WEB>ID

EMKA.WEB.ID adalah blog seputar teknologi informasi, edukasi dan ke-NU-an yang hadir sejak tahun 2011. Kontak: kontak@emka.web.id.

©2024 emka.web.id Proudly powered by wpStatically