source: branches/v4/platforms/caba-ring-ccxcachev4_memcachev4-mips32el/configuration/gen_config.sh @ 496

Last change on this file since 496 was 167, checked in by kane, 14 years ago

delete all timeout reference (multi write buffer)

  • Property svn:executable set to *
File size: 3.8 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
22wnwords=(        "4"  "4"  "*2" "4");
23wnlines=(        "8"  "8"  "*2" "8");
24
25archi_default="1";
26gen_cfg=0;
27
28function gen_file ()
29{
30        filename=$(printf "archi_%s-x%.2d_%.2d_%.2d-wbuf_%.2d_%.2d_%.4d.cfg" ${archi_name[${4}]} ${1} ${2} ${3} ${5} ${6});
31
32        echo ${filename};
33
34        echo "${1}" >  ${filename};
35        echo "${2} ${3}" >> ${filename};
36        echo "${iways[${4}]} ${isets[${4}]} ${iwords[${4}]}" >> ${filename};
37        echo "${dways[${4}]} ${dsets[${4}]} ${dwords[${4}]}" >> ${filename};
38        echo "${5} ${6}" >> ${filename};
39        echo "${memc_nways[${4}]} ${memc_nsets[${4}]} ${memc_words[${4}]} ${memc_heap_size[${4}]}" >> ${filename};
40}
41
42function gen_default ()
43{
44        filename="default.cfg";
45        archi=${1};
46
47        echo ${filename};
48
49        echo "${nb_proc[3]}"  >  ${filename};
50        echo "${nb_cpu_by_cache[3]} ${nb_cache[3]}" >> ${filename};
51        echo "${iways[${archi}]} ${isets[${archi}]} ${iwords[${archi}]}" >> ${filename};
52        echo "${dways[${archi}]} ${dsets[${archi}]} ${dwords[${archi}]}" >> ${filename};
53        echo "${wnwords[3]} ${wnlines[3]}" >> ${filename};
54        echo "${memc_nways[${archi}]} ${memc_nsets[${archi}]} ${memc_words[${archi}]} ${memc_heap_size[${archi}]}" >> ${filename};
55}
56
57gen_default ${archi_default};
58
59if test ${gen_cfg} -ne 0; then
60    nb_archi=${#iways[*]};
61   
62    num_archi=0;
63    while test ${num_archi} -lt ${nb_archi}; do
64        num_proc=${nb_proc[0]};
65        while test ${num_proc} -le ${nb_proc[1]}; do
66            num_cpu_by_cache=${nb_cpu_by_cache[0]};
67            while test ${num_cpu_by_cache} -le ${nb_cpu_by_cache[1]}; do
68
69                if test $((${num_proc} * ${num_cpu_by_cache})) -le ${nb_cpu_by_cache[1]}; then
70
71                num_cache=${nb_cache[0]};
72                while test ${num_cache} -le ${nb_cache[1]}; do
73               
74                    if test ${num_cache} -ge ${num_cpu_by_cache}; then
75                    if test ${num_cpu_by_cache} -ne 1 -o ${num_cache} -eq 1; then
76
77                    num_words=${wnwords[0]};
78                    while test ${num_words} -le ${wnwords[1]}; do
79                        num_lines=${wnlines[0]};
80                        while test ${num_lines} -le ${wnlines[1]}; do
81                           
82                            gen_file ${num_proc} ${num_cpu_by_cache} ${num_cache} ${num_archi} ${num_words} ${num_lines};
83
84                            num_lines=$((${num_lines} ${wnlines[2]}));
85                        done;
86                        num_words=$((${num_words} ${wnwords[2]}));
87                    done;
88                    fi;
89                    fi;
90                    num_cache=$((${num_cache} ${nb_cache[2]}));
91                done;
92                fi;
93                num_cpu_by_cache=$((${num_cpu_by_cache} ${nb_cpu_by_cache[2]}));
94            done;
95            num_proc=$((${num_proc} ${nb_proc[2]}));
96        done;
97        num_archi=$((${num_archi}+1));
98    done;
99fi;
100
Note: See TracBrowser for help on using the repository browser.