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
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
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
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
9c835d4c46
Add a "sent words == received words" check
2011-05-04 19:35:10 +02: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
6c2868e20c
[commtech bench] Take the mean over 10 run.
2010-10-13 23:57:58 +02:00
Thomas Preud'homme
006b1b1d94
Simplify and rewrite comm API.
2010-10-01 18:57:46 +02:00
Thomas Preud'homme
698341b99e
commtech: Update usage help
2009-07-01 03:10:38 +02:00
Thomas Preud'homme
415004fb4b
commtech: Update usage help
2009-07-01 02:45:28 +02:00
Thomas Preud'homme
3341546c75
commtech: calc lib take 1 argument on command line
2009-07-01 02:36:11 +02:00
Thomas Preud'homme
c98db4b4ba
commtech: do_calc() return a void **
...
This respect what we claim to send to the send() function and allow to
reduce the FAKE_NURSERY_START. Thus we are sure gcc won't optimize the
second part of the if in include/jikes_barrier_comm.h
2009-06-30 22:35:11 +02:00
Thomas Preud'homme
8f0aecedec
comtechs bench: Better management of errors
2009-06-24 22:25:28 +02:00
Thomas Preud'homme
e9dc20ecd8
commtechs bench: time per loop + time per write
2009-06-24 18:18:05 +02:00
Thomas Preud'homme
34faada5fe
commtechs: Correctly parse outputs
2009-06-24 00:53:13 +02:00
Thomas Preud'homme
bc3c66027b
Display total time
2009-06-23 13:10:04 +02:00
Thomas Preud'homme
a590ecca09
commtechs bench: calculation init takes an arg
2009-06-19 21:15:23 +02:00
Thomas Preud'homme
f9128c0348
commtechs bench: Addresses are calculated
2009-06-19 13:27:08 +02:00
Thomas Preud'homme
dc6cd83ac1
commtechs bench: BUGFIX in options parsing
...
* nb_prod was tested with nb_cache_lines
* buf_size is unused => removed
* nb_cache_line => nb_bufs_sent
2009-06-18 22:10:15 +02:00
Thomas Preud'homme
e3b01f9357
commtechs bench: Reflect changes of papihighlevel
...
* commit 0ab6aa7576ac5ccdd9d0f99630016a2be87993b3 changed the API of
print_result
2009-06-18 18:39:42 +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
ebbb03f65e
communication techniques bench: BUGFIX
...
* -s really make the threads to be on a shared cache
2009-06-17 19:12:22 +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
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
471fdef61e
Bug in communication techniques bench
...
* producers can finish before consumer and thus free the thread-local
storage they have which could lead to sigsegv from consumer
2009-06-12 00:34:33 +02:00
Thomas Preud'homme
44aacb978e
Add a naive L2 shared option for comm techs bench
2009-06-10 23:30:24 +02:00
Thomas Preud'homme
9b4388a964
Add benchs to compare communication techniques
2009-06-10 09:58:50 +02:00