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