Posted in

Menggabungkan Kompiler Polihedral dan Tensor untuk Mempercepat Kernel Komputasi Ilmiah

Menggabungkan Kompiler Polihedral dan Tensor untuk Mempercepat Kernel Komputasi Ilmiah
Menggabungkan Kompiler Polihedral dan Tensor untuk Mempercepat Kernel Komputasi Ilmiah

ABSTRAK
Kompiler polihedral dan kompiler tensor telah mencapai keberhasilan besar dalam mempercepat kernel komputasi ilmiah dan jaringan pembelajaran mendalam. Meskipun banyak pekerjaan telah dilakukan untuk mengintegrasikan teknik model polihedral ke kompiler tensor untuk mempercepat pembelajaran mendalam, memanfaatkan kemampuan penyetelan otomatis yang kuat dari kompiler tensor modern untuk mempercepat kernel komputasi ilmiah yang lebih umum merupakan tantangan dan masih dalam tahap awal. Dalam karya ini, kami memperkenalkan metode untuk mempercepat keluarga kernel komputasi ilmiah dasar dengan menggabungkan kompiler polihedral Pluto dan kompiler tensor Tensor Virtual Machine (TVM) untuk menghasilkan implementasi efisien yang menargetkan platform CPU/GPU yang heterogen. Penggabungan dilakukan dalam empat langkah: membangun model polihedral untuk deskripsi loop dari kernel ilmiah tertentu; merancang jadwal untuk mengubah model polihedral menjadi yang baru untuk memungkinkan pemasangan petak persegi panjang dan mengekspos paralelisme eksplisit; memilih model polihedral baru dan mengubahnya menjadi representasi komputasi tensor; menyetel otomatis komputasi tensor untuk menghasilkan implementasi yang efisien pada CPU dan GPU. Pengoptimalan pergeseran dan bantalan juga dipertimbangkan untuk menghindari kondisional. Eksperimen pada 30 kernel komputasi ilmiah yang umum menunjukkan bahwa metode kami mencapaipeningkatan kecepatan rata-rata melalui PPCG kompiler polihedral tipikal pada GPU.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *