HPVM, Pengkompil LLVM untuk CPU, GPU, FPGA dan Pemecut Perkakasan

Projek baru-baru ini LLVM mengumumkan pengeluaran versi baharu pengkompil HPVM 2.0 (Mesin Maya Selari Heterogen), yang matlamatnya adalah untuk memudahkan pengaturcaraan untuk sistem dan menyediakan alatan untuk menjana kod untuk CPU, GPU, FPGA dan pemecut perkakasan khusus domain.

Pengaturcaraan sistem selari heterogen adalah rumit kerana kehadiran dalam sistem komponen yang menggunakan model berbeza untuk mencapai keselarian (teras CPU, arahan vektor, GPU, dll.), set arahan yang berbeza dan hierarki memori yang berbeza. Setiap sistem menggunakan gabungan komponen ini sendiri.

Idea utama projek HPVM adalah menggunakan perwakilan bersatu program boleh laku selari semasa menyusun, yang boleh digunakan untuk pelbagai jenis perkakasan yang menyokong pengkomputeran selari, termasuk GPU, arahan vektor, pemproses berbilang teras, FPGA dan pelbagai cip pemecut khusus.

Tidak seperti sistem lain, HPVM cuba menggabungkan tiga kemungkinan untuk mengatur pengkomputeran heterogen: perwakilan perantaraan (IR), seni bina set arahan maya (V-ISA), dan pengaturcaraan masa jalan, tanpa mengira bahasa pengaturcaraan dan perkakasan.

Perwakilan perantara HPVM melanjutkan perwakilan perantaraan arahan LLVM dengan menggunakan graf aliran data hierarki untuk menangkap keselarian pada tahap tugasan, data dan saluran paip pengiraan. Perwakilan perantaraan HPVM juga termasuk arahan vektor dan memori dikongsi. Matlamat utama menggunakan perwakilan perantaraan ialah penjanaan kod yang cekap dan pengoptimuman untuk sistem heterogen.

Senibina Set Arahan Maya (V-ISA) mengabstraksi perkakasan peringkat rendah dan menyatukan pelbagai bentuk keselarian dan seni bina ingatan hanya menggunakan model konkurensi asas, graf aliran data.

V-ISA membenarkan mudah alih antara jenis perkakasan yang berbeza untuk pengkomputeran selari dan memungkinkan untuk tidak kehilangan prestasi apabila menggunakan elemen sistem heterogen yang berbeza. ISA Maya juga boleh digunakan untuk menyampaikan kod boleh laku program generik yang boleh dijalankan pada CPU, GPU, FPGA dan pelbagai pemecut.

Dasar penjadualan pengiraan fleksibel digunakan pada masa jalan dan dilaksanakan berdasarkan maklumat tentang program (struktur grafik) dan dengan menyusun nod program individu untuk dilaksanakan pada mana-mana peranti pengkomputeran sasaran yang tersedia dalam sistem.

Penjana kod yang dibangunkan oleh projek itu mampu menterjemah nod aplikasi yang ditakrifkan oleh ISA maya untuk dijalankan pada GPU NVIDIA (cuDNN dan OpenCL), arahan vektor Intel AVX, FPGA dan CPU x86 berbilang teras. Adalah diperhatikan bahawa prestasi output penterjemah HPVM adalah setanding dengan kod OpenCL tulisan tangan untuk peranti pengkomputeran GPU dan vektor.

Ciri baharu utama HPVM 2.0

Untuk bahagian kebaharuan yang dipersembahkan Dalam versi baharu ini, perkara berikut menonjol:

  • Bahagian hadapan bahasa Hetero-C++ dicadangkan, yang memudahkan penyelarasan kod aplikasi dalam bahasa C/C++ untuk penyusunan dalam HPVM. Hetero-C++ mentakrifkan pelanjutan untuk keselarian tahap data dan tugas hierarki yang dipetakan kepada graf utas HPVM.
  • Bahagian belakang FPGA telah ditambahkan untuk menyokong kod berjalan pada Intel FPGA. Untuk mengatur pelaksanaan, Intel FPGA SDK untuk OpenCL digunakan.
  • Rangka kerja DSE (Penerokaan Angkasa Reka Bentuk) telah ditambah, yang merangkumi pengoptimuman pengkompil dan mekanisme pengesanan kesesakan untuk menala aplikasi secara automatik untuk platform perkakasan tertentu.
  • Rangka kerja ini mengandungi model prestasi luar biasa untuk Intel FPGA dan membolehkan anda menyambungkan pemproses anda sendiri untuk mengoptimumkan mana-mana peranti yang didayakan HPVM.
  • Pengoptimuman boleh digunakan pada kedua-dua tahap graf aliran data HPVM dan tahap LLVM.
  • Mengemas kini komponen LLVM kepada versi 13.0.
  • Kod telah disusun semula untuk memudahkan anda menavigasi melalui pangkalan kod, perpustakaan dan utiliti.
  • Infrastruktur untuk ujian telah dipertingkatkan, ujian baharu telah ditambah untuk pelbagai komponen HPVM.

Akhirnya, Jika anda berminat untuk mengetahui lebih lanjut tentang HPVM, anda boleh menyemak butirannya di pautan berikut.


Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab untuk data: AB Internet Networks 2008 SL
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.