-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtodo.txt
80 lines (61 loc) · 2.11 KB
/
todo.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# TOOLS
volatile
unroll-loops
march
O3
Ofast
fastmath
hwtopo
lstopo
MAQAO
cachegrind
AVX2
icc or gcc
https://github.com/gperftools/gperftools
likwid
likwid-topology
/proc/cpuinfo
https://stackoverflow.com/questions/33758993/why-doesnt-gcc-show-vectorization-information
MAQAO
TAU https://www.cs.uoregon.edu/research/tau/home.php
MALT https://github.com/memtt/malt
Scalasca
PAYANT
- VAMPIR - trace MPI
- XE_AMPLIFIER - intel vtune
- MALP - profiling MPI + openMP
- easytrace
https://www.arm.com/products/development-tools/server-and-hpc/forge/map
http://www.vi-hps.org/tools
# IDEAS
reduction des zones critiques (mutex)
Comparaison des CRC
Choix d'un CRC efficace
rdtrc => /!\ freq variable dù au turbo et souci pour calculer a partir des cycles un temps en s
comparer à gettimeofday et tester en fixant la freq
isoler des fonctions pour les profiler. Jouer avec leur input.
Archi de tests de perf:
- Driver
- Kernel
- Warmup
- multiples runs
-- Choix des optimisations => justifier et expliquer pourquoi l'ancienne n'est pas bonne.
-- Si ce qui est présent dans le code est le plus opti => le justifier, pourquoi est-il meilleur qu'une autre approche
-- Analyse de perf sur diff paramètres comme la taille des données, le nombre d'opérations sur la table de hachage,...
-- Déterminer les lieux du code qui sont suceptible de ralentir l'exécution à l'aide d'outils comme MAQAO, gprof,...
# CRC
https://github.com/petewarden/c_hashmap/blob/master/hashmap.c
https://www.pololu.com/docs/0J44/6.7.6
# TODO
Tests pour tous les parametres
Garder nos differentes versions poureffectuer dessus tout les tests et pouvori des graphs comparatifs de performance.
Chercher encore un meilleur CRC
Chercher encore une meilleure gestion de verrou
meilleure fonction de hachage de la clé
essayer faire tourner MAQAO
essayer gprof, cachegrind
changer compilateur et options de compilation
isoler les fonctions pour les profiler
rdtrc et comparer à gettimeofday
tests avec les ratios de lecture/ecriture, changer les parametres type: degré de parallélisme et taille des valeur associée aux clefs.
voir si on peut diminuer les branchement