Performa AMD AOCC Pada EPYC 7773X Milan-X Melawan GCC, Clang Compilers

Bulan lalu dengan benchmark AMD EPYC 7773X Linux dan Milan-X di Azure cloud, saya menunjukkan kemampuan mengesankan dari prosesor Milan-X baru AMD dengan cache L3 768MB per soket (cache 1,5GB per server 2P!) beban kerja. Semua pembandingan awal seperti biasa dilakukan menggunakan kompiler sistem GCC default di semua prosesor AMD/Intel yang diuji. Tentu saja, ada juga AMD`s Optimasi C/C++ Compiler (AOCC) sebagai hilir dari LLVM/Dentang dengan berbagai patch optimasi Zen yang diterapkan. Ingin tahu tentang dampak AOCC untuk Milan-X, berikut adalah beberapa tolok ukur yang melihat kinerja EPYC 7773X 2P di seluruh AOCC, GCC, dan LLVM Dentang.

Dengan Ubuntu 22.04 LTS dirilis minggu depan dan itu adalah rilis Linux perusahaan besar berikutnya, yang tersisa sistem operasi yang digunakan untuk tolok ukur berwawasan ke depan ini. Ubuntu 22.04 LTS secara default menggunakan kernel Linux 5.15 LTS dan di sisi kompiler menggunakan GCC 11.2 secara default dan juga memiliki LLVM Clang 14.0 yang baru dirilis dalam arsipnya sebagai paket “dentang” default. GCC 11.2 yang dirilis tahun lalu memiliki semua patch Zen 3 di GCC tidak seperti kompiler GCC 9 yang digunakan oleh Ubuntu 20.04 LTS — ditambah banyak peningkatan C/C++ lainnya dan peningkatan kompiler lainnya pada umumnya. GCC 12 akan melihat rilis stabilnya dalam beberapa minggu mendatang tetapi jelas di luar jangkauan untuk Ubuntu 22.04 LTS tetapi akan menjadi kompiler default untuk Ubuntu 22.10 pada bulan Oktober.

Jadi dengan fokus Ubuntu 22.04 LTS, defaultnya GCC 11.2 dan LLVM/ Kompiler Dentang 14.0 adalah kompiler yang diuji di bagian depan itu dalam pembandingan Milan-X ini. Di sisi AOCC, AMD AOCC 3.2 tetap menjadi rilis kompiler terbaru dari Desember lalu dan didasarkan pada upstream LLVM/Dentang 13.0. Kembali selama briefing media Milan-X saya bertanya apakah AMD memiliki rencana untuk kompiler yang diperbarui bersama peluncuran Milan-X, yang tidak mereka lakukan. Bahkan, disebutkan, mereka kemungkinan tidak akan memiliki rilis AOCC baru sampai prosesor generasi berikutnya (Zen 4). Itu agak mengejutkan dengan asumsi prosesor Zen 4 tidak akan debut sampai akhir tahun dan LLVM/Dentang 14.0 telah dirilis stabil seperti pembaruan setengah tahun terbaru untuk kompiler. Dengan LLVM/Dentang 14.0 ada mainlining BOLT, banyak pekerjaan lanjutan pada Flang untuk dukungan Fortran yang lebih baik, dan hanya banyak perbaikan secara umum. Jadi agak mengejutkan jika mereka tidak merencanakan setidaknya re-base AOCC 3 untuk sementara tetapi sebaliknya itu hanya akan membuat rilis kompiler AOCC 4.0 besar-besaran (AOCC 4.0 dengan asumsi praktik versi mereka berlaku) ketika berikutnya -gen CPU dikirimkan. Meskipun tidak terkait dengan Milan-X tetapi sebagai catatan umum, tidak seperti praktik Intel dalam mendapatkan dukungan kompiler untuk target CPU baru yang di-upstream jauh sebelum peluncuran, sejauh ini tidak ada dukungan upstream Zen 4 [znver4] di GCC atau LLVM /Clang.

Jadi dengan pengujian kompiler hari ini pada AMD EPYC 7773X 2P, ini melihat kinerja GCC 11.2 dan LLVM Clang 14.0 dari arsip “Jammy Jellyfish” Ubuntu 22.04 terhadap kompiler AMD AOCC 3.2 sebagai rilis terbaru di sana. Di semua pengujian, CFLAGS/CXXFLAGS disetel ke “-O3 -march=native -flto” untuk tolok ukur open-source yang dibangun pada konfigurasi server Milan-X 2P ini menggunakan platform server referensi Daytona AMD.

Tidak ada perubahan lain yang dibuat selama pengujian selain menukar kompiler dasar yang digunakan untuk membangun tolok ukur/perangkat lunak di bawah test.

Itulah berita seputar Performa AMD AOCC Pada EPYC 7773X Milan-X Melawan GCC, Clang Compilers, semoga bermanfaat. Disadur dari Phoronix.com.