Seperti yang dicontohkan oleh jawaban Jed Brown untuk Biaya pencarian versus perhitungan , menggunakan operasi floating point yang di-vectorized vs non-vectorized menghasilkan kode yang jauh lebih cepat. Banyak kompiler modern mengklaim bahwa mereka dapat melakukan vektorisasi otomatis. Bagaimana saya bagian mana dari kode saya yang berhasil vektor?
fortran
c
compiling
vectorization
Matthew Emmett
sumber
sumber
Dalam koleksi compiler GNU, Anda memiliki pilihan
-ftree-vectorizer-verbose=n
manan
adalah angka antara 0 dan 6 yang akan mencetak informasi yang serupa denganicc
/ifort
.sumber
Dengan kompiler GNU, menambahkan
-Wa,-ahl=asm.s
akan membuang kode perakitan yang dihasilkanasm.s
.Dengan kompiler Intel, menambahkan
-fcode-asm -Faasm.s
akan membuang kode yang dihasilkanasm.s
.Anda kemudian dapat memeriksa kode perakitan dan mencari operasi titik float vektor.
sumber