Väčšina z nich BLAS Level 1 API môžu byť triviálne napísané priamo pomocou Fortran 9x + vektorizovaných priradení a vnútorných procedúr.
Za predpokladu, že používate moderný kompilátor optimalizácie, napr Intel Fortran, a korektné možnosti optimalizácie pre kompilátor špecifické pre danú cieľovú oblasť Intel MKL alebo iné rýchle implementácie BLAS?
Ak existujú, čo je typická veľkosť vektora, keď sa tieto výhody zobrazujú?
odpovede:
9 pre odpoveď č. 1Záleží. Skúsili sme to predtým s kompilátorom Intel a dostali sa do prekvapivých výsledkov, DOT_PRODUCT
z Fortran vs. implementácia BLAS poskytla rôzne trendy založené na veľkosti problému. Vzhľadom na to, že počet prvkov v poli sa zväčšil, BLAS sa stal lepším ako vnútorný. Ale pri malých veľkostiach problémov bolo podstatné rýchlejšie.
V skutočnosti sme pre naše prípady použitia určili, čoktorá je potrebná na to, aby bola jedna lepšia než druhá a skutočne použila v prípade, že sa rozhodnú, kto volá. Nemôžem tieto výsledky zdieľať, ale povzbudzujem vás, aby ste to vyskúšali sami. Z užívania systému BLAS je ešte stále výhodné.