1
1
This commit was SVN r10457.
Этот коммит содержится в:
George Bosilca 2006-06-21 16:25:02 +00:00
родитель 31365fa799
Коммит efb987f156

Просмотреть файл

@ -16,12 +16,8 @@
#include <stdlib.h> #include <stdlib.h>
#include <unistd.h> #include <unistd.h>
#ifdef HAVE_OPEN_MPI #ifdef OPEN_MPI
#include "ompi_config.h" extern void ompi_ddt_dump( MPI_Datatype ddt );
#include "ompi/datatype/convertor.h"
#include "ompi/datatype/datatype.h"
#include "ompi/datatype/convertor_internal.h"
#include "ompi/datatype/datatype_internal.h"
#define MPI_DDT_DUMP(ddt) ompi_ddt_dump( (ddt) ) #define MPI_DDT_DUMP(ddt) ompi_ddt_dump( (ddt) )
#else #else
#define MPI_DDT_DUMP(ddt) #define MPI_DDT_DUMP(ddt)
@ -315,6 +311,10 @@ static int do_test_for_ddt( MPI_Datatype sddt, MPI_Datatype rddt, int length )
for( i = 1; i <= (length/extent); i *= 2 ) { for( i = 1; i <= (length/extent); i *= 2 ) {
isend_recv( 10, sddt, i, sbuf, rddt, i, rbuf ); isend_recv( 10, sddt, i, sbuf, rddt, i, rbuf );
} }
printf( "# Isend Irecv Wait\n" );
for( i = 1; i <= (length/extent); i *= 2 ) {
isend_irecv_wait( 10, sddt, i, sbuf, rddt, i, rbuf );
}
printf( "# Irecv send\n" ); printf( "# Irecv send\n" );
for( i = 1; i <= (length/extent); i *= 2 ) { for( i = 1; i <= (length/extent); i *= 2 ) {
irecv_send( 10, sddt, i, sbuf, rddt, i, rbuf ); irecv_send( 10, sddt, i, sbuf, rddt, i, rbuf );
@ -323,10 +323,6 @@ static int do_test_for_ddt( MPI_Datatype sddt, MPI_Datatype rddt, int length )
for( i = 1; i <= (length/extent); i *= 2 ) { for( i = 1; i <= (length/extent); i *= 2 ) {
irecv_isend_wait( 10, sddt, i, sbuf, rddt, i, rbuf ); irecv_isend_wait( 10, sddt, i, sbuf, rddt, i, rbuf );
} }
printf( "# Irecv Isend Wait\n" );
for( i = 1; i <= (length/extent); i *= 2 ) {
isend_irecv_wait( 10, sddt, i, sbuf, rddt, i, rbuf );
}
free( sbuf ); free( sbuf );
free( rbuf ); free( rbuf );
return 0; return 0;
@ -364,7 +360,7 @@ int main( int argc, char* argv[] )
if( run_tests & DO_INDEXED_GAP ) { if( run_tests & DO_INDEXED_GAP ) {
printf( "\nindexed gap\n\n" ); printf( "\nindexed gap\n\n" );
ddt = create_indexed_gap_ddt(); ddt = create_indexed_gap_ddt();
/*MPI_DDT_DUMP( ddt );*/ MPI_DDT_DUMP( ddt );
do_test_for_ddt( ddt, ddt, length ); do_test_for_ddt( ddt, ddt, length );
MPI_Type_free( &ddt ); MPI_Type_free( &ddt );
} }
@ -372,7 +368,7 @@ int main( int argc, char* argv[] )
if( run_tests & DO_OPTIMIZED_INDEXED_GAP ) { if( run_tests & DO_OPTIMIZED_INDEXED_GAP ) {
printf( "\noptimized indexed gap\n\n" ); printf( "\noptimized indexed gap\n\n" );
ddt = create_indexed_gap_optimized_ddt(); ddt = create_indexed_gap_optimized_ddt();
/*MPI_DDT_DUMP( ddt );*/ MPI_DDT_DUMP( ddt );
do_test_for_ddt( ddt, ddt, length ); do_test_for_ddt( ddt, ddt, length );
MPI_Type_free( &ddt ); MPI_Type_free( &ddt );
} }
@ -380,7 +376,7 @@ int main( int argc, char* argv[] )
if( run_tests & DO_CONSTANT_GAP ) { if( run_tests & DO_CONSTANT_GAP ) {
printf( "\nconstant indexed gap\n\n" ); printf( "\nconstant indexed gap\n\n" );
ddt = create_indexed_constant_gap_ddt( 80, 100, 1 ); ddt = create_indexed_constant_gap_ddt( 80, 100, 1 );
/*MPI_DDT_DUMP( ddt );*/ MPI_DDT_DUMP( ddt );
do_test_for_ddt( ddt, ddt, length ); do_test_for_ddt( ddt, ddt, length );
MPI_Type_free( &ddt ); MPI_Type_free( &ddt );
} }
@ -388,7 +384,7 @@ int main( int argc, char* argv[] )
if( run_tests & DO_CONSTANT_GAP ) { if( run_tests & DO_CONSTANT_GAP ) {
printf( "\noptimized constant indexed gap\n\n" ); printf( "\noptimized constant indexed gap\n\n" );
ddt = create_optimized_indexed_constant_gap_ddt( 80, 100, 1 ); ddt = create_optimized_indexed_constant_gap_ddt( 80, 100, 1 );
/*MPI_DDT_DUMP( ddt );*/ MPI_DDT_DUMP( ddt );
do_test_for_ddt( ddt, ddt, length ); do_test_for_ddt( ddt, ddt, length );
MPI_Type_free( &ddt ); MPI_Type_free( &ddt );
} }