Commit Graph

150 Commits

Author SHA1 Message Date
Thomas Preud'homme 6cdff7f5a0 Add copyright/license information 2013-04-22 18:34:41 +02:00
Thomas Preud'homme a578c33577 [commtech] Detect if perf supports -o switch
Use script in the case where perf doesn't support -o switch (old perf
version)
2012-07-07 23:43:30 +02:00
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