Bonjour tout le monde,
je teste les fonctionnalités d'OpenMP(API pour le multithreading) et j'aimerais calculer performance d'une application en flops, j'utilise visual studio sur un core2duo. avez vous une idée comment je peux faire ca?
Merci
Bonjour tout le monde,
je teste les fonctionnalités d'OpenMP(API pour le multithreading) et j'aimerais calculer performance d'une application en flops, j'utilise visual studio sur un core2duo. avez vous une idée comment je peux faire ca?
Merci
flop = floating point instruction
=> faire des calculs en floating point et mesurer
(via clock, ou autre mesure du temps)
oui, mais les fonctions du clock retourne soit le temps d'execution en sec ou le nbr de cycles écoulés moi je veux savoir combien d'opérations flottantes ont été éxécuté
soit tu cherches "benchmark floating point" sur le net, soit tu fais une boucle d'opérations connues (additon, multiplication,division)..
Pour avoir le nombre de flops : nombre d'opérations / clock/CLOCK_PER_SEC
moi, je pensais plutot à du code genre:
start...
//code que je veux mesurer
end...
en utilisant une librarie, j'ai trouvé ca http://www.idris.fr/su/Scalaire/babe..._counters.html mais ils disent pas comment on peux telecharger
ben voui, quand je dis clock c'est utiliser clock de manière normale
start=clock();
..
end = clock();
Et suivant le nombre d'opérations en floating-point que tu as entre les 2 :
flops = nb / ((end-start)/CLOCK_PER_SEC)
Par contre, faire attention à faire les calculs en double précision à la fin (cast) pour ne pas avoir des divisions entières..
et c'est le nb que moi je veux calculer, car effectivement mon code est complexe des boucles for ect... et je sais pas combien il y'a d'opérations flotantes dedans
ben vi mais le calcul de flops dépend du fait que tu connaisses le nombre d'opérations que tu effectues..
Sinon ce n'est pas un calcul de flops...
Alors je pense que le problème est mal posé..
Que veux-tu faire exactement ???
Oui désolé je me suis mal exprimée![]()
Donc voilà j'ai un code, je calculais ses performances en terme de temps d'execution, mais voilà quand me dit evalue plutot le nombre de floating points, et biensur si je connais combien il execute d'opérations je pourrais facilement déduire son FLOPS/S
Merci pour vos réponses
après tout je pense que je vais calculer ces opérations moi meme, dois je compter aussi les opérations pour l'incrémentation?
Partager