X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/111a3da5058ade0ddcfb01173504a46ff24c8429..d50d059ea12035662120f56d1ed5bd9289474193:/teshsuite/smpi/io-shared/io-shared.c diff --git a/teshsuite/smpi/io-shared/io-shared.c b/teshsuite/smpi/io-shared/io-shared.c index 9b1b5b143a..6aa07ce963 100644 --- a/teshsuite/smpi/io-shared/io-shared.c +++ b/teshsuite/smpi/io-shared/io-shared.c @@ -1,3 +1,8 @@ +/* Copyright (c) 2019-2023. The SimGrid Team. All rights reserved. */ + +/* This program is free software; you can redistribute it and/or modify it + * under the terms of the license (GNU LGPL) which comes with this package. */ + #include "mpi.h" #include #include @@ -9,36 +14,46 @@ int main( int argc, char *argv[] ) { int errs = 0; - int size, rank, i, *buf, count; + int size; + int rank; + int* buf; + int count; MPI_File fh; MPI_Comm comm; MPI_Status status; - + MPI_Init( &argc, &argv ); - + comm = MPI_COMM_WORLD; - MPI_File_open( comm, (char*)"/scratch/lib/libsimgrid.so.3.6.2", MPI_MODE_RDWR | MPI_MODE_CREATE | MPI_MODE_DELETE_ON_CLOSE, MPI_INFO_NULL, &fh ); + MPI_File_open( comm, (char*)"/scratch/testfile", MPI_MODE_RDWR | MPI_MODE_CREATE | MPI_MODE_DELETE_ON_CLOSE, MPI_INFO_NULL, &fh ); MPI_Comm_size( comm, &size ); MPI_Comm_rank( comm, &rank ); - buf = (int *)malloc( 10+size * sizeof(int) ); + buf = (int *)malloc( sizeof(int) ); buf[0] = rank; - + + MPI_File_seek_shared( fh, 0, MPI_SEEK_SET ); + MPI_Barrier(comm); + + memset( &status, 0xff, sizeof(MPI_Status) ); + MPI_File_write_shared( fh, buf, 1, MPI_INT, &status ); + MPI_Get_count( &status, MPI_INT, &count ); + if (count != 1) { + errs++; + fprintf( stderr, "Count not one (%d) on write\n", count );fflush(stderr); + } + /* Write nothing (check status) */ memset( &status, 0xff, sizeof(MPI_Status) ); - MPI_File_write( fh, buf, 0, MPI_INT, &status ); + MPI_File_write_shared( fh, buf, 0, MPI_INT, &status ); MPI_Get_count( &status, MPI_INT, &count ); if (count != 0) { errs++; fprintf( stderr, "Count not zero (%d) on write\n", count );fflush(stderr); } - - MPI_Barrier( comm ); - MPI_File_seek_shared( fh, 0, MPI_SEEK_SET ); - for (i=0; i