Posts

Showing posts from December, 2023

Intel® Performance Counter Monitor - Meriti vreme ili oscilacije, koja je razlika? - Software engineering deep level optimization - uvod u merenje - VI deo

Image
Nastavljamo dalje sa programskim brojačima za merenje performansi programskog koda. U trećem delu o deep level optimizaciji (algoritamski + CPU ekstenzije) naveli smo da se zapravo koriste hardware-ski programski brojači integrisani u CPU jezgro. Prošli smo kroz primer da merenje sa START TIME i END TIME nije dovoljno dobro iz više razloga, o kojima možete pročitati u trećem delu. U ovom blog postu osvrnućemo se na Intel-ove programske brojače i njihovo rešenje. Intel PCM - Performance Counter Monitor Kako je materijal već dostupan na Intel-ovom web site-u, ovde ćemo navesti isključivo deo koji je nama potreban kako bi izmerili performanse dela koda od značaja, bilo da se radi o algoritamskoj optimizaciji ili optimizaciji korišćenjem CPU ekstenzija (MMX, XMM, SSE... - o tome smo već pisali u prvom delu , razlika između ANY CPU build-a, i ukoliko se koriste ekstenzije). Intel PCM hardware-ski brojači Na sledećem linku imate detalje o Intel-ovim programskim brojačima, klikni ovde . Sour

Meriti vreme ili oscilacije, koja je razlika? - Software engineering deep level optimization - uvod u merenje - V deo

Image
Nastavljamo gde smo stali. Već smo pisali na temu merenja u prethodna četiri blog posta, i napomenuli da se meri zapravo broj oscilacija takta mikroprocesora , kako bih tačno znali koliko je zapravo potrebno procesorskog vremena da izvrši nama značajan programski kod. Postoje različiti profajleri za isto, međutim postavlja se pitanje u čemu je razlika? Da bi razumeli razliku između merenja vremena i merenja broja oscilacija takta procesora, potrebno je razumeti nekoliko koncepata, na osnovu kojih je baziran rad savremenih računarskih sistema. Boost mikroprocesorskog takta Dovoljno je za isto pogledati aplikaciju koja se naziva CPU-Z i pogledati u sekciju Clocks (core). U istoj sekciji možemo primetiti da postoji BUS speed (brzina magistrale računara) i MULTIPLIER (množilac). Oba parametra se menjaju u vremenu, na gore ili na dole. Ukoliko se parametri menjaju na veće vrednosti dobijamo takozvani BOOST mikroprocesorskog takta, te samo jezgro funkcioniše na većoj frekvenciji. BOOST se o