MPI_Fetch_and_op función
Realiza lectura-modificación-escritura atómica en un elemento de datos y devuelve el elemento de datos antes de la operación acumulada.
Sintaxis
int MPIAPI MPI_Fetch_and_op(
_In_ void *origin_addr,
_Out_ void *result_addr,
MPI_Datatype datatype,
int target_rank,
MPI_Aint target_disp,
MPI_Op op,
MPI_Win win
);
Parámetros
origin_addr [in]
dirección inicial del búferresult_addr [out]
dirección inicial del búfer de resultadosdatatype
tipo de datos de cada entrada en el origen, el resultado y el búfer de destinotarget_rank
rango de destinotarget_disp
desplazamiento desde el inicio de la ventana hasta el principio del búfer de destinoop
operación de reducciónwin
window (objeto)
Valor devuelto
Devuelve MPI_SUCCESS si se realiza correctamente. De lo contrario, el valor devuelto es un código de error.
En Fortran, el valor devuelto se almacena en el parámetro IERROR .
Fortran
MPI_FETCH_AND_OP(ORIGIN_ADDR, RESULT_ADDR, DATATYPE,
TARGET_RANK, TARGET_DISP, OP, WIN, IERROR)
<type> ORIGIN_ADDR(*), RESULT_ADDR(*)
INTEGER(KIND=MPI_ADDRESS_KIND) TARGET_DISP
INTEGER DATATYPE, TARGET_RANK, OP, WIN, IERROR
Comentarios
Acumula un elemento de tipo datatype desde el búfer de origen (origin_addr) al búfer en target_disp de desplazamiento, en la ventana de destino especificada por target_rank y win, usando la operación op y devolviendo en el búfer de resultados result_addr el contenido del búfer de destino antes de la acumulación.
Los búferes de origen y resultado (origin_addr y result_addr) deben estar separados. Cualquiera de las operaciones predefinidas para MPI_Reduce, así como MPI_NO_OP o MPI_REPLACE, se puede especificar como op; No se pueden usar funciones definidas por el usuario. El argumento datatype debe ser un tipo de datos predefinido. La operación se ejecuta de forma atómica.
Requisitos
Producto |
Paquete redistribuible DE HPC Pack 2012 MS-MPI, HPC Pack 2008 R2 MS-MPI Redistributable Package, HPC Pack 2008 MS-MPI Redistributable Package o HPC Pack 2008 Client Utilities |
Encabezado |
Mpi.h; Mpif.h |
Biblioteca |
Msmpi.lib |
Archivo DLL |
Msmpi.dll |