Commit Graph

200 Commits

Author SHA1 Message Date
Thomas Preud'homme b2fe873992 Add display_streams script
display_streams is able to:
+ display the structure of streams
+ display stats about commits and updates
2012-02-21 18:56:02 +01:00
Thomas Preud'homme b12ce54d29 Commit the script to setup the environment
Commit setup_environment which sets up the PATH and LD_LIBRARY_PATH to
find the toolchain (modified gcc) and libraries (openmp).
2012-02-21 18:56:02 +01:00
Thomas Preud'homme 09ed8e7bc3 Initial release of FMradio
* Source file for FMradio with (i) openmp stream extension and (ii)
  openmp stream and data parallelism extensions.
* Input files (small and larger one) to test FMradio.
* Compiled version of FMradio just in case of any later problem in the
  toolchain (although the toolchain itself is saved in git).
2012-02-21 18:56:01 +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 a287e033be Merge branch 'improve_pipeline' 2011-05-27 15:42:11 +02:00
Thomas Preud'homme f05cfdcd92 Improve pipeline (cons and prod in //) 2011-05-25 14:33:42 +02:00
Thomas Preud'homme 879769ef32 Fix MCRingBuffer deadlocks
* batchSize must be kept in sync with the number of cache line sent.
* Don't ask more data than sent
2011-05-10 17:19:21 +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 ee71568981 [barrier] Make the bench use perf instead of PAPI
- Convert barrier bench from papi+PapiHighLevel to perf framework
- Remove papihighlevel submodule
- Simplify Makefile (include moving some of the code in a separate
  script)
2011-01-29 17:51:45 +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
Thomas Preud'homme 7d7ad0c46a [commtech] Make WORDS_PER_BUF indep of BUF_SIZE.
The number of data sent must be independent of the buffer size chosen
by each algorithm.
2011-01-28 04:56:44 +01:00
Thomas Preud'homme b1316fb8a4 [commtech] Use param variable for matrice calc.
Matrice calculation library should not take parameter value 16 hardcoded
but use the value of the param variable.
2011-01-25 17:27:07 +01:00
Thomas Preud'homme aef40ff651 [commtech] Fix cache line size
Cache line size in current processors (at least the one used for tests:
cerclon) is 64 bytes, not 128. Thus modifying the declaration in
commtech.h
2011-01-25 17:25:38 +01:00
Thomas Preud'homme c3aad28ad5 [commtech] Add calculation method
Add a calculation method which add the value of the first integer of
n consecutive cache lines and write the results in one of the integer of
these cache lines. Next calculation uses the next n consecutives cache
lines and write the result in the next integer.
2011-01-25 17:24:53 +01:00
Thomas Preud'homme 975411a824 Split CSQ in 2 communication techniques.
* Divide CSQ in 2 communication techniques: one with 2 slots (as in
  BatchQueue aka c_cache) and one with 64 slots (as in the article)
* Rename fake communication technique in none communication technique
  and disable any activity (send no longer does anything)
2011-01-25 17:24:53 +01:00
Thomas Preud'homme 5eb7fb50c7 [commtech] CSQ use memcpy in dequeue for fairness
Paper about CSQ uses memcpy in enqueue and dequeue. Although it is not
possible to use memcpy in enqueue because of current API, it is possible
to use memcpy in dequeue, hence this commit.
2011-01-19 12:37:14 +01:00
Thomas Preud'homme 7db514a706 [commtech] Fix time metric pattern
time metric pattern need to include dots and several elements as a time
is typically of the form 42.42424242
2011-01-16 17:30:00 +01:00
Thomas Preud'homme 1867515152 [commtech] Remove pipe_comm to produce 50000000 l
Multiply by 10 the number of cache line send from the producer to the
consumer to have a more accurate mean. This require excluding pipe_comm
as this bench is way too slow to send so much data.
2011-01-16 17:27:21 +01:00
Thomas Preud'homme 35a81bb736 [commtech] Place volatile on the right qualifier. 2011-01-13 14:58:13 +01:00
Thomas Preud'homme f8ef047808 Remove obsolete TODO. 2011-01-03 11:40:23 +01:00
Thomas Preud'homme 2d879dc3fc [commtech] Fix idx test in c_cache technique.
c_cache watching status value when idx % BUF_SIZE != 0 instead of when
it's equal zero.
2011-01-03 11:35:42 +01:00