Intel Advisor - Intel Advisor

Intel Advisor
Utvecklare Intel utvecklarprodukter
Stabil frisättning
2021.4 / 1 oktober 2021 ; 9 dagar sedan ( 2021-10-01 )
Operativ system Windows och Linux (endast användargränssnitt på macOS)
Typ Profiler
Licens Gratis och kommersiell support
Hemsida https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/advisor.html

Intel Advisor (även känt som " Advisor XE ", " Vectorization Advisor " eller " Threading Advisor ") är ett verktyg för designhjälp och analys för SIMD -vektorisering , trådning, minnesanvändning och optimering av GPU -avlastning. Verktyget stöder C, C ++, Data Parallel C ++ (DPC ++), Fortran och Python -språk. Den är tillgänglig på Windows- och Linux- operativsystem i form av fristående GUI-verktyg, Microsoft Visual Studio- plug-in eller kommandoradsgränssnitt. Den stöder OpenMP (och användning med MPI ). Intel Advisor -användargränssnittet är också tillgängligt på macOS .

Intel Advisor finns gratis som fristående verktyg eller som en del av Intels oneAPI Base Toolkit. Valfritt betalt kommersiellt stöd är tillgängligt för oneAPI Base Toolkit.

Funktioner

Vektoriseringsoptimering

Vektorisering är driften av Single Instruction Multiple Data (SIMD) instruktioner (som Intel Advanced Vector Extensions och Intel Advanced Vector Extensions 512) på flera objekt parallellt i en enda CPU -kärna. Detta kan öka prestandan avsevärt genom att minska loop -overhead och bättre utnyttja de flera matematiska enheterna i varje kärna.

Intel Advisor hjälper till att hitta de loopar som kommer att dra nytta av bättre vektorisering, identifiera var det är säkert att tvinga fram kompilatorvektorisering. Den stöder analys av skalär, SSE , AVX , AVX2 och AVX-512 -aktiverade koder som genereras av Intel , GNU och Microsoft kompilatorer automatisk vektorisering. Det stöder också analys av "uttryckligen" vektoriserade koder som använder OpenMP 4.x och nyare samt koder eller skrivna med hjälp av C -vektors inneboende eller samlingsspråk .

Automatiserad taklineanalys

Intel Advisor automatiserar Roofline Performance Model som först föreslogs i Berkeley och förlängdes vid universitetet i Lissabon.

Image
Roofline Performance Model automation integrerad med andra funktioner i Intel Advisor. Varje cirkel motsvarar en slinga eller funktion

Rådgivare " Taklinjeanalys " hjälper till att identifiera om given slinga/funktion är minne eller CPU -bunden. Det identifieras också under optimerade loopar som kan ha stor inverkan på prestanda om de optimeras.

Intel Advisor tillhandahåller också en automatisk taklinjeimplementering på minnesnivå som ligger närmare den klassiska Roofline-modellen. Klassisk taklinje är särskilt avgörande för högpresterande dataprogram som är DRAM-bundna. Advisor minnesnivå taklinje analyserar cachedata och utvärderar datatransaktionerna mellan olika minneslager för att ge vägledning för förbättringar.

Intel Advisor taklinjeanalys stöder kod som körs på CPU eller GPU. Det stöder också heltalsbaserade applikationer - som används mycket inom maskininlärning, stora datadomäner, databasapplikationer, finansiella applikationer som kryptomynt.

Trådar prototyper

Programvaruarkitekter lägger till kodkommentarer för att beskriva trådar som förstås av Advisor, men ignoreras av kompilatorn. Advisor projicerar sedan trådens skalbarhet och kontrollerar om det finns synkroniseringsfel. Advisor Threading " Lämplighet " -funktionen hjälper till att förutsäga och jämföra parallell SMP -skalbarhet och prestandaförluster för olika möjliga trådutformningar. Typiska lämplighetsrapporter visas på skärmdumpen Suitability CPU på höger sida. Advisor Suitability ger modelleringsmöjligheter för datastorlek (iterationsutrymme) och uppdelning av prestationsstraff (exponerar negativ påverkan orsakad av belastningsobalans , parallell körningstid och omkostnadslås).

Image
Lämplighet "CPU -modell"

Avlastningsmodellering

Advisor lägger till GPU -funktionen för avlastning av prestanda i versionen 2021. Den samlar applikationsprestandaegenskaper på en baslinjeplattform och bygger analytisk prestandamodell för målplattform (modellerad).

Detta ger uppskattning av prestandahastigheten på mål -GPU: er och uppskattningar av omkostnader för avlastning, dataöverföring och schemaläggning av regionkörning och identifierar flaskhalsar i prestanda. Denna information kan tjäna till att välja avlastningsstrategi: välja regioner att lossa och förutse eventuell kodomstrukturering som behövs för att göra den GPU-klar.

Kundanvändning

Intel Advisor används av Schlumberger , Sandia national lab och andra för design och parallell algoritmforskning och Vectorization Advisor -funktioner som är kända för att användas av LRZ och ICHEC , Daresbury Lab , Pexip.

Det steg-för-steg-arbetsflödet används av akademin för utbildningsändamål.

Se även

Referenser

externa länkar