@@ -384,10 +384,18 @@ ompi_osc_portals4_raccumulate(const void *origin_addr,
384384 0 );
385385 } else {
386386 ret = ompi_osc_portals4_get_dt (origin_dt , & ptl_dt );
387- if (OMPI_SUCCESS != ret ) return ret ;
387+ if (OMPI_SUCCESS != ret ) {
388+ opal_output (ompi_osc_base_framework .framework_output ,
389+ "MPI_Raccumulate: datatype is not currently supported" );
390+ return OMPI_ERR_NOT_SUPPORTED ;
391+ }
388392
389393 ret = ompi_osc_portals4_get_op (op , & ptl_op );
390- if (OMPI_SUCCESS != ret ) return ret ;
394+ if (OMPI_SUCCESS != ret ) {
395+ opal_output (ompi_osc_base_framework .framework_output ,
396+ "MPI_Raccumulate: operation is not currently supported" );
397+ return OMPI_ERR_NOT_SUPPORTED ;
398+ }
391399
392400 ret = PtlAtomic (module -> req_md_h ,
393401 offset + sent ,
@@ -476,7 +484,9 @@ ompi_osc_portals4_rget_accumulate(const void *origin_addr,
476484 ret = ompi_osc_portals4_get_dt (origin_dt , & ptl_dt );
477485 if (OMPI_SUCCESS != ret ) {
478486 OMPI_OSC_PORTALS4_REQUEST_RETURN (request );
479- return ret ;
487+ opal_output (ompi_osc_base_framework .framework_output ,
488+ "MPI_Rget_accumulate: datatype is not currently supported" );
489+ return OMPI_ERR_NOT_SUPPORTED ;
480490 }
481491 length *= origin_count ;
482492
@@ -547,10 +557,18 @@ ompi_osc_portals4_rget_accumulate(const void *origin_addr,
547557 origin_md_offset = (ptl_size_t ) origin_addr ;
548558
549559 ret = ompi_osc_portals4_get_dt (origin_dt , & ptl_dt );
550- if (OMPI_SUCCESS != ret ) return ret ;
560+ if (OMPI_SUCCESS != ret ) {
561+ opal_output (ompi_osc_base_framework .framework_output ,
562+ "MPI_Rget_accumulate: datatype is not currently supported" );
563+ return OMPI_ERR_NOT_SUPPORTED ;
564+ }
551565
552566 ret = ompi_osc_portals4_get_op (op , & ptl_op );
553- if (OMPI_SUCCESS != ret ) return ret ;
567+ if (OMPI_SUCCESS != ret ) {
568+ opal_output (ompi_osc_base_framework .framework_output ,
569+ "MPI_Rget_accumulate: operation is not currently supported" );
570+ return OMPI_ERR_NOT_SUPPORTED ;
571+ }
554572
555573 do {
556574 size_t msg_length = MIN (module -> fetch_atomic_max , length - sent );
@@ -760,10 +778,18 @@ ompi_osc_portals4_accumulate(const void *origin_addr,
760778 0 );
761779 } else {
762780 ret = ompi_osc_portals4_get_dt (origin_dt , & ptl_dt );
763- if (OMPI_SUCCESS != ret ) return ret ;
781+ if (OMPI_SUCCESS != ret ) {
782+ opal_output (ompi_osc_base_framework .framework_output ,
783+ "MPI_Accumulate: datatype is not currently supported" );
784+ return OMPI_ERR_NOT_SUPPORTED ;
785+ }
764786
765787 ret = ompi_osc_portals4_get_op (op , & ptl_op );
766- if (OMPI_SUCCESS != ret ) return ret ;
788+ if (OMPI_SUCCESS != ret ) {
789+ opal_output (ompi_osc_base_framework .framework_output ,
790+ "MPI_Accumulate: operation is not currently supported" );
791+ return OMPI_ERR_NOT_SUPPORTED ;
792+ }
767793
768794 ret = PtlAtomic (module -> md_h ,
769795 md_offset + sent ,
@@ -842,7 +868,9 @@ ompi_osc_portals4_get_accumulate(const void *origin_addr,
842868 }
843869 ret = ompi_osc_portals4_get_dt (origin_dt , & ptl_dt );
844870 if (OMPI_SUCCESS != ret ) {
845- return ret ;
871+ opal_output (ompi_osc_base_framework .framework_output ,
872+ "MPI_Get_accumulate: datatype is not currently supported" );
873+ return OMPI_ERR_NOT_SUPPORTED ;
846874 }
847875 length *= origin_count ;
848876
@@ -909,11 +937,18 @@ ompi_osc_portals4_get_accumulate(const void *origin_addr,
909937 origin_md_offset = (ptl_size_t ) origin_addr ;
910938
911939 ret = ompi_osc_portals4_get_dt (origin_dt , & ptl_dt );
912- if (OMPI_SUCCESS != ret ) return ret ;
940+ if (OMPI_SUCCESS != ret ) {
941+ opal_output (ompi_osc_base_framework .framework_output ,
942+ "MPI_Get_accumulate: datatype is not currently supported" );
943+ return OMPI_ERR_NOT_SUPPORTED ;
944+ }
913945
914946 ret = ompi_osc_portals4_get_op (op , & ptl_op );
915- if (OMPI_SUCCESS != ret ) return ret ;
916-
947+ if (OMPI_SUCCESS != ret ) {
948+ opal_output (ompi_osc_base_framework .framework_output ,
949+ "MPI_Get_accumulate: operation is not currently supported" );
950+ return OMPI_ERR_NOT_SUPPORTED ;
951+ }
917952
918953 do {
919954 size_t msg_length = MIN (module -> fetch_atomic_max , length - sent );
@@ -972,7 +1007,11 @@ ompi_osc_portals4_compare_and_swap(const void *origin_addr,
9721007 (unsigned long ) win ));
9731008
9741009 ret = ompi_osc_portals4_get_dt (dt , & ptl_dt );
975- if (OMPI_SUCCESS != ret ) return ret ;
1010+ if (OMPI_SUCCESS != ret ) {
1011+ opal_output (ompi_osc_base_framework .framework_output ,
1012+ "MPI_Compare_and_swap: datatype is not currently supported" );
1013+ return OMPI_ERR_NOT_SUPPORTED ;
1014+ }
9761015
9771016 offset = get_displacement (module , target ) * target_disp ;
9781017
@@ -1035,7 +1074,11 @@ ompi_osc_portals4_fetch_and_op(const void *origin_addr,
10351074 (unsigned long ) win ));
10361075
10371076 ret = ompi_osc_portals4_get_dt (dt , & ptl_dt );
1038- if (OMPI_SUCCESS != ret ) return ret ;
1077+ if (OMPI_SUCCESS != ret ) {
1078+ opal_output (ompi_osc_base_framework .framework_output ,
1079+ "MPI_Fetch_and_op: datatype is not currently supported" );
1080+ return OMPI_ERR_NOT_SUPPORTED ;
1081+ }
10391082
10401083 offset = get_displacement (module , target ) * target_disp ;
10411084
@@ -1083,7 +1126,11 @@ ompi_osc_portals4_fetch_and_op(const void *origin_addr,
10831126 ptl_size_t result_md_offset , origin_md_offset ;
10841127
10851128 ret = ompi_osc_portals4_get_op (op , & ptl_op );
1086- if (OMPI_SUCCESS != ret ) return ret ;
1129+ if (OMPI_SUCCESS != ret ) {
1130+ opal_output (ompi_osc_base_framework .framework_output ,
1131+ "MPI_Fetch_and_op: operation is not currently supported" );
1132+ return OMPI_ERR_NOT_SUPPORTED ;
1133+ }
10871134
10881135 result_md_offset = (ptl_size_t ) result_addr ;
10891136 origin_md_offset = (ptl_size_t ) origin_addr ;
0 commit comments