Hi All,

I have a PETSc application that need additional compiling flags to build Hybrid MPI-OpenMP parallel application on WestGrid Supercomputer (Canada) system.

The code and makefile work fine on my local machine for both Windows and Linux, but when compiled on WestGrid Orcinus System for the OpenMP version and Hybrid version, the OpenMP parallel part does not take effect while only MPI parallel part takes effect. There is no error while compiling the code. I am not sure if there is something wrong with the makefile or something other setting.

The compiler flags need to build Hybrid MPI-OpenMP version on WestGrid Orcinus is "-shared-intel -openmp -O2 -xSSSE3 -axSSE4.2,SSE4.1 -ip" . For the sequential version or MPI parallel version, these flags are not needed.

Would anybody help to check if the compiler flag (red) in the makefile is correct?

Thanks,

Danyang

The makefile is shown below

include ${PETSC_DIR}/conf/variables
include ${PETSC_DIR}/conf/rules

#FC = ifort
SRC =./../

# Additional flags that may be required by the compiler ...
# This is required for the OpenMP parallel version and Hybrid MPI-OpenMP parallel version
# not necessary for the sequential version and MPI version
DFCFLAG = -shared-intel -openmp -O2 -xSSSE3 -axSSE4.2,SSE4.1 -ip

#Flag for WestGrid Orcinus System
#Load PETSc module before make
#module load /global/system/Modules/modulefiles/intel-2011/petsc
FPPFLAGS = -DLINUX -DRELEASE -DPETSC -DMPI -DOPENMP

SOURCES = $(SRC)gas_advection/relpfsat_g.o\
        $(SRC)int_h_ovendry.o\
        $(SRC)dhconst.o\
        ...

min3p: $(SOURCES) chkopts
-${FLINKER} $(FPPFLAGS) $(DFCFLAG) -o ex $(SOURCES) ${PETSC_LIB} ${DLIB}

Reply via email to