diff options
author | Vishwanath Venkatesan <vish@hdfgroup.org> | 2013-08-14 01:44:05 (GMT) |
---|---|---|
committer | Vishwanath Venkatesan <vish@hdfgroup.org> | 2013-08-14 01:44:05 (GMT) |
commit | 38f6eecef077daaaf0ff97e378503604179d3e40 (patch) | |
tree | e2aabe6101010fdee5c19886a6d3141b6798e655 | |
parent | 8b0b6610386a0019b428645db3003ce03b277d4a (diff) | |
download | hdf5-38f6eecef077daaaf0ff97e378503604179d3e40.zip hdf5-38f6eecef077daaaf0ff97e378503604179d3e40.tar.gz hdf5-38f6eecef077daaaf0ff97e378503604179d3e40.tar.bz2 |
[svn-r24008] Adding the first commit of the benchmark
-rw-r--r-- | benchmark/FFbench/Makefile | 23 | ||||
-rw-r--r-- | benchmark/FFbench/eff_benchmark.c | 77 | ||||
-rw-r--r-- | benchmark/FFbench/ffbench.c | 278 | ||||
-rw-r--r-- | benchmark/FFbench/ffbench.h | 63 | ||||
-rw-r--r-- | benchmark/FFbench/ffbench_common.h | 48 | ||||
-rw-r--r-- | benchmark/FFbench/ffbench_util.c | 121 | ||||
-rw-r--r-- | benchmark/FFbench/ffbench_util.h | 32 | ||||
-rw-r--r-- | benchmark/FFbench/test_config | 22 | ||||
-rw-r--r-- | benchmark/FFbench/test_server.c | 50 | ||||
-rw-r--r-- | benchmark/iodrc | 6 | ||||
-rw-r--r-- | testff/compactor_tests/parallel_write.c | 3 |
11 files changed, 721 insertions, 2 deletions
diff --git a/benchmark/FFbench/Makefile b/benchmark/FFbench/Makefile new file mode 100644 index 0000000..51b5644 --- /dev/null +++ b/benchmark/FFbench/Makefile @@ -0,0 +1,23 @@ +CC=h5pcc +CFLAGS=-O3 + + + +all: eff_bench server + + +eff_bench: eff_benchmark.c ffbench.o ffbench_util.o + $(CC) -o eff_bench eff_benchmark.c ffbench.o ffbench_util.o + +ffbench.o: ffbench.c ffbench.h ffbench_common.h + $(CC) $(CFLAGS) -c ffbench.c + +ffbench_util.o: ffbench_util.c ffbench_util.h ffbench_common.h + $(CC) $(CFLAGS) -c ffbench_util.c + +server: + $(CC) -o server test_server.c +clean: + rm -rf *.o *~ *.cfg + rm -rf test/*~ test/test_clock + rm -rf eff_bench server diff --git a/benchmark/FFbench/eff_benchmark.c b/benchmark/FFbench/eff_benchmark.c new file mode 100644 index 0000000..f7e43a9 --- /dev/null +++ b/benchmark/FFbench/eff_benchmark.c @@ -0,0 +1,77 @@ +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * Copyright by The HDF Group. * + * Copyright by the Board of Trustees of the University of Illinois. * + * All rights reserved. * + * * + * This file is part of HDF5. The full HDF5 copyright notice, including * + * terms governing use, modification, and redistribution, is contained in * + * the files COPYING and Copyright.html. COPYING can be found at the root * + * of the source code distribution tree; Copyright.html can be found at the * + * root level of an installed copy of the electronic HDF5 document set and * + * is linked from the top-level documents page. It can also be found at * + * http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have * + * access to either file, you may request a copy from help@hdfgroup.org. * + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + + +/* + Benchmark for Exascale Fast forward operations + Programmer : Vishwanath Venkatesan +*/ + + +#include "ffbench.h" + +int main (int argc, char **argv){ + + + MPI_Comm comm = MPI_COMM_WORLD; + MPI_Info info = MPI_INFO_NULL; + int provided; + int ret_value = FFB_SUCCESS; + hid_t file_id, dset_id; + hid_t fapl_id; + int rank; + int size; + + MPI_Init_thread(&argc,&argv, MPI_THREAD_MULTIPLE, &provided); + if(MPI_THREAD_MULTIPLE != provided) { + DEBUG_LINE("MPI does not have MPI_THREAD_MULTIPLE support\n"); + ret_value = FFB_FAIL; + goto exit; + } + + if (argc < 2){ + DEBUG_LINE ("Configuration file needed to start \n") + MPI_Finalize(); + goto exit; + } + + MPI_Comm_rank(comm, &rank); + MPI_Comm_size(comm, &size); + + FFbench_read_config_file (argv[1], comm); + FFbench_print_args(); + EFF_init (comm, info); + if (FFB_SUCCESS != FFbench_create_file_and_dataset (&file_id, + &dset_id, + &fapl_id, + rank, + comm, + info)){ + DEBUG_LINE("Error in File/dataset creation") + } + + + + + + H5Pclose(fapl_id); + H5Dclose(dset_id); + H5Fclose(file_id); + + EFF_finalize(); + MPI_Finalize(); + exit: + return ret_value; +} diff --git a/benchmark/FFbench/ffbench.c b/benchmark/FFbench/ffbench.c new file mode 100644 index 0000000..d95c28c --- /dev/null +++ b/benchmark/FFbench/ffbench.c @@ -0,0 +1,278 @@ +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * Copyright by The HDF Group. * + * Copyright by the Board of Trustees of the University of Illinois. * + * All rights reserved. * + * * + * This file is part of HDF5. The full HDF5 copyright notice, including * + * terms governing use, modification, and redistribution, is contained in * + * the files COPYING and Copyright.html. COPYING can be found at the root * + * of the source code distribution tree; Copyright.html can be found at the * + * root level of an installed copy of the electronic HDF5 document set and * + * is linked from the top-level documents page. It can also be found at * + * http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have * + * access to either file, you may request a copy from help@hdfgroup.org. * + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + + +#include "ffbench.h" + + +/****************************************** +/*FFbench : Main file and all necessary + functions + + Programmer : Vishwanath Venkatesan +***********************************************/ + +/*------------------------------------------------------------------------- + * Function: FFbench_string_trim + * + * Purpose : Function to trim whitespaces from a string + * + * Return: SUCCESS : FFB_SUCCESS + * FAILURE : FFB_FAIL + * + * Programmer: Vishwanath Venkatesan + * August, 2013 + *-------------------------------------------------------------------------- + */ + + +int FFbench_string_trim (char *str){ + + int ret_value = FFB_SUCCESS; + char *end = NULL; + + /* Trim leading space*/ + while(isspace(*str)) str++; + + /* Trim trailing space */ + end = str + strlen(str) - 1; + while(end > str && isspace(*end)) end--; + + /* Write new null terminator */ + *(end+1) = 0; + + return ret_value; +} + + +/*------------------------------------------------------------------------- + * Function: FFbench_read_config_file + * + * Purpose : Function to read the config file for the benchmark + * + * Return: SUCCESS : FFB_SUCCESS + * FAILURE : FFB_FAIL + * + * Programmer: Vishwanath Venkatesan + * August, 2013 + *-------------------------------------------------------------------------- + */ + + +int FFbench_read_config_file (char *fname, + MPI_Comm comm){ + + int ret_value = FFB_SUCCESS; + FILE *fp; + char *tmp_string = NULL; + int cnt = 0, i; + char *charLoc = NULL; + int rank; + + MPI_Comm_rank (comm, &rank); + + input_args = (file_args *) malloc (sizeof(file_args)); + if (NULL == input_args){ + DEBUG_LINE ("Error allocating File Args struct") + } + + if (!rank){ + + fp = fopen (fname, "r"); + + + tmp_string = (char *) malloc (NAME_SIZE * sizeof (char)); + if (NULL == tmp_string){ + DEBUG_LINE("Error in allcating Dsetname\n") + ret_value = FFB_FAIL; + } + + while (fgets (tmp_string, NAME_SIZE, fp) != NULL){ + + charLoc = strchr (tmp_string, '#'); + if (charLoc != NULL){ + continue; + } + switch(cnt){ + case 0: + strcpy (input_args->filename, tmp_string); + FFbench_string_trim(input_args->filename); + if (strlen(input_args->filename) == 0){ + DEBUG_LINE("Empty Filename \n") + ret_value = FFB_FAIL; + goto exit; + } + break; + case 1: + strcpy (input_args->dsetname, tmp_string); + FFbench_string_trim(input_args->dsetname); + if (strlen(input_args->dsetname) == 0){ + DEBUG_LINE("Empty Dsetname\n") + ret_value = FFB_FAIL; + goto exit; + } + break; + case 2: + input_args->n_coords = atol(tmp_string); + if (input_args->n_coords == 0){ + DEBUG_LINE ("Coordinates cannot be 0\n") + ret_value = FFB_FAIL; + goto exit; + } + break; + case 3: + input_args->coords[0] = atol(tmp_string); + for ( i = 1; i < input_args->n_coords; i++){ + tmp_string[0] = 0; + fgets (tmp_string, NAME_SIZE, fp); + input_args->coords[i] = atol(tmp_string); + } + break; + case 4: + FFbench_string_trim(tmp_string); + if(!strcmp("READ", tmp_string)){ + input_args->rw_flag = READ; + } + else{ + input_args->rw_flag = WRITE; + } + break; + case 5: + input_args->num_ops = atoi(tmp_string); + break; + case 6: + input_args->overlap = atoi(tmp_string); + break; + } + cnt++; + tmp_string[0] = 0; + } + } + /*Lets broadcast this input array to all processes!*/ + MPI_Bcast( (void *)input_args, + sizeof(*input_args), + MPI_BYTE, + 0, + comm); + + + exit: + return ret_value; +} + +/*------------------------------------------------------------------------- + * Function: FFbench_print_args + * + * Purpose : Print the created input structure from config file + * + * Return: Void routine + * + * Programmer: Vishwanath Venkatesan + * August, 2013 + *-------------------------------------------------------------------------- + */ + +void FFbench_print_args(){ + + hsize_t j; + + DEBUG_PRINT("Filename %s, Dataset: %s, ncoords: %lli, rw: %d, overlap: %d \n", + input_args->filename, + input_args->dsetname, + input_args->n_coords, + input_args->rw_flag, + input_args->overlap) + + for (j =0; j< input_args->n_coords; + j++){ + + DEBUG_PRINT("coord[%lli]: %lli\n",j , input_args->coords[j]) + } + + +} + +/*------------------------------------------------------------------------- + * Function: FFbench_create_file + * + * Purpose : Function to read the config file for the benchmark + * + * Return: SUCCESS : FFB_SUCCESS + * FAILURE : FFB_FAIL + * + * Programmer: Vishwanath Venkatesan + * August, 2013 + *-------------------------------------------------------------------------- + */ + + +int FFbench_create_file_and_dataset (hid_t *file_id, hid_t *dset_id, + hid_t *fapl_id, + int rank, + MPI_Comm comm, + MPI_Info info){ + + int ret_value = FFB_SUCCESS; + hid_t fapl_self_id; + hid_t tmp_file_id, tmp_dset_id; + hid_t dataspace; + hsize_t *dimsf, j; + + + if (!rank){ + + dimsf = (hsize_t *) malloc (input_args->n_coords * sizeof(hsize_t)); + if (NULL == dimsf){ + DEBUG_LINE ("Error in allocating dimsf\n"); + ret_value = FFB_FAIL; + goto exit; + } + + for (j = 0; j < input_args->n_coords; + j++){ + dimsf[j] = input_args->coords[j]; + } + dataspace = H5Screate_simple (input_args->n_coords, + dimsf, + NULL); + + + fapl_self_id = H5Pcreate (H5P_FILE_ACCESS); + H5Pset_fapl_iod(fapl_self_id, MPI_COMM_SELF, MPI_INFO_NULL); + tmp_file_id = H5Fcreate(input_args->filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl_self_id); + tmp_dset_id = H5Dcreate(tmp_file_id,input_args->dsetname, + H5T_NATIVE_INT,dataspace, + H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT); + H5Pclose(fapl_self_id); + H5Dclose(tmp_dset_id); + H5Sclose(dataspace); + H5Fclose(tmp_file_id); + } + + MPI_Barrier(comm); + + *fapl_id = H5Pcreate (H5P_FILE_ACCESS); + H5Pset_fapl_iod(*fapl_id, MPI_COMM_WORLD, MPI_INFO_NULL); + + *file_id = H5Fopen(input_args->filename, H5F_ACC_RDWR, *fapl_id); + *dset_id = H5Dopen(*file_id, + input_args->dsetname,H5P_DEFAULT); + + + + + exit: + return ret_value; +} diff --git a/benchmark/FFbench/ffbench.h b/benchmark/FFbench/ffbench.h new file mode 100644 index 0000000..ffbba6a --- /dev/null +++ b/benchmark/FFbench/ffbench.h @@ -0,0 +1,63 @@ +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * Copyright by The HDF Group. * + * Copyright by the Board of Trustees of the University of Illinois. * + * All rights reserved. * + * * + * This file is part of HDF5. The full HDF5 copyright notice, including * + * terms governing use, modification, and redistribution, is contained in * + * the files COPYING and Copyright.html. COPYING can be found at the root * + * of the source code distribution tree; Copyright.html can be found at the * + * root level of an installed copy of the electronic HDF5 document set and * + * is linked from the top-level documents page. It can also be found at * + * http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have * + * access to either file, you may request a copy from help@hdfgroup.org. * + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + +#include "ffbench_common.h" +#include "hdf5.h" +#include "mpi.h" + + +#ifndef _FFBENCH_H_ +#define _FFBENCH_H_ + + +#define NAME_SIZE 1024 +#define MAX_DIMS 32 + +/*FFbench : Main file and all necessary + functions + Programmer : Vishwanath Venkatesan*/ + +/* Declarations necessary for + the benchmark*/ + + +typedef struct{ + char filename[NAME_SIZE]; + char dsetname[NAME_SIZE]; + hsize_t n_coords; + hsize_t coords[MAX_DIMS]; + int rw_flag; + int num_ops; + int overlap; + +}file_args; + +file_args *input_args; + + + +int FFbench_initialize(int argc, char **argv); +int FFbench_read_config_file (char *fname, MPI_Comm comm); +int FFbench_string_trim(char *str); +void FFbench_print_args(); +int FFbench_create_file_and_dataset (hid_t *file_id, hid_t *dset_id, + hid_t *fapl_id, + int rank, + MPI_Comm comm, + MPI_Info info); + + + +#endif diff --git a/benchmark/FFbench/ffbench_common.h b/benchmark/FFbench/ffbench_common.h new file mode 100644 index 0000000..9fa2558 --- /dev/null +++ b/benchmark/FFbench/ffbench_common.h @@ -0,0 +1,48 @@ +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * Copyright by The HDF Group. * + * Copyright by the Board of Trustees of the University of Illinois. * + * All rights reserved. * + * * + * This file is part of HDF5. The full HDF5 copyright notice, including * + * terms governing use, modification, and redistribution, is contained in * + * the files COPYING and Copyright.html. COPYING can be found at the root * + * of the source code distribution tree; Copyright.html can be found at the * + * root level of an installed copy of the electronic HDF5 document set and * + * is linked from the top-level documents page. It can also be found at * + * http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have * + * access to either file, you may request a copy from help@hdfgroup.org. * + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + +#ifndef _FFBENCH_COMMON_H +#define _FFBENCH_COMMON_H + +#include <stdlib.h> +#include <sys/time.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> + +#define FFB_SUCCESS 0 +#define FFB_FAIL -1 +#define DEBUG + +#define READ 290 +#define WRITE 390 + + +typedef struct timeval timer; +typedef unsigned long long length_t; + + +#ifdef DEBUG +#define LOC fprintf (stderr,"in %s:%d ", __FILE__, __LINE__); +#define DEBUG_PRINT(fmt, ...) LOC fprintf (stderr, fmt,__VA_ARGS__); +#define DEBUG_LINE(text) LOC fprintf (stderr, text); +#else +#define DEBUG_PRINT(fmt,...) +#define DEBUG_LINE(text) +#endif + + + +#endif /*FFBENCH_COMMON*/ diff --git a/benchmark/FFbench/ffbench_util.c b/benchmark/FFbench/ffbench_util.c new file mode 100644 index 0000000..503a744 --- /dev/null +++ b/benchmark/FFbench/ffbench_util.c @@ -0,0 +1,121 @@ +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * Copyright by The HDF Group. * + * Copyright by the Board of Trustees of the University of Illinois. * + * All rights reserved. * + * * + * This file is part of HDF5. The full HDF5 copyright notice, including * + * terms governing use, modification, and redistribution, is contained in * + * the files COPYING and Copyright.html. COPYING can be found at the root * + * of the source code distribution tree; Copyright.html can be found at the * + * root level of an installed copy of the electronic HDF5 document set and * + * is linked from the top-level documents page. It can also be found at * + * http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have * + * access to either file, you may request a copy from help@hdfgroup.org. * + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + +#include "ffbench_util.h" + + +/*------------------------------------------------------------------------- + * Function: FFbench_timer_start() + * + * Purpose : Start timer + * + * Return: SUCCESS : FFB_SUCCESS + * FAILURE : FFB_FAIL + * + * Programmer: Vishwanath Venkatesan + * August, 2013 + *-------------------------------------------------------------------------- + */ + +int FFbench_timer_start(timer *rettimer){ + + int ret_value = FFB_SUCCESS; + timer starttime; + + if (FFB_SUCCESS != gettimeofday(&starttime, NULL)) + ret_value = FFB_FAIL; + + *rettimer = starttime; + return ret_value; +} + + +/*------------------------------------------------------------------------- + * Function: FFbench_timer_end(); + * + * Purpose : End timer + * + * Return: SUCCESS : FFB_SUCCESS + * FAILURE : FFB_FAIL + * + * Programmer: Vishwanath Venkatesan + * August, 2013 + *-------------------------------------------------------------------------- + */ + +int FFbench_timer_end(timer *rettimer){ + + int ret_value = FFB_SUCCESS; + timer endtime; + + if (FFB_SUCCESS != gettimeofday(&endtime, NULL)){ + ret_value = FFB_FAIL; + } + + *rettimer = endtime; + return ret_value; +} + + +/*------------------------------------------------------------------------- + * Function: FFbench_timer_gettime + * + * Purpose : Calculate the total_time consumed + * + * Return: SUCCESS : Positive + * FAILURE : Negative + * + * Programmer: Vishwanath Venkatesan + * August, 2013 + *-------------------------------------------------------------------------- + */ + +double FFbench_timer_gettime(timer start, + timer end){ + + double elapsedTime; + + elapsedTime = (end.tv_sec - start.tv_sec) * 1000.0; + elapsedTime += (end.tv_usec - start.tv_usec) / 1000.0; + + return elapsedTime; + +} + +/*------------------------------------------------------------------------- + * Function: FFbench_getBandwidth + * + * Purpose : Get the I/O bandwidth from the totalbytes written + * + totat time consumed in MB/s. The input is expected in + * bytes + * + * Return: SUCCESS : Positive + * FAILURE : Negative + * + * Programmer: Vishwanath Venkatesan + * August, 2013 + *-------------------------------------------------------------------------- + */ + +double FFbench_getBandwidth(length_t totallength, + double totaltime){ + + /*Convert to MB*/ + totallength /= 1024; + totallength /= 1024; + + return (double) (totallength/totaltime); + +} diff --git a/benchmark/FFbench/ffbench_util.h b/benchmark/FFbench/ffbench_util.h new file mode 100644 index 0000000..bc1f8e6 --- /dev/null +++ b/benchmark/FFbench/ffbench_util.h @@ -0,0 +1,32 @@ +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * Copyright by The HDF Group. * + * Copyright by the Board of Trustees of the University of Illinois. * + * All rights reserved. * + * * + * This file is part of HDF5. The full HDF5 copyright notice, including * + * terms governing use, modification, and redistribution, is contained in * + * the files COPYING and Copyright.html. COPYING can be found at the root * + * of the source code distribution tree; Copyright.html can be found at the * + * root level of an installed copy of the electronic HDF5 document set and * + * is linked from the top-level documents page. It can also be found at * + * http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have * + * access to either file, you may request a copy from help@hdfgroup.org. * + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + +#ifndef _FFBENCH_UTIL_H +#define _FFBENCH_UTIL_H + +#include "ffbench_common.h" + + +/*FFbench : Utility funcitons + Programmer : Vishwanath Venkatesan*/ + +int FFbench_timer_start(timer *); +int FFbench_timer_end(timer *); +double FFbench_timer_gettime(timer, timer); +double FFbench_getBandwidth(length_t totallength, double totaltime); + + + +#endif diff --git a/benchmark/FFbench/test_config b/benchmark/FFbench/test_config new file mode 100644 index 0000000..70aac27 --- /dev/null +++ b/benchmark/FFbench/test_config @@ -0,0 +1,22 @@ +# ------------------------------------ +# Sample configuration file +# Order of information to be provided +# filename +# datasetname +# numdims +# dims1 +# dims2 +# ... +# dimsn +# READ/WRITE +# number of read/writes +# Overlap flag +# -------------------------------------- +efffile.h5 +D1 +2 +16 +16 +WRITE +10 +0
\ No newline at end of file diff --git a/benchmark/FFbench/test_server.c b/benchmark/FFbench/test_server.c new file mode 100644 index 0000000..ee28de4 --- /dev/null +++ b/benchmark/FFbench/test_server.c @@ -0,0 +1,50 @@ +/*
+ * test_server.c: Server side of Milestone 3.3 Asynchronous I/O and initial
+ * IOD VOL plugin demonstration.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <assert.h>
+#include <string.h>
+#include "mpi.h"
+#include "hdf5.h"
+
+int main(int argc, char **argv) {
+ int my_size, my_rank;
+ int provided;
+
+ MPI_Init_thread(&argc, &argv, MPI_THREAD_MULTIPLE, &provided);
+ if(MPI_THREAD_MULTIPLE != provided) {
+ printf("MPI does not have MPI_THREAD_MULTIPLE support\n");
+ exit(1);
+ }
+
+ MPI_Comm_rank(MPI_COMM_WORLD, &my_rank);
+ MPI_Comm_size(MPI_COMM_WORLD, &my_size);
+ printf("Number of server processes = %d, my rank is %d\n", my_size, my_rank);
+
+ H5open();
+ /* This call initiliazes the FS for the server processes (create metadata and
+ bulk data handles). It also registers with the Function shipper the
+ HDF5 VOL server routines that will be executed when the clients ship the VOL
+ routines. Then it executes a loop to receive requests from clients that map
+ to one of the registered callbacks.
+
+ Whenever a request is received, the corresponding callback is called which
+ inserts the operation into the AXE (the Asynchronous eXecution Engine) and
+ returns to receive another request. The AXE schedules that operation to
+ execute by assigning a thread to it. After the operation is complete, the
+ result is returned to the client through the function shipper complete call.
+
+ Finally, when all clients send a terminate call, the function shipper interface
+ is finalized the operation returns. */
+ H5VLiod_start_handler(MPI_COMM_WORLD, MPI_INFO_NULL);
+ H5close();
+ fflush(stderr);
+ MPI_Finalize();
+ fflush(stderr);
+
+ return 0;
+}
+
diff --git a/benchmark/iodrc b/benchmark/iodrc new file mode 100644 index 0000000..f459762 --- /dev/null +++ b/benchmark/iodrc @@ -0,0 +1,6 @@ +mlog_defmask DEBUG +#mlog_stderr 1 +mlog_syslog 1 +mlog_msgbuf_size 409600 +mlog_file /scr/vish/FF/iod_log +#mlog_file /tmp/iod_debug.log diff --git a/testff/compactor_tests/parallel_write.c b/testff/compactor_tests/parallel_write.c index e996388..4824132 100644 --- a/testff/compactor_tests/parallel_write.c +++ b/testff/compactor_tests/parallel_write.c @@ -18,8 +18,7 @@ int main (int argc, char **argv){ hid_t dataspaceID, dataspace2; hid_t dset_id; hid_t fapl_id, dxpl_id; - - const unsigned int nelem = 60; + int *data = NULL; unsigned int i = 0; hsize_t dimsf[2]; |