petsc-dev 2014-08-28
Report Typos and Errors

PetscThreadCommRunKernel2

PetscThreadCommRunKernel version for kernels with 2 input arguments

Synopsis

#include "petscthreadcomm.h" 
PetscErrorCode PetscThreadCommRunKernel2(MPI_Comm comm,PetscErrorCode (*func)(PetscInt,...),void *in1,void *in2)

Input Parameters

comm - the MPI communicator
func - the kernel (needs to be cast to PetscThreadKernel)
in1 - 1st input argument for the kernel
in2 - 2nd input argument for the kernel

Notes

All input arguments to the kernel must be passed by reference, Petsc objects are inherrently passed by reference so you don't need to additionally & them.

Example usage - PetscThreadCommRunKernel1(comm,(PetscThreadKernel)kernel_func,x); with kernel_func declared as PetscErrorCode kernel_func(PetscInt thread_id,PetscInt *x,PetscInt *y)

The first input argument of kernel_func, thread_id, is the thread rank. This is passed implicitly by PETSc.

See Also

PetscThreadCommCreate(), PetscThreadCommGNThreads()

Level:developer
Location:
src/sys/threadcomm/interface/threadcomm.c
Index of all PetscThreadComm routines
Table of Contents for all manual pages
Index of all manual pages