source: trunk/platforms/caba-ring-ccxcachev4_memcachev4-mips32el/configuration/gen_config.sh @ 158

Last change on this file since 158 was 140, checked in by kane, 14 years ago

yAjout du multi_cache : plusieurs processeur peuvent ce partager le même cache L1.
2 remarques, (1) deux nouveaux paramètres : nb_cpu, nb_cache. Pour avoir un cache dont le comportement est identique à la version d'avant, mettre ces paramètres à 1.
(2) le port d'interruption est maintenant un tableau dépendant du nombre de processeur.
Voir le fichier "platforms/caba-ring-ccxcachev4_memcachev4-mips32el/top.cpp" pour plus de détails.

--Cette ligne, et les suivantes ci-dessous, seront ignorées--

M platforms/tsarv4_dspin_generic_32/tsarv4_dspin_generic_32_top.cpp
M platforms/caba-ring-ccxcachev4_memcachev4-mips32el/segmentation.h
M platforms/caba-ring-ccxcachev4_memcachev4-mips32el/top.cpp
M platforms/caba-ring-ccxcachev4_memcachev4-mips32el/configuration/default.cfg
M platforms/caba-ring-ccxcachev4_memcachev4-mips32el/configuration/gen_config.sh
M platforms/caba-ring-ccxcachev4_memcachev4-mips32el/soft/dhrystone/dhry21a.c
M platforms/caba-ring-ccxcachev4_memcachev4-mips32el/soft/define.h
M platforms/caba-ring-ccxcachev4_memcachev4-mips32el/soft/matrix_multiplication/matrix_multiplication.c
M platforms/caba-ring-ccxcachev4_memcachev4-mips32el/soft/common/common.c
A platforms/caba-ring-ccxcachev4_memcachev4-mips32el/soft/self_code_modifying
A platforms/caba-ring-ccxcachev4_memcachev4-mips32el/soft/self_code_modifying/self_code_modifying.c
A platforms/caba-ring-ccxcachev4_memcachev4-mips32el/soft/self_code_modifying/self_code_modifying.h
M platforms/caba-ring-ccxcachev4_memcachev4-mips32el/soft/benchmark/benchmark.h
M platforms/caba-ring-ccxcachev4_memcachev4-mips32el/soft/benchmark/benchmark_sort.c
A platforms/caba-ring-ccxcachev4_memcachev4-mips32el/soft/benchmark/benchmark_self_code_modifying.c
M platforms/caba-ring-ccxcachev4_memcachev4-mips32el/soft/benchmark/benchmark.c
M platforms/caba-ring-ccxcachev4_memcachev4-mips32el/soft/benchmark/benchmark_matrix_multiplication.c
M platforms/caba-ring-ccxcachev4_memcachev4-mips32el/soft/Makefile
M platforms/caba-ring-ccxcachev4_memcachev4-mips32el/Makefile
M platforms/tsarv4_vgmn_generic_32/tsarv4_vgmn_generic_32_top.cpp
M modules/vci_cc_xcache_wrapper_v4/caba/source/include/vci_cc_xcache_wrapper_v4.h
M modules/vci_cc_xcache_wrapper_v4/caba/source/src/vci_cc_xcache_wrapper_v4.cpp
M modules/vci_mem_cache_v4/caba/source/include/vci_mem_cache_v4.h
M modules/vci_mem_cache_v4/caba/source/include/mem_cache_directory_v4.h
M modules/vci_mem_cache_v4/caba/source/src/vci_mem_cache_v4.cpp

  • Property svn:executable set to *
