Inom vetenskaplig databehandling kommer optimal användning av datorresurser till priset av omfattande kodning, inställning och benchmarking. Även om den klassiska metoden med "funktioner först, prestanda senare" stöds av en mängd olika verktyg som TAU, VAMPIR och SCALASCA, saknar den framväxande prestandacentriska metoden, där både funktioner och prestanda är primära mål, fortfarande lämpliga utvecklingsverktyg. För täta linjära algebraapplikationer fyller vi denna lucka med ramverket Experimental Linear Algebra Performance Studies (ELAPS), en plattformsoberoende öppen källkodsmiljö för enkla, snabba och samtidigt kraftfulla prestandaexperiment och prototyper. I motsats till många befintliga verktyg, ELAPS riktar in sig på början av utvecklingsprocessen, hjälper applikationsutvecklare i både algoritmiska och optimeringsbeslut. Med ELAPS konstruerar användare experiment för att undersöka hur prestanda och effektivitet beror på faktorer som caching, algoritmiska parametrar, problemstorlek och parallellism. Experiment är utformade antingen genom Python-skript eller ett specialiserat grafiskt användargränssnitt (GUI), och körs på ett spektrum av arkitekturer, allt från bärbara datorer till acceleratorer och kluster. De resulterande rapporterna ger olika mätvärden och statistik som kan analyseras både numeriskt och visuellt. I den här artikeln introducerar vi ELAPS och illustrerar dess praktiska värde i att vägleda kritiska resultatbeslut redan i tidiga utvecklingsfaser.
Slutligen finns ELAPS (Experimentella Linear Algebra Performance Studies), en interaktiv multi-plattform öppen källkod ramverk REF.
The ELAPS framework: Experimental Linear Algebra Performance Studies
{'venue': None, 'journal': 'The International Journal of High Performance Computing Applications', 'mag_field_of_study': ['Computer Science']}