From 2fd23c16e3738465dfed144d0a51002d2cf886dd Mon Sep 17 00:00:00 2001 From: "Kurt A. O'Hearn" <ohearnku@msu.edu> Date: Wed, 7 Sep 2016 11:26:37 -0700 Subject: [PATCH] Autotools: update OpenMP flags for Intel compilers. --- PG-PuReMD/Makefile.am | 2 + PuReMD-GPU/Makefile.am | 2 + PuReMD/Makefile.am | 2 + sPuReMD/Makefile.am | 2 + sPuReMD/aclocal.m4 | 89 +----------------------------------------- sPuReMD/configure.ac | 7 +++- 6 files changed, 15 insertions(+), 89 deletions(-) diff --git a/PG-PuReMD/Makefile.am b/PG-PuReMD/Makefile.am index 9c177cd8..3aa47517 100644 --- a/PG-PuReMD/Makefile.am +++ b/PG-PuReMD/Makefile.am @@ -1,3 +1,5 @@ +ACLOCAL_AMFLAGS = -I ../m4 + if USE_CUDA SUFFIXES = .cu include ../cuda.am diff --git a/PuReMD-GPU/Makefile.am b/PuReMD-GPU/Makefile.am index e2d60f76..d4332370 100644 --- a/PuReMD-GPU/Makefile.am +++ b/PuReMD-GPU/Makefile.am @@ -1,3 +1,5 @@ +ACLOCAL_AMFLAGS = -I ../m4 + SUFFIXES = .cu include ../cuda.am diff --git a/PuReMD/Makefile.am b/PuReMD/Makefile.am index 17643df1..809f3f0c 100644 --- a/PuReMD/Makefile.am +++ b/PuReMD/Makefile.am @@ -1,3 +1,5 @@ +ACLOCAL_AMFLAGS = -I ../m4 + AM_CFLAGS = -Wall -O3 -funroll-loops -fstrict-aliasing #-finline-functions -finline-limit=15 -qhot bin_PROGRAMS = bin/puremd diff --git a/sPuReMD/Makefile.am b/sPuReMD/Makefile.am index 84f237b0..e20fa4db 100644 --- a/sPuReMD/Makefile.am +++ b/sPuReMD/Makefile.am @@ -1,3 +1,5 @@ +ACLOCAL_AMFLAGS = -I ../m4 + bin_PROGRAMS = bin/spuremd bin_spuremd_SOURCES = src/ffield.c src/grid.c src/list.c src/lookup.c src/print_utils.c \ src/reset_utils.c src/restart.c src/random.c src/tool_box.c src/traj.c \ diff --git a/sPuReMD/aclocal.m4 b/sPuReMD/aclocal.m4 index be5a4fa3..f23d4faf 100644 --- a/sPuReMD/aclocal.m4 +++ b/sPuReMD/aclocal.m4 @@ -20,94 +20,6 @@ You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically 'autoreconf'.])]) -# =========================================================================== -# http://www.gnu.org/software/autoconf-archive/ax_compiler_vendor.html -# =========================================================================== -# -# SYNOPSIS -# -# AX_COMPILER_VENDOR -# -# DESCRIPTION -# -# Determine the vendor of the C/C++ compiler, e.g., gnu, intel, ibm, sun, -# hp, borland, comeau, dec, cray, kai, lcc, metrowerks, sgi, microsoft, -# watcom, etc. The vendor is returned in the cache variable -# $ax_cv_c_compiler_vendor for C and $ax_cv_cxx_compiler_vendor for C++. -# -# LICENSE -# -# Copyright (c) 2008 Steven G. Johnson <stevenj@alum.mit.edu> -# Copyright (c) 2008 Matteo Frigo -# -# This program is free software: you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by the -# Free Software Foundation, either version 3 of the License, or (at your -# option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General -# Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program. If not, see <http://www.gnu.org/licenses/>. -# -# As a special exception, the respective Autoconf Macro's copyright owner -# gives unlimited permission to copy, distribute and modify the configure -# scripts that are the output of Autoconf when processing the Macro. You -# need not follow the terms of the GNU General Public License when using -# or distributing such scripts, even though portions of the text of the -# Macro appear in them. The GNU General Public License (GPL) does govern -# all other use of the material that constitutes the Autoconf Macro. -# -# This special exception to the GPL applies to versions of the Autoconf -# Macro released by the Autoconf Archive. When you make and distribute a -# modified version of the Autoconf Macro, you may extend this special -# exception to the GPL to apply to your modified version as well. - -#serial 15 - -AC_DEFUN([AX_COMPILER_VENDOR], -[AC_CACHE_CHECK([for _AC_LANG compiler vendor], ax_cv_[]_AC_LANG_ABBREV[]_compiler_vendor, - dnl Please add if possible support to ax_compiler_version.m4 - [# note: don't check for gcc first since some other compilers define __GNUC__ - vendors="intel: __ICC,__ECC,__INTEL_COMPILER - ibm: __xlc__,__xlC__,__IBMC__,__IBMCPP__ - pathscale: __PATHCC__,__PATHSCALE__ - clang: __clang__ - cray: _CRAYC - fujitsu: __FUJITSU - gnu: __GNUC__ - sun: __SUNPRO_C,__SUNPRO_CC - hp: __HP_cc,__HP_aCC - dec: __DECC,__DECCXX,__DECC_VER,__DECCXX_VER - borland: __BORLANDC__,__CODEGEARC__,__TURBOC__ - comeau: __COMO__ - kai: __KCC - lcc: __LCC__ - sgi: __sgi,sgi - microsoft: _MSC_VER - metrowerks: __MWERKS__ - watcom: __WATCOMC__ - portland: __PGI - tcc: __TINYC__ - unknown: UNKNOWN" - for ventest in $vendors; do - case $ventest in - *:) vendor=$ventest; continue ;; - *) vencpp="defined("`echo $ventest | sed 's/,/) || defined(/g'`")" ;; - esac - AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[ - #if !($vencpp) - thisisanerror; - #endif - ])], [break]) - done - ax_cv_[]_AC_LANG_ABBREV[]_compiler_vendor=`echo $vendor | cut -d: -f1` - ]) -]) - # Copyright (C) 2002-2014 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation @@ -1238,3 +1150,4 @@ AC_SUBST([am__tar]) AC_SUBST([am__untar]) ]) # _AM_PROG_TAR +m4_include([../m4/ax_compiler_vendor.m4]) diff --git a/sPuReMD/configure.ac b/sPuReMD/configure.ac index f2cd0b82..2f0f7626 100644 --- a/sPuReMD/configure.ac +++ b/sPuReMD/configure.ac @@ -50,7 +50,7 @@ if test "x$ax_cv_c_compiler_vendor" = "xgnu"; then CFLAGS="$CFLAGS -Wall -O3 -funroll-loops -fstrict-aliasing" fi if test "x$ax_cv_c_compiler_vendor" = "xintel"; then - CFLAGS="$CFLAGS -fast -Mipa=fast,inline" + CFLAGS="$CFLAGS -fast" fi # Check for OpenMP support. @@ -63,7 +63,12 @@ if test "x$BUILD_OPENMP" = "xyes"; then Building a single-threaded version. -----------------------------------------------]) else + # bug due to recent Intel compiler change (?) + if test "x$ax_cv_c_compiler_vendor" = "xintel"; then + OPENMP_CFLAGS="-qopenmp" + fi AC_SUBST(AM_CFLAGS, "$OPENMP_CFLAGS") + AC_SUBST(AM_CPPFLAGS, "$OPENMP_CFLAGS") fi fi -- GitLab