25 #define DFUNCTION "_sion_create_and_init_collstat" 31 if (collstat == NULL) {
32 _sion_errorprint(SION_NOT_SUCCESS,_SION_ERROR_RETURN,
"cannot allocate collstat structure of size %lu (sion_collstat), aborting ...\n",
37 collstat->req_collsize=sion_filedesc->
collsize;
38 collstat->firstsize=0;
40 collstat->avg_size_per_sender=0;
41 collstat->max_size_per_sender=0;
42 collstat->min_size_per_sender=1e10;
44 collstat->num_collectors=0;
45 collstat->avg_sender_per_collector=0;
46 collstat->max_sender_per_collector=0;
47 collstat->min_sender_per_collector=10000000;
48 collstat->avg_size_per_collector=0;
49 collstat->max_size_per_collector=0;
50 collstat->min_size_per_collector=1e10;
55 for (t = 0; t < sion_filedesc->
ntasks; t++) {
60 if(sion_filedesc->
ntasks>0) collstat->avg_size_per_sender = (double) collstat->gsize / (
double) sion_filedesc->
ntasks;
62 DPRINTFP((2, DFUNCTION, _SION_DEFAULT_RANK,
"gsize=%ld\n", (
long) collstat->gsize));
69 #define DFUNCTION "_sion_update_collstat" 71 int rc = SION_SUCCESS;
73 sion_int64 currentsize;
77 for (t = 0; t < sion_filedesc->
ntasks; t++) {
89 collstat->num_collectors++;
90 collstat->avg_size_per_collector+=currentsize;
91 if(currentsize>collstat->max_size_per_collector) collstat->max_size_per_collector=currentsize;
92 if(currentsize<collstat->min_size_per_collector) collstat->min_size_per_collector=currentsize;
98 if(collstat->num_collectors>0) collstat->avg_size_per_collector/=collstat->num_collectors;
105 #define DFUNCTION "_sion_print_collstat" 107 int rc = SION_SUCCESS;
110 fprintf(stderr,
"collective statistics: req_collsize=%11d\n", collstat->req_collsize);
111 fprintf(stderr,
"collective statistics: req_num_collectors=%11d\n", collstat->req_num_collectors);
112 fprintf(stderr,
"collective statistics: num_collectors=%11d\n", collstat->num_collectors);
113 fprintf(stderr,
"collective statistics: avg_sender_per_collector=%14.2f\n", collstat->avg_sender_per_collector);
114 fprintf(stderr,
"collective statistics: min_sender_per_collector=%11d\n", collstat->min_sender_per_collector);
115 fprintf(stderr,
"collective statistics: max_sender_per_collector=%11d\n", collstat->max_sender_per_collector);
117 fprintf(stderr,
"collective statistics: avg_size_per_collector=%14.2f bytes\n", collstat->avg_size_per_collector);
118 fprintf(stderr,
"collective statistics: min_size_per_collector=%11lld bytes\n", collstat->min_size_per_collector);
119 fprintf(stderr,
"collective statistics: max_size_per_collector=%11lld bytes\n", collstat->max_size_per_collector);
121 fprintf(stderr,
"collective statistics: avg_size_per_sender=%14.2f bytes\n", collstat->avg_size_per_sender);
122 fprintf(stderr,
"collective statistics: min_size_per_sender=%11lld bytes\n", collstat->min_size_per_sender);
123 fprintf(stderr,
"collective statistics: max_size_per_sender=%11lld bytes\n", collstat->max_size_per_sender);
126 for (t = 0; t < sion_filedesc->
ntasks; t++) {
130 fprintf(stderr,
"collective statistics: startpointers[%2d]=%10lld (%10.4fMB) chunksizes[%2d]=%8lld COLLECTOR collsize=%3d\n",
136 fprintf(stderr,
"collective statistics: startpointers[%2d]=%10lld (%10.4fMB) chunksizes[%2d]=%8lld SENDER to %3d\n",
148 #define DFUNCTION "_sion_debugprint_collstat" 150 int rc = SION_SUCCESS;
154 DPRINTFP((2, DFUNCTION, _SION_DEFAULT_RANK,
" enter\n"));
156 for (t = 0; t < sion_filedesc->
ntasks; t++) {
159 DPRINTFP((2048, DFUNCTION, _SION_DEFAULT_RANK,
" startpointers[%2d]=%10lld (%10.4fMB) chunksizes[%2d]=%8lld COLLECTOR collsize=%3d\n",
165 DPRINTFP((2048, DFUNCTION, _SION_DEFAULT_RANK,
" startpointers[%2d]=%10lld (%10.4fMB) chunksizes[%2d]=%8lld SENDER to %3d\n",
172 DPRINTFP((2, DFUNCTION, _SION_DEFAULT_RANK,
" leave\n",t));
177 #define DFUNCTION "_sion_dprint_collstat" 179 int rc = SION_SUCCESS;
Sion File Descriptor Structure.
sion_int32 * all_coll_collector
sion_int64 * all_startpointers
int _sion_errorprint(int rc, int level, const char *format,...)
Internal SION error.
sion_int64 * all_chunksizes
sion_int32 * all_coll_collsize