Thomas Preud'homme
619fb7aeba
[commtech] Also compile gomp_stream_64_comm
...
Add gomp_stream_64_comm to the least of communication techniques to
compile.
2012-07-07 23:29:11 +02:00
Thomas Preud'homme
467d0b4122
[commtech] Fixes in gomp_stream
...
* Stick to the sizes used in gomp_stream
* Release data when they are *all* received
2012-07-07 23:26:24 +02:00
Thomas Preud'homme
d8c16a4aa3
Merge branch 'bqv2_buf_end'
2012-07-07 23:14:15 +02:00
Thomas Preud'homme
df09d89933
[commtech] Use only 1 thread per core
...
Creating 2 thread per core in the purpose of receiving while sending is
plain stupid. First it needs 2 threads synchronizing with each other
which has a cost. Second, since only one thread can run at a time the
threads slow each other (using BatchQueue where the sender is on the
same core as the receiver yields bad performance). This patch remove all
this complexity to have one thread receive, compute and then resend
data, which improve performances dramatically.
2012-07-07 23:14:08 +02:00
Thomas Preud'homme
4914b0dcdd
Add CSQ (2/1) and CSQ (2/32), Del CSQ (2/2)
2012-03-27 00:31:16 +02:00
Thomas Preud'homme
a80decaef4
[commtech] Provide 64 cache lines version of algos
...
* Provide for BatchQueue, CSQ, FastForward, MCRingBuffer and GOMP stream
a version using 64 cache lines in total for all buffers.
* Rename common version from _common_comm.h to _common.h to avoid
considering them as communication technique on their own
2012-03-26 16:44:30 +02:00
Thomas Preud'homme
c37c100355
[commtech] Initialize vector in calc_mat.c
2012-03-26 16:14:23 +02:00
Thomas Preud'homme
09afc1ed2b
parsing.sh: Remove assumption about calc args
...
Calc can have several args for useless_loop and line prods and for comm
and barriere bench. Hence:
* Change use_histo to reflect that
* Set list of args per bench/prod instead of globally
* No need for the argument (since there is several) in create_complex_dat_body
2012-03-26 16:13:23 +02:00
Thomas Preud'homme
74f5176116
parsing.sh Remove a few assumptions
...
Remove assumptions around barriere bench:
* Not always 2 memory hierarchy are tested -> numCacheConfigs
* barriereList -> ${bench}List
* Size of the calc argument -> *
2012-03-26 16:04:31 +02:00
Thomas Preud'homme
40dfd58c86
parsing.sh: support batch_queue_* for barriere
...
Count batch_queue_* in barriere bench
2012-03-26 13:20:18 +02:00
Thomas Preud'homme
758198c2b0
[commtech] Add missing .c for new CSQ configs
2012-03-20 12:16:10 +01:00
Thomas Preud'homme
7087998fc6
[commtech] Add the new configs for compilation
2012-03-20 12:05:12 +01:00
Thomas Preud'homme
5840b57937
[commtech] Provide more CSQ configs
...
* Rename CSQ configs to csq_<nbr_buffers>_<size_buffer>_comm.h
* Add several configs
* Default config is csq_comm.h
2012-03-20 11:07:05 +01:00
Thomas Preud'homme
b47a17c6da
Revert junk from "Fix including perf stat in logs"
...
This partially reverts commit 65a2ed9357
.
It removes all the changes in the configuration variable at the top of
the file which were not supposed to be commited.
2012-03-20 10:38:00 +01:00
Thomas Preud'homme
4cd4df3d1c
Remove useless .main.d file
2012-03-19 20:40:24 +01:00
Thomas Preud'homme
f9aa3b227a
CSQ's article suggest SUB_SLOTS should be 64.
2012-03-19 20:40:13 +01:00
Thomas Preud'homme
65a2ed9357
Fix including perf stat in logs
...
This commit fix commit b0441d7a1c
2012-03-14 12:46:47 +01:00
Thomas Preud'homme
360870c557
lancement.sh: Unset verbose mode
2012-02-21 18:09:44 +01:00
Thomas Preud'homme
82d3c453e6
lancement.sh: Send data in group
2012-02-21 18:09:34 +01:00
Thomas Preud'homme
b0441d7a1c
lancement.sh: Include perf stats in log files
2012-02-21 18:09:28 +01:00
Thomas Preud'homme
58d9801938
parsing.sh: Make metric pattern work again
2012-02-21 18:09:23 +01:00
Thomas Preud'homme
3c1dbe202c
parsing.sh: Don't create patternPlotFile.gnuplot
2012-02-21 18:09:10 +01:00
Thomas Preud'homme
585166eb58
parsing.sh: Pass all params to create_complex_dat_body
2012-02-21 18:08:01 +01:00
Thomas Preud'homme
7c4a484989
[commtech] Simplify if's in send()
...
Test sender_ptr against the end of the current buffer via
channel->sender_ptr_end
2012-01-30 20:14:22 +01:00
Thomas Preud'homme
a20c9a8a21
[commtech] BatchQueue v2
...
Uses 2 mapping to the same structure to avoid prefetching of the
producer semi-buffer by the consumer. The idea is to access everything
through mapping 1 except semi-buffer 2 which is accessed through mapping
2.
2012-01-30 20:09:52 +01:00
Thomas Preud'homme
fba09b60b8
Remove debug informations
2012-01-30 20:08:54 +01:00
Thomas Preud'homme
c6786815cd
Add native algo from OpenMP stream extension
...
Add native algorithm from OpenMP stream extension. This require adding
one function in commtech.h: end_producer(). This function does nothing
for all communication algorithm but gomp_stream (the algorithm added by
this commit).
2012-01-30 20:07:11 +01:00
Thomas Preud'homme
a30a5bfe06
Make all threads are joined
...
in join_threads, nb_thread is the id of the last thread, not the number
of threads to join. Hence the for loop must include this id.
2011-06-01 15:35:08 +02:00
Thomas Preud'homme
f0c75c7570
SINK thread (not INTERM) notify its termination
...
Use !!node_param->type & SINK in likely macro to test wether we are a
SINK node or an INTERM node.
2011-06-01 15:25:08 +02:00
Thomas Preud'homme
bd7379e73a
Propose 2048 and 4096 buffer size for BatchQueue.
2011-05-27 15:42:40 +02:00
Thomas Preud'homme
1ca11d6fc5
[commtech] Ensure real and displayed cmdline match
2011-05-27 15:42:40 +02:00
Thomas Preud'homme
f05cfdcd92
Improve pipeline (cons and prod in //)
2011-05-25 14:33:42 +02:00
Thomas Preud'homme
f01db158c2
Use multiples of BUF_SIZE when needed
...
Number of cache line sent and size of reception buffer must be a
multiple of BUF_SIZE.
2011-05-10 11:14:28 +02:00
Thomas Preud'homme
6fcfd60d2d
Fix buffer loop in BatchQueue single data mode
...
The buffer in single data mode in batchQueue was not circular because a
variable was not renamed
2011-05-10 11:02:00 +02:00
Thomas Preud'homme
70f8f95647
Fix option to choose the number of node
...
Option is now in the getopt string and accessible with -l switch.
2011-05-10 11:00:59 +02:00
Thomas Preud'homme
f430cc17a7
Fix bugs coming from refactoring
2011-05-05 19:54:44 +02:00
Thomas Preud'homme
372c36155a
Fix incorrect usage string: --check -> -k
2011-05-05 14:52:41 +02:00
Thomas Preud'homme
756a701466
[commtech] Refactor to chain more than 2 nodes
...
* Refactor the source to be able to chain more than 2 nodes together
* Compile all binaries by default (binList must be set manually in
lancement.sh to run only a subset of the binaries
2011-05-05 14:34:09 +02:00
Thomas Preud'homme
5d71bc53f1
[commtech] Varying size of buffer for BatchQueue
...
Create several variation of BatchQueue, each with a different buffer
size: batch_queue_1024, batch_queue_512, ..., batch_queue_2.
2011-05-05 11:30:00 +02:00
Thomas Preud'homme
9c835d4c46
Add a "sent words == received words" check
2011-05-04 19:35:10 +02:00
Thomas Preud'homme
cea65bd1bc
Support log file without "buf size" message
...
Instead of trying to get the buf size in the first log, grep on all logs
and take the value of the first match.
2011-05-04 19:34:58 +02:00
Thomas Preud'homme
829063f894
Resiliant to empty ${bench}List
2011-05-04 19:34:53 +02:00
Thomas Preud'homme
023552a4de
[commtech] Prevent prefetch in batch queue
...
Prevent prefetch of state variable in BatchQueue by adding padding
between the buffers and state variable.
2011-03-02 13:19:22 +01:00
Thomas Preud'homme
1388b6d556
[commtech] Increase the number of word sent
2011-03-02 13:19:22 +01:00
Thomas Preud'homme
c947c24cf2
[commtech] Handle more than 2 cache hierarchies
...
Rewrite creation of simple gnuplot to handle more than 2 cache
hierarchies (like L2, CPU and mem for sibling cores on same CPU,
non-sibling cores on same CPU and non sibling cores on different CPU).
2011-03-02 13:19:22 +01:00
Thomas Preud'homme
22c97ab418
[commtech] Make BUF_SIZE definition be per tech
...
Don't define BUF_SIZE globally anymore, but per communication technique
2011-03-02 13:19:22 +01:00
Thomas Preud'homme
7c515200e7
[commtech] Remove asm_cache from the comm techs
2011-03-02 13:19:22 +01:00
Thomas Preud'homme
90b7a8007b
[commtech] Rename c_cache to batch_queue
2011-03-02 13:19:22 +01:00
Thomas Preud'homme
f1b3174af3
Fix various bugs in log creation and parsing
...
* Force english locales (esp. for numeric values)
* Handle french and english numeric values
* Handle absence of useless_prod log
* Handle unique cache hierarchy
2011-02-24 21:00:09 +01:00
Thomas Preud'homme
ff7c38da55
[commtech] Display misses of L1 cache
...
- Remove infos about last level cache
+ Add misses of L1 cache
2011-01-28 23:59:57 +01:00