Pelaksanaan Logaritma Vektor yang Cekap dalam AVX2
Objektifnya adalah untuk melaksanakan versi vektor yang cekap bagi fungsi log2 untuk 4 nombor berketepatan dua kali menggunakan AVX2, setanding dengan prestasi __m256d SVML _mm256_log2_pd (__m256d a) tetapi tersedia pada penyusun lain.
Pendekatan Pelaksanaan
Strategi biasa untuk log2(a) melibatkan pengiraan jumlah eksponen dan log2 daripada mantissa, yang mempunyai julat terhad 1.0 hingga 2.0. Ini membolehkan kami menggunakan anggaran polinomial untuk log2 mantissa.
Pengoptimuman
Untuk meningkatkan ketepatan, kita boleh menggunakan nisbah dua polinomial dan bukannya polinomial tertib tinggi tunggal. Teknik ini mengurangkan ralat pembundaran dan mengekalkan ketepatan yang tinggi.
Selain itu, kita boleh melangkau semakan untuk nilai underflow, limpahan atau denormal jika diketahui bahawa nilai input adalah positif dan terhingga. Pengoptimuman ini boleh mempercepatkan pelaksanaan dengan ketara.
Pertimbangan Prestasi
Ketepatan dan Julat
Ketepatan dan julat pelaksanaan bergantung pada spesifik anggaran polinomial yang digunakan. Adalah mungkin untuk mencapai ketepatan yang sangat tinggi dalam julat nilai mantissa tertentu.
Perbandingan dengan Pelaksanaan Sedia Ada
Pelaksanaan yang dicadangkan bertujuan untuk menyediakan log2 bervektor yang cepat dan cekap fungsi yang boleh digunakan pada mana-mana platform dengan sokongan AVX2. Ia menyasarkan prestasi tinggi yang setanding dengan pelaksanaan SVML penyusun Intel sementara tersedia untuk penyusun lain juga.
Atas ialah kandungan terperinci Bagaimanakah Kita Boleh Melaksanakan Fungsi Logaritma Vektor Dengan Cekap Menggunakan AVX2?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!