Kompiler GCC 10.1 telah hadir dan ini adalah hal-hal baru yang utama

Setelah setahun pembangunan rilis versi baru telah diterbitkan dari set gratis Kompiler GCC 10.1, ini menjadi rilis signifikan pertama di cabang baru GCC 10.x.

Menurut skema penomoran versi baru, versi 10.0 digunakan selama proses pengembangan dan tak lama sebelum rilis GCC 10.1, cabang GCC 11.0 sudah bercabang, yang menjadi dasarnya versi berikutnya akan dibentuk. Signifikansi GCC 11.1 .

Bagi mereka yang tidak terbiasa dengan GCC (GNU Compiler Collection) harus tahu bahwa eIni adalah sekumpulan kompiler yang dibuat oleh proyek GNU, adalah perangkat lunak gratis dan didistribusikan oleh Free Software Foundation (FSF) di bawah lisensi publik umum GPL.

Kompiler ini digunakan secara luas pada kebanyakan sistem Unix sedemikian rupa sehingga mereka dianggap sebagai standar untuk sistem operasi Unix dan turunan open source dan juga kepemilikan, seperti Mac OS X.

GCC memerlukan sekumpulan aplikasi yang disebut binutils untuk melakukan tugas seperti mengidentifikasi file objek atau mendapatkan ukurannya untuk menyalin, menerjemahkan atau membuat daftar, menautkannya, atau menghapus simbol yang tidak perlu.

Yang baru di GCC 10.1

GCC 10.1 menonjol karena penerapan banyak inovasi bahasa C ++ dikembangkan untuk standar C ++ 20, peningkatan terkait dengan standar bahasa C masa depan (C2x), pengoptimalan baru di backend compiler dan dukungan eksperimental untuk mode analisis statis.

Untuk bahasa C, C ++ dan Fortran, spesifikasi pemrograman paralel OpenACC 2.6 diimplementasikan, yang mendefinisikan alat unduhan pada GPU dan prosesor khusus seperti NVIDIA PTX.

Penerapan standar Buka MP 5.0 (Open Multi-Processing), yang mendefinisikan API dan metode untuk menggunakan metode pemrograman paralel dalam sistem multi-core dan hybrid (CPU + GPU / DSP) dengan memori bersama dan unit vektorisasi (SIMD), itu hampir selesai.

Fitur ditambahkan sebagai ekspresi bersyarat lastprivate, scan dan loop direktif, ekspresi order dan use_device_addr. Untuk OpenMP dan OpenACC, itu telah ditambahkan dukungan untuk diunduh pada GPU AMD Radeon generasi ke-XNUMX dan ke-XNUMX.

Untuk bahasa C, fungsi "akses" telah ditambahkan untuk mendeskripsikan akses ke fungsi objek yang diteruskan oleh referensi atau penunjuk dan untuk mengaitkan objek ini dengan argumen integer yang berisi informasi tentang ukuran objek.

Untuk bekerja bersama dengan "access", atribut "type" diimplementasikan untuk mendeteksi akses yang salah dari fungsi pengguna, misalnya, saat menulis nilai ke area di luar batas array. Atribut symver juga telah ditambahkan untuk menghubungkan karakter dalam file ELF ke nomor versi tertentu.

Untuk C ++, sekitar 16 perubahan dan inovasi telah diimplementasikan dikembangkan dalam standar C ++ 20 termasuk kata kunci "constinit" menambahkan dan menerapkan dukungan untuk memperluas template «konsep»Itu memungkinkan Anda untuk menentukan satu set persyaratan untuk parameter template, yang selama kompilasi membatasi set argumen yang dapat diambil sebagai parameter template.

Lebih lanjut pengoptimalan antarprocedural yang ditingkatkan disorot, IPA-SRA telah didesain ulang untuk berfungsi selama pengikatan dan antara lain sekarang menghapus nilai yang dihitung dan dikembalikan yang tidak digunakan.

Dalam mode pengoptimalan "-O2", opsi "-finline-functions" diaktifkan, yang dikonfigurasi ulang untuk kode yang lebih ringkas daripada kinerja.

Itu pengoptimalan tautan yang ditingkatkan (LTO), sdan menambahkan file baru yang dapat dieksekusi lto-dump untuk membuang informasi pada file objek berkode byte LTO. Dalam lintasan paralel LTO, jumlah tugas eksekusi bersamaan dapat ditentukan secara otomatis dan, jika tidak dapat ditentukan, gunakan informasi tentang jumlah inti CPU sebagai faktor paralelisasi.

Mekanisme optimasi ditingkatkan dan didasarkan pada hasil Code Profiling (PGO) yang menghasilkan kode yang lebih optimal berdasarkan analisis karakteristik eksekusi kode.

Jika Anda ingin tahu lebih banyak tentang itu, Anda dapat memeriksa detail rilis ini Di tautan berikut. 


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.