These files contain the OpenMP #pragmas and other routines. They are

included throughout other directories.
This commit is contained in:
dwalker 1999-06-15 23:56:19 +00:00
parent 0c7c200fca
commit 64c2d0cfbc
7 changed files with 89 additions and 2 deletions

View File

@ -19,6 +19,10 @@
#include "mpi.h"
#endif
#ifdef HYPRE_USING_OPENMP
#include <omp.h>
#endif
#ifdef __cplusplus
extern "C" {
#endif

View File

@ -41,6 +41,8 @@ install: all
clean:
@rm -f *.o
@rm -f *.prj
@rm -f *.kdd
veryclean: clean
@rm -f libHYPRE_*.a

View File

@ -0,0 +1,50 @@
/*BHEADER**********************************************************************
* (c) 1998 The Regents of the University of California
*
* See the file COPYRIGHT_and_DISCLAIMER for a complete copyright
* notice, contact person, and disclaimer.
*
* $Revision$
*********************************************************************EHEADER*/
/*****************************************************************************
* Wrapper code for SMP compiler directives. Translates
* hypre SMP directives into the appropriate Open MP,
* IBM, SGI, or pgcc (Red) SMP compiler directives.
****************************************************************************/
#ifndef HYPRE_SMP_PRIVATE
#define HYPRE_SMP_PRIVATE
#endif
#ifdef HYPRE_USING_OPENMP
#include "hypre_smp_setup.h"
#ifndef HYPRE_SMP_REDUCTION_OP
#pragma omp parallel for private(HYPRE_SMP_PRIVATE) schedule(static)
#endif
#ifdef HYPRE_SMP_REDUCTION_OP
#pragma omp parallel for private(HYPRE_SMP_PRIVATE) \
reduction(HYPRE_SMP_REDUCTION_OP: HYPRE_SMP_REDUCTION_VARS) \
schedule(static)
#endif
#endif
#ifdef HYPRE_USING_SGI_SMP
#pragma parallel
#pragma pfor
#pragma schedtype(gss)
#pragma chunksize(10)
#endif
#ifdef HYPRE_USING_IBM_SMP
#pragma parallel_loop
#pragma schedule (guided,10)
#endif
#ifdef HYPRE_USING_PGCC_SMP
#pragma parallel
#pragma pfor
#endif
#undef HYPRE_SMP_PRIVATE
#undef HYPRE_SMP_REDUCTION_OP
#undef HYPRE_SMP_REDUCTION_VARS

View File

@ -0,0 +1,23 @@
/*BHEADER**********************************************************************
* (c) 1998 The Regents of the University of California
*
* See the file COPYRIGHT_and_DISCLAIMER for a complete copyright
* notice, contact person, and disclaimer.
*
* $Revision$
*********************************************************************EHEADER*/
/*****************************************************************************
* Wrapper code for SMP compiler directives. Translates
* hypre SMP directives into the appropriate Open MP,
* IBM, SGI, or pgcc (Red) SMP compiler directives.
****************************************************************************/
#ifdef HYPRE_USING_OPENMP
omp_set_num_threads(4);
#endif
#ifdef HYPRE_USING_IBM_SMP
#endif

View File

@ -389,6 +389,12 @@ MPI_Type_commit( MPI_Datatype *datatype )
return(0);
}
int
MPI_LOR( MPI_Datatype *datatype )
{
return(0);
}
#else
/* this is used only to eliminate compiler warnings */

View File

@ -79,7 +79,8 @@ extern "C" {
#define MPI_Type_hvector hypre_MPI_Type_hvector
#define MPI_Type_struct hypre_MPI_Type_struct
#define MPI_Type_free hypre_MPI_Type_free
#define MPI_Type_commit hypre_MPI_Type_commit
#define MPI_Type_commit hypre_MPI_Type_commit
#define MPI_LOR hypre_MPI_LOR
/*--------------------------------------------------------------------------
* Types, etc.

View File

@ -122,7 +122,8 @@ extern "C" {
#define MPI_Type_hvector hypre_MPI_Type_hvector
#define MPI_Type_struct hypre_MPI_Type_struct
#define MPI_Type_free hypre_MPI_Type_free
#define MPI_Type_commit hypre_MPI_Type_commit
#define MPI_Type_commit hypre_MPI_Type_commit
#define MPI_LOR hypre_MPI_LOR
/*--------------------------------------------------------------------------
* Types, etc.