Commit Graph

29 Commits

Author SHA1 Message Date
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 bd7379e73a Propose 2048 and 4096 buffer size for BatchQueue. 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 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 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 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 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 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 35a81bb736 [commtech] Place volatile on the right qualifier. 2011-01-13 14:58:13 +01:00
Thomas Preud'homme 006b1b1d94 Simplify and rewrite comm API. 2010-10-01 18:57:46 +02:00
Thomas Preud'homme 177e548efe commtechs benchs: fake_comm perform the writes 2009-06-24 23:35:58 +02:00
Thomas Preud'homme 8f0aecedec comtechs bench: Better management of errors 2009-06-24 22:25:28 +02:00
Thomas Preud'homme 274f3cfd1b communication techniques bench: refactoring (2)
Main changes:

* Better separation of what is common from what is specific to a
  communication technique
* Consumer wait initialization of all producer threads
2009-06-18 15:55:20 +02:00
Thomas Preud'homme b5575aa710 communication techniques bench: add c_cache_comm 2009-06-17 19:18:38 +02:00
Thomas Preud'homme b522ce373f communication techniques bench: typo 2009-06-17 18:22:03 +02:00
Thomas Preud'homme 4cdee1503e communication techniques bench: refactoring (1)
Main changes:
* change library initialization: initialization is done with
  init_library once and init_thread_comm by each thread
* cont is now directly accessed by main
* list of struct communication_assoc -> array of struct thread_comm
* struct communication_channel -> struct comm_channel
2009-06-17 18:15:16 +02:00
Thomas Preud'homme 68589566a7 Communication techniques bench: add fake comm 2009-06-17 15:47:12 +02:00
Thomas Preud'homme 3059605ed4 Communication techniques bench: add jikes barrier 2009-06-17 15:46:22 +02:00
Thomas Preud'homme 0a4da54fec Communication techniques bench: act more like a WB
* Send addresses of place in memory where another addresses has been
  stored
2009-06-16 13:22:08 +02:00
Thomas Preud'homme 09bff9869e communication technique benchs: We send addresses
* uintptr_t -> void *
* main send addresses where it has written something in
2009-06-16 12:58:30 +02:00
Thomas Preud'homme 12494e2fbc More uniformity in communication techniques bench
* Only use 2 * BUF_SIZE bytes for shared_memory
2009-06-12 00:44:52 +02:00
Thomas Preud'homme 02db9b77f6 Bug in communication techniques bench
* prod_idx and cons_idx aren't declared volatile so compiler could
  sur-optimize access to these variable and lead to a deadlock
2009-06-12 00:39:25 +02:00
Thomas Preud'homme e6912c4048 New technique in communication techniques bench
* shared_mem become shared_mem_opt
* Apparition of shared_mem (no optimisation)
2009-06-11 23:42:15 +02:00
Thomas Preud'homme 91c3ce6ca4 Fix in communication techniques bench
* Producers now wait consumer when needed
2009-06-11 23:41:39 +02:00
Thomas Preud'homme 7e939d50da Fix in communication techniques bench
* SHARED_MEM_SPACE is now based on BUF_SIZE
2009-06-11 23:35:41 +02:00
Thomas Preud'homme 9b4388a964 Add benchs to compare communication techniques 2009-06-10 09:58:50 +02:00