File size: 4.2 KB
Line 
1#!/bin/bash
2
3#               archi1  archi2  archi3       archi4  archi5
4archi_name=(    "min"   "tsar"  "full_assoc" "2k"    "4k"   );
5iways=(         "1"     "4"     "16"         "4"     "4"    );
6isets=(         "8"     "64"    "1"          "8"     "16"   );
7iwords=(        "16"    "16"    "16"         "16"    "16"   );
8dways=(         "1"     "4"     "16"         "4"     "4"    );
9dsets=(         "8"     "64"    "1"          "8"     "16"   );
10dwords=(        "16"    "16"    "16"         "16"    "16"   );
11memc_nways=(    "4"     "16"    "8"          "2"     "16"   );
12memc_nsets=(    "4"     "256"   "64"         "32"    "64"   );
13memc_words=(    "16"    "16"    "16"         "16"    "16"   );
14memc_heap_size=("4096"  "4096"  "4096"       "4096"  "4096" );
15
16nb_proc=(        "1" "15"   "+1" "4");
17nb_cpu_by_cache=("1" "15"   "*2" "1");
18nb_cache=(       "1" "16"   "*2" "1");
19#wnwords=(        "1" "16"   "*2" "4");
20#wnlines=(        "1" "8"    "*2" "8");
21#wtimeout=(       "1" "1024" "*4" "16");
22
23wnwords=(        "4"  "4"  "*2" "4");
24wnlines=(        "8"  "8"  "*2" "8");
25wtimeout=(       "16" "16" "*4" "16");
26
27archi_default="1";
28gen_cfg=0;
29
30function gen_file ()
31{
32        filename=$(printf "archi_%s-x%.2d_%.2d_%.2d-wbuf_%.2d_%.2d_%.4d.cfg" ${archi_name[${4}]} ${1} ${2} ${3} ${5} ${6} ${7});
33
34        echo ${filename};
35
36        echo "${1}" >  ${filename};
37        echo "${2} ${3}" >> ${filename};
38        echo "${iways[${4}]} ${isets[${4}]} ${iwords[${4}]}" >> ${filename};
39        echo "${dways[${4}]} ${dsets[${4}]} ${dwords[${4}]}" >> ${filename};
40        echo "${5} ${6} ${7}" >> ${filename};
41        echo "${memc_nways[${4}]} ${memc_nsets[${4}]} ${memc_words[${4}]} ${memc_heap_size[${4}]}" >> ${filename};
42}
43
44function gen_default ()
45{
46        filename="default.cfg";
47        archi=${1};
48
49        echo ${filename};
50
51        echo "${nb_proc[3]}"  >  ${filename};
52        echo "${nb_cpu_by_cache[3]} ${nb_cache[3]}" >> ${filename};
53        echo "${iways[${archi}]} ${isets[${archi}]} ${iwords[${archi}]}" >> ${filename};
54        echo "${dways[${archi}]} ${dsets[${archi}]} ${dwords[${archi}]}" >> ${filename};
55        echo "${wnwords[3]} ${wnlines[3]} ${wtimeout[3]}" >> ${filename};
56        echo "${memc_nways[${archi}]} ${memc_nsets[${archi}]} ${memc_words[${archi}]} ${memc_heap_size[${archi}]}" >> ${filename};
57}
58
59gen_default ${archi_default};
60
61if test ${gen_cfg} -ne 0; then
62    nb_archi=${#iways[*]};
63   
64    num_archi=0;
65    while test ${num_archi} -lt ${nb_archi}; do
66        num_proc=${nb_proc[0]};
67        while test ${num_proc} -le ${nb_proc[1]}; do
68            num_cpu_by_cache=${nb_cpu_by_cache[0]};
69            while test ${num_cpu_by_cache} -le ${nb_cpu_by_cache[1]}; do
70
71                if test $((${num_proc} * ${num_cpu_by_cache})) -le ${nb_cpu_by_cache[1]}; then
72
73                num_cache=${nb_cache[0]};
74                while test ${num_cache} -le ${nb_cache[1]}; do
75               
76                    if test ${num_cache} -ge ${num_cpu_by_cache}; then
77                    if test ${num_cpu_by_cache} -ne 1 -o ${num_cache} -eq 1; then
78
79                    num_words=${wnwords[0]};
80                    while test ${num_words} -le ${wnwords[1]}; do
81                        num_lines=${wnlines[0]};
82                        while test ${num_lines} -le ${wnlines[1]}; do
83                            num_timeout=${wtimeout[0]};
84                            while test ${num_timeout} -le ${wtimeout[1]}; do
85                               
86                                gen_file ${num_proc} ${num_cpu_by_cache} ${num_cache} ${num_archi} ${num_words} ${num_lines} ${num_timeout};
87                               
88                                num_timeout=$((${num_timeout} ${wtimeout[2]}));
89                            done;
90                            num_lines=$((${num_lines} ${wnlines[2]}));
91                        done;
92                        num_words=$((${num_words} ${wnwords[2]}));
93                    done;
94                    fi;
95                    fi;
96                    num_cache=$((${num_cache} ${nb_cache[2]}));
97                done;
98                fi;
99                num_cpu_by_cache=$((${num_cpu_by_cache} ${nb_cpu_by_cache[2]}));
100            done;
101            num_proc=$((${num_proc} ${nb_proc[2]}));
102        done;
103        num_archi=$((${num_archi}+1));
104    done;
105fi;
106
Note: See TracBrowser for help on using the repository browser.