Commit Graph

34 Commits

Author SHA1 Message Date
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