- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi, James,
I am trying to use a makefile to generate a hybrid MPI/OpenMP application imex.exe. But I failed to do it and please see the following linking results:
U:\\imex\\bin\\opt64_hybridMPIOpenMP>clearmake -k -V imex.exe
insert_string.exe -d -v -c -f \\imex\\imex.lib\\simver.f > simver.f
ifort.exe /Qauto /cm /nologo /w /MT /Qfpp /DIFL_IA32 /DWIN_X64 /Qopenmp -c simver.f
dir imex.exe > imex.exe && del /f imex.exe && ifort.exe /Qauto /cm /nologo /w /MT /Qopenmp /4Yportlib *.obj mkl_intel_lp64.lib mkl_intel_thread.lib mkl_core.lib Wsock32.lib User32.lib shell
32.lib Advapi32.lib Gdi32.lib libsecure.lib rlmclient.lib binarrayfile.lib /link /LARGEADDRESSAWARE /incremental:no /STACK:4000000 /out:imex.exe && mt.exe -manifest ReqExecLevelInvoker.manifest
-outputresource:imex.exe;1 && echo 'Done.'
Creating library imex.lib and object imex.exp
imex.obj : error LNK2019: unresolved external symbol MPI_INIT_THREAD referenced in function TMLOOP
imex.obj : error LNK2019: unresolved external symbol MPI_COMM_RANK referenced in function TMLOOP
imex.obj : error LNK2019: unresolved external symbol MPI_COMM_SIZE referenced in function TMLOOP
imex.obj : error LNK2019: unresolved external symbol MPI_FINALIZE referenced in function TMLOOP
imex.exe : fatal error LNK1120: 4 unresolved externals
*** Error code 1120
clearmake: Error: Build script failed for "imex.exe"
by the way, please see the envoirment variable settings attached below. I guess I have set intel MPI include and library ready.
Could you tell me how this happened? Thanks indeed in advance.
Dingjun
/********** Envorimental variable settings on my computer ***********/
ALLUSERSPROFILE=C:\\ProgramData
APPDATA=C:\\Users\\dingjun\\AppData\\Roaming
ARCH_PATH=intel64
ARCH_PATH_MPI=em64t
BIN_ROOT=C:\\Program Files (x86)\\Intel\\ComposerXE-2011\\bin\\
BUNDLE_NAME=Intel® Parallel Studio XE 2011 Update 1
CCASE_IP_VERSION=4
CCP_HOME=C:\\Program Files\\Microsoft Compute Cluster Pack\\
CMG_HOME=C:\\Program Files (x86)\\CMG
CMG_LIC_HOST=rlmserv
CommandPromptType=Native
CommonProgramFiles=C:\\Program Files\\Common Files
CommonProgramFiles(x86)=C:\\Program Files (x86)\\Common Files
CommonProgramW6432=C:\\Program Files\\Common Files
COMPUTERNAME=DINGJUNC
ComSpec=C:\\Windows\\system32\\cmd.exe
CPRO_PATH=C:\\Program Files (x86)\\Intel\\ComposerXE-2011
CPU=i386
C_EM64T_REDIST12=C:\\Program Files (x86)\\Common Files\\Intel\\Shared Libraries\\
C_IA32_REDIST12=C:\\Program Files (x86)\\Common Files\\Intel\\Shared Libraries\\
C_TARGET_ARCH=intel64
DEFLOGDIR=C:\\ProgramData\\McAfee\\DesktopProtection
envsdk_regkey=9.0
FP_NO_HOST_CHECK=NO
Framework35Version=v3.5
FrameworkDir=C:\\Windows\\Microsoft.NET\\Framework64
FrameworkDIR64=C:\\Windows\\Microsoft.NET\\Framework64
FrameworkVersion=v4.0.30319
FrameworkVersion64=v4.0.30319
FSHARPINSTALLDIR=C:\\Program Files (x86)\\Microsoft F#\\v4.0\\
F_EM64T_REDIST12=C:\\Program Files (x86)\\Common Files\\Intel\\Shared Libraries\\
F_IA32_REDIST12=C:\\Program Files (x86)\\Common Files\\Intel\\Shared Libraries\\
HOMEDRIVE=C:
HOMEPATH=\\Users\\dingjun
ICPP_COMPILER12=C:\\Program Files (x86)\\Intel\\Composer XE 2011 SP1\\
IFORT_COMPILER12=C:\\Program Files (x86)\\Intel\\Composer XE 2011 SP1\\
IMPI_BIN=C:\\Program Files (x86)\\Intel\\MPI\\4.0.3.009\\\\em64t\\bin;
INCLUDE=C:\\Program Files (x86)\\Intel\\ComposerXE-2011\\compiler\\include;C:\\Program Files (x86)\\Intel\\ComposerXE-2011\\compiler\\include\\intel64;C:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\INCLUDE;C:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\ATLMFC\\INCLUDE;C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v7.0A\\include;C:\\Program Files (x86)\\Intel\\ComposerXE-2011\\ipp\\include;C:\\Program Files (x86)\\Intel\\ComposerXE-2011\\mkl\\include;C:\\Program Files (x86)\\Intel\\ComposerXE-2011\\tbb\\bin\\..\\include;C:\\Program Files\\Microsoft Visual Studio\\DF98\\IMSL\\INCLUDE;C:\\Program Files\\Microsoft Visual Studio\\DF98\\INCLUDE;C:\\Program Files\\Microsoft Visual Studio\\VC98\\INCLUDE;C:\\Program Files (x86)\\Microsoft Visual Studio 9.0\\VC\\include;C:\\Program Files (x86)\\Microsoft Visual Studio 9.0\\VC\\atlmfc\\include;C:\\Program Files (x86)\\Intel\\MPI\\4.0.3.009\\em64t\\include;C:\\Program Files\\MPICH2\\include
INSPECTOR_XE_2011_DIR=C:\\Program Files (x86)\\Intel\\Inspector XE 2011\\
INTEL_LICENSE_FILE=C:\\Program Files (x86)\\Common Files\\Intel\\Licenses
IPPROOT=C:\\Program Files (x86)\\Intel\\ComposerXE-2011\\ipp
IPP_TARGET_ARCH=intel64
I_MPI_ROOT=C:\\Program Files (x86)\\Intel\\MPI\\4.0.3.009\\
KMP_AFFINITY=compact,1
LIB=C:\\Program Files (x86)\\Intel\\ComposerXE-2011\\compiler\\lib;C:\\Program Files (x86)\\Intel\\ComposerXE-2011\\compiler\\lib\\intel64;C:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\LIB\\amd64;C:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\ATLMFC\\LIB\\amd64;C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v7.0A\\lib\\x64;C:\\Program Files (x86)\\Intel\\ComposerXE-2011\\ipp\\lib\\intel64;C:\\Program Files (x86)\\Intel\\ComposerXE-2011\\ipp\\..\\compiler\\lib\\intel64;C:\\Program Files (x86)\\Intel\\ComposerXE-2011\\mkl\\lib\\intel64;C:\\Program Files (x86)\\Intel\\ComposerXE-2011\\compiler\\lib\\intel64;C:\\Program Files (x86)\\Intel\\ComposerXE-2011\\tbb\\bin\\..\\lib\\intel64\\vc10;C:\\Program Files\\Microsoft Visual Studio\\DF98\\IMSL\\LIB;C:\\Program Files\\Microsoft Visual Studio\\DF98\\LIB;C:\\Program Files\\Microsoft Visual Studio\\VC98\\LIB;C:\\Program Files (x86)\\Microsoft Visual Studio 9.0\\VC\\lib\\amd64;C:\\Program Files (x86)\\Intel\\MPI\\4.0.3.009\\em64t\\lib;C:\\Program Files\\MPICH2\\lib
LIBMPI=C:\\Program Files (x86)\\Intel\\MPI\\4.0.3.009\\em64t\\lib
LIBPATH=C:\\Windows\\Microsoft.NET\\Framework64\\v4.0.30319;C:\\Windows\\Microsoft.NET\\Framework64\\v3.5;C:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\LIB\\amd64;C:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\ATLMFC\\LIB\\amd64;
LINK_F90=imsl.lib imsls_err.lib imslmpistub.lib impimt.lib
LOCALAPPDATA=C:\\Users\\dingjun\\AppData\\Local
LOGONSERVER=\\\\NTSVR1
MKLROOT=C:\\Program Files (x86)\\Intel\\ComposerXE-2011\\mkl
MKL_LP64_ILP64=lp64
MKL_TARGET_ARCH=intel64
MOD_NAME=mod
MPICHHOME=C:\\Program Files\\MPICH2
MSVS_VAR_SCRIPT="C:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\Common7\\Tools\\..\\..\\VC\\vcvarsall.bat"
NUMBER_OF_PROCESSORS=12
OMP_SCHEDULE=static,1
OS=Windows_NT
Path=C:\\Program Files (x86)\\Intel\\MPI\\4.0.3.009\\\\em64t\\bin;C:\\Program Files (x86)\\Intel\\ComposerXE-2011\\bin\\intel64;C:\\Program Files (x86)\\Intel\\ComposerXE-2011\\redist\\intel64\\compiler;C:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\BIN\\amd64;C:\\Windows\\Microsoft.NET\\Framework64\\v4.0.30319;C:\\Windows\\Microsoft.NET\\Framework64\\v3.5;C:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\VCPackages;C:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\Common7\\IDE;C:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\Common7\\Tools;C:\\Program Files (x86)\\HTML Help Workshop;C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v7.0A\\bin\\NETFX 4.0 Tools\\x64;C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v7.0A\\bin\\x64;C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v7.0A\\bin;C:\\Program Files (x86)\\Intel\\ComposerXE-2011\\ipp\\..\\redist\\intel64\\ipp;C:\\Program Files (x86)\\Intel\\ComposerXE-2011\\ipp\\..\\redist\\intel64\\compiler;C:\\Program Files (x86)\\Intel\\ComposerXE-2011\\redist\\intel64\\mkl;C:\\Program Files (x86)\\Intel\\ComposerXE-2011\\redist\\intel64\\compiler;C:\\Program Files (x86)\\Intel\\ComposerXE-2011\\tbb\\bin\\..\\..\\redist\\intel64\\tbb\\vc10;C:\\Program Files (x86)\\Intel\\MPI\\4.0.3.009\\em64t\\bin;C:\\Program Files (x86)\\Intel\\MPI\\4.0.3.009\\ia32\\bin;C:\\Program Files (x86)\\CMG\\LAUNCHER\\2011.20\\Win32\\exe;C:\\Program Files\\MPICH2\\bin;C:\\Program Files (x86)\\Intel\\Composer XE 2011 SP1\\redist\\ia32\\tbb\\vc10;C:\\Program Files (x86)\\Intel\\Composer XE 2011 SP1\\redist\\intel64\\tbb\\vc10;C:\\Program Files (x86)\\Intel\\Composer XE 2011 SP1\\redist\\intel64\\ipp;C:\\Program Files (x86)\\Intel\\Composer XE 2011 SP1\\redist\\ia32\\ipp;C:\\Program Files (x86)\\Intel\\Composer XE 2011 SP1\\redist\\intel64\\mkl;C:\\Program Files (x86)\\Intel\\Composer XE 2011 SP1\\redist\\ia32\\mkl;C:\\Program Files (x86)\\Common Files\\Intel\\Shared Libraries\\redist\\intel64\\mpirt;C:\\Program Files (x86)\\Common Files\\Intel\\Shared Libraries\\redist\\intel64\\compiler;C:\\Program Files (x86)\\Common Files\\Intel\\Shared Libraries\\redist\\ia32\\mpirt;C:\\Program Files (x86)\\Common Files\\Intel\\Shared Libraries\\redist\\ia32\\compiler;C:\\Program Files (x86)\\Common Files\\Intel\\Shared Libraries\\redist\\intel64\\compiler;C:\\Program Files (x86)\\Common Files\\Intel\\Shared Libraries\\redist\\ia32\\compiler; C:\\Program Files (x86)\\CMG\\LAUNCHER\\2011.01\\Win32\\exe;C:\\Program Files (x86)\\CMG\\LAUNCHER\\2009.13\\Win32\\exe;C:\\Windows\\system32;C:\\Windows;C:\\Windows\\System32\\Wbem;C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\;C:\\Program Files (x86)\\Microsoft SQL Server\\90\\Tools\\binn\\;C:\\Program Files (x86)\\IBM\\RationalSDLC\\ClearCase\\bin;C:\\Program Files (x86)\\IBM\\RationalSDLC\\common;c:\\program files (x86)\\winxs32\\bin;c:\\pfe;c:\\windiff;C:\\Program Files (x86)\\Common Files\\Roxio Shared\\DLLShared\\;C:\\Program Files (x86)\\Common Files\\Roxio Shared\\10.0\\DLLShared\\;C:\\Program Files\\Microsoft Compute Cluster Pack\\Bin\\;D:\\tools;D:\\tools\\dist;C:\\Program Files (x86)\\Intel\\Compiler\\11.1\\051\\bin\\intel64;C:\\Program Files (x86)\\Microsoft Visual Studio 9.0\\VC\\bin;C:\\Program Files (x86)\\Microsoft Visual Studio 9.0\\VC\\bin\\amd64;C:\\Program Files (x86)\\Intel\\ComposerXE-2011\\redist\\intel64\\mpirt;
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
Platform=X64
PROCESSOR_ARCHITECTURE=AMD64
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 44 Stepping 2, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=2c02
PRODUCT_NAME=Intel® Composer XE 2011
PRODUCT_NAME_FULL=Intel® Composer XE 2011 Update 3 (package 175)
ProgramData=C:\\ProgramData
ProgramFiles=C:\\Program Files
ProgramFiles(x86)=C:\\Program Files (x86)
ProgramW6432=C:\\Program Files
PROMPT=$P$G
PSModulePath=C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\Modules\\
PUBLIC=C:\\Users\\Public
RATIONAL_ICU4J_DIR=C:\\Program Files (x86)\\IBM\\RationalSDLC\\common\\java\\icu
RATIONAL_ICU4J_VERSION=3_8_1
REDIST=C:\\Program Files (x86)\\Intel\\ComposerXE-2011\\redist
ROOT=C:\\Program Files (x86)\\Intel\\ComposerXE-2011
RoxioCentral=C:\\Program Files (x86)\\Common Files\\Roxio Shared\\10.0\\Roxio Central36\\
SCRIPT_NAME=compilervars_arch.bat
SESSIONNAME=Console
SystemDrive=C:
SystemRoot=C:\\Windows
TARGET_ARCH=intel64
TARGET_VS=vs2010
TARGET_VS_ARCH=amd64
TBB30_BIN_DIR=C:\\Program Files (x86)\\Intel\\ComposerXE-2011\\tbb\\bin\\
TBB30_INSTALL_DIR=C:\\Program Files (x86)\\Intel\\ComposerXE-2011\\tbb\\bin\\..
TBB_ARCH_PLATFORM=intel64\\vc10
TBB_CXX=icl.exe
TBB_TARGET_ARCH=intel64
TBB_TARGET_VS=vc10
TEMP=C:\\Users\\dingjun\\AppData\\Local\\Temp
TMP=C:\\Users\\dingjun\\AppData\\Local\\Temp
USERDNSDOMAIN=CGY.CMGL.CA
USERDOMAIN=CMGL
USERNAME=dingjun
USERPROFILE=C:\\Users\\dingjun
VCINSTALLDIR=C:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\
VNI_F90_MSG=C:\\Program Files\\Microsoft Visual Studio\\DF98\\IMSL\\MESSAGE
VS100COMNTOOLS=C:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\Common7\\Tools\\
VSEDEFLOGDIR=C:\\ProgramData\\McAfee\\DesktopProtection
VSINSTALLDIR=C:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\
VTUNE_AMPLIFIER_XE_2011_DIR=C:\\Program Files (x86)\\Intel\\VTune Amplifier XE 2011\\
windir=C:\\Windows
WindowsSdkDir=C:\\Program Files (x86)\\Microsoft SDKs\\Windows\\v7.0A\\
WIN_TITLE=Intel® Composer XE 2011 Intel® 64 Visual Studio 2010
WIN_TITLE_ARCH=Intel® 64
WIN_TITLE_VS=Visual Studio 2010
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Please try adding impimt.lib to your link line.
Sincerely,
James Tullos
Technical Consulting Engineer
Intel® Cluster Tools
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi again, James,
I have tried to do it and failed. I have attached below my makefile. Could you see it and tell me where to add it?
Thanks indeed.
Dingjun
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The file did not attach, please try again. Or if you want to email it directly to me, that will work as well.
Sincerely,
James Tullos
Technical Consulting Engineer
Intel® Cluster Tools
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Did you see the makefile in my folder? If not, please let me know your email address and I will directly send it to your email box.
Thanks.
Dingjun
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I cannot see your file folders. Please use the email address on my profile, james.a.tullos@intel.com, or see http://redfort-software.intel.com/en-us/articles/how-to-attach-file-insert-code-into-forum-post/ to attach the file to a post.
Sincerely,
James Tullos
Technical Consulting Engineer
Intel® Cluster Tools
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have already sent it to your email box.
dingjun
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I believe that the best place to add it would be in the LIBS variable.
Sincerely,
James Tullos
Technical Consulting Engineer
Intel® Cluster Tools
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi, James,
I have tried and the following is shown:
insert_string.exe -d -v -c -f \imex\imex.lib\simver.f > simver.f
ifort.exe /Qauto /cm /nologo /w /MT /Qfpp /DIFL_IA32 /DWIN_X64 /Qopenmp -c simver.f
clearmake: Error: Don't know how to make "impimt.lib". Stop.
How to do next?
Dingjun
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Is LIBS being set somewhere other than in the makefile? What is insert_string?
Sincerely,
James Tullos
Technical Consulting Engineer
Intel® Cluster Tools
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
LIBS is defined as follows:
LIBS = mkl_intel_lp64.lib mkl_intel_thread.lib mkl_core.lib Wsock32.lib User32.lib shell32.lib Advapi32.lib Gdi32.lib
Insert_string is one of tools developed by us and it is also a .exe file.
Dingjun
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Please see the followng and compiler used is define in this file.
#-- BOS (Build Options Specification) for: PC/NT
# ---------------------------------------------
#-- Things that don't change
#LIBS =
LIBS = mkl_intel_lp64.lib impimt.lib mkl_intel_thread.lib mkl_core.lib Wsock32.lib User32.lib shell32.lib Advapi32.lib Gdi32.lib
#LIBS = mkl_intel_lp64.lib mkl_sequential.lib mkl_core.lib Wsock32.lib User32.lib shell32.lib Advapi32.lib Gdi32.lib
PLATFORM = win_x64
FORTTARG = F90
# pc native build - for the pc link flags must follow /link
# /incremental:no forces a complete relink
# /out: is the same as the unix -o
# link related compiler flags are inserted
# using LINK_FLAGS
# the default type is a .exe hence /dll
# needs to be used for fgmx.dll
# with /dll, the default libraries are
# multi-threaded, hence use /libs:static
LCCC = icl
CC = icl
FC = ifort.exe
LD = ifort.exe
FCA = ifort.exe
LINK_OUT = /link /incremental:no /out:
D = \$N
O = obj
COPY = copy
DELETE = del /f
SED = d:\tools\sed.exe
MOVE = move
SHELL =
EOC = &&
# setup large ints to be 4 or 8 bytes
LARGE_INT_MOD_SRC = large_int8_mod.f
LICENSE_LIB = libsecure.lib
REPR_LIB = rlmclient.lib
OPENMP_DLL = libiomp5md.dll
BINREADER_LIB = binarrayfile.lib
BINREADER_DLL = binarrayfile.dll
SR2_C_OBJS = byteordr.obj xdr.obj xdrarray.obj xdrfloat.obj xdrint.obj xdrrefer.obj xdrstdio.obj
BINARY_MX_OBJS_LNK = *.obj
F90_DEPENDENCY_LNK =
insert_string.exe mod_to_aloc.exe compver_gen.exe
:= LINK_FLAGS = /4Yportlib
insert_string.exe mod_to_aloc.exe compver_gen.exe
:= LINK_OUT = /link /incremental:no /out:
#-- Code Preprocessor Directives
# ----------------------------
#-- To add another pre-processor, define its macro similar to
# existing ones and add it to the list defining PP.
#initialize pre-processors
PP_CVF =
PP_DD =
PP_F95 =
PP_OPENMP_VER =
PP_PN =
PP_WIN32 =
PP_IFL_IA32 =
PP_WIN_X64 =
PP_NO_BINARRAY =
PP_NO_SECURE =
PP_NO_XDR =
PP_RPREC =
###-- Enable Platform Specific Code
# pc
# imex
callsc.f callsc.obj
imex.f imex.obj
imexx.f imexx.obj
inio.f inio.obj
innum.f innum.obj
qquit.f qquit.obj
resolve_link.f resolve_link.obj
cmgfile_mod.f cmgfile_mod.obj
cmgtar.f cmgtar.obj
datime.f datime.obj
getclk.f getclk.obj
header.f header.obj
rdline.f rdline.obj
sigcl1.f sigcl1.obj
sigft1.f sigft1.obj
siggst.f siggst.obj
jdump.f jdump.obj
solver.f solver.obj
parasol.f parasol.obj
srskip.f srskip.obj
srwpar.f srwpar.obj
insert_string.exe
mod_to_aloc.exe
:= PP_WIN32 = $N /DWIN32
# simver.obj just add's Win x64 as part of header
# callsc.obj has secure.inc in it
callsc.f callsc.obj
indynm.f indynm.obj
innum.f innum.obj
rdline.f rdline.obj
simver.f simver.obj
:= PP_WIN_X64 = $N /DWIN_X64
# intel ia32 fortran
callsc.f callsc.obj
cmgfile_mod.f cmgfile_mod.obj
cmg_sleep.f cmg_sleep.obj
cmgtar.f cmgtar.obj
getclk.f getclk.obj
getcpu.f getcpu.obj
gethost.f gethost.obj
imex.f imex.obj
procstat.f procstat.obj
qquit.f qquit.obj
rdline.f rdline.obj
sigcl1.f sigcl1.obj
sigft1.f sigft1.obj
siggst.f siggst.obj
simver.f simver.obj
srskip.f srskip.obj
srwpar.f srwpar.obj
insert_string.exe
mod_to_aloc.exe
:= PP_IFL_IA32 = $N /DIFL_IA32
#debug coupled version
#imex.obj
# := PP_DD = $N /DDD
## openmp enabled version (special omp system calls)
indynm.f indynm.obj
innum.f innum.obj
preprp.f preprp.obj
genlup.f genlup.obj
:= PP_OPENMP_VER = $N /DOPENMP_VER
# /Qtcheck required in addition to /Qopenmp for thread checker plus,
# for intermittent problem with system call omp_get_num_procs
# add /DOPENMP_TCHECK to above (required by innum)
OMP_FLAGS = /Qopenmp
#OMP_FLAGS =
# disable security for ia32 tests
#callsc.obj
#rdline.obj
# := PP_NO_SECURE = $N /DNO_SECURE
## disable xdr for tests
#inio.obj
#iniord.obj
# := PP_NO_XDR = $N /DNO_XDR
# to disable MKL if you do not have MKL installed - MKL is used for
# some diagnostics related to the block diagonal matrices in the
# Jacobian
#innum.obj
#jdump.obj
# := PP_NO_MKL = $N /DNO_MKL
# new fortran (VF6.1) appears to allow F95 version for all win32 os's
# F95 standard call reports cpu time rather than elapsed time
# tested on US win95a,b, win98.1, nt4/sp4;CH win98, SP win98
getcpu.f getcpu.obj
:= PP_F95 = $N /DF95
## try real(16) for gmres dot products and key jbuild ops
## stab.obj - stab probably not needed
#avmulp.obj gmresp.obj jbuild.obj solver.obj
# := PP_RPREC = $N /DREAL_16
# allow register use for full gmresp dot products (old default for 2002.10)
# use REAL_* for Intel fortran 8.1.019 - otherwise get wrong answers
# disable this for Intel Fortran 9.1.029 - no longer required
#avmulp.obj gmresp.obj
# := PP_RPREC = $N /DREAL_8
#-- Accumulate all PP pre-processing directives
PP_1 = $(PP_CVF)$(PP_DD)$(PP_F95)$(PP_IFL_IA32)$(PP_OPENMP_VER)$(PP_WIN32)$(PP_NO_SECURE)
PP_2 = $(PP_NO_XDR)$(PP_NO_BINARRAY)$(PP_RPREC)$(PP_NO_MKL)$(PP_WIN_X64)
PP = $(PP_1)$(PP_2)
# default to preprocessing .f files instead of copying them
COPY_PREPRO = fpp /P$(PP)
#-- Compile Options
# /cm - disables comment reporting /CV causes problems if a scalar
# rather than an array
# /Ap64 - enable 64 bit pointers
PLATFORM_FLAGS = /Qauto /cm /nologo /w /MT
RELEASE_FLAGS = $(PLATFORM_FLAGS)
# for development/release toggle the two lines below plus toggle FFLAGS_XTRA
# blank for release and non-blank for debug
# /CB is allowed for Intel Fortran 8.0 - not for 7.1
# for 9.1 compiler: /check:uninit or /RTCu checks for unitialized variables at runtime - does not work with parallel so disable /Qopenmp and OPENMP_VER
# /check:bounds checks for subrange errors
# /Zi - supports parallel debugging
# /traceback required for traceback
# Thread checker does not support optimization (use /Od), thread profiler does support
# optimization, use /O2
# to set environment variables, run appropriate Intel compiler bat's followed by thcheckvars.bat "32e"
# for thread checker, tprofilevars.bat "32e" for thread profiler
# "32e" is required for x64 version, default is 32bit version
# If you want to pass these settings to Visual Studio, follow this from the same dos shell
# with devenv /useenv
# use /Zi /O2 with otherwise normal OpenMP version for Intel Performance Tuning Utility (PTU)
# also need to build outside of clearcase
# FFLAGS_XTRA = /Zi /O2
# FFLAGS_XTRA = /Zi /Od
# FFLAGS_XTRA = /Zi /check:bounds /check:uninit /traceback
# FFLAGS_XTRA = /Zi /C /check:noarg_temp_created /Qvc10 /traceback /fpe:0
FFLAGS_XTRA =
CFLAGS = /nologo /MT /w /W0 /GX /O2 /I"$(VIEW)\shared\sr2.lib" /D"WIN64" /D"NDEBUG" /D"_WINDOWS" /D"_Windows" /D"PC" /D"IFL_IA32" /D"_PTRDIFF_T" /D"_SIZE_T_DEFINED" /D"_SIZE_T"
FFLAGS = $(PLATFORM_FLAGS) $(FFLAGS_XTRA) /Qfpp $(PP) $(OMP_FLAGS)
insert_string.exe:= FFLAGS = $(PLATFORM_FLAGS) /4Yportlib /Qfpp $(PP)
mod_to_aloc.exe := FFLAGS = $(PLATFORM_FLAGS) /4Yportlib /Qfpp $(PP)
# Intel fortran 8.0.038 - stack overflow -fixed by moving local arrays from wmlypn to wmcom1_mod (was /STACK:2000000)
# /fixed:no required for Vtune, Thread Checker, Thread Profiler
# increases stack size required for Intel fortran 8.1.019 - default worked fine for 8.0.038
# if do not increase stack size for 8.1.019, then remote .bat (tpl) runs to Win2K AS has large number of
# runs ending in segmentation faults
# debug requires /EXPECTEDOUTPUTSIZE:100000000
# /Qopenmp_profile required instead of /Qopenmp for thread profiler
imex.exe := LINK_FLAGS = $(PLATFORM_FLAGS) $(FFLAGS_XTRA) $(OMP_FLAGS) /4Yportlib
#imex.exe := LINK_FLAGS = $(PLATFORM_FLAGS) $(FFLAGS_XTRA) /Qopenmp_profile /4Yportlib
imex.exe := LINK_OUT = /link /LARGEADDRESSAWARE /incremental:no /STACK:4000000 /out:
#imex.exe := LINK_OUT = /link /LARGEADDRESSAWARE /fixed:no /EXPECTEDOUTPUTSIZE:100000000 /STACK:4000000 /incremental:no /out:
# Workaround for Fortran/C++ 10.1.021 / 11.0.066 (windows) compiler problem
xdrint.obj
:= CFLAGS = /nologo /MT /w /W0 /GX /Zi /O1 /I"$(VIEW)\shared\sr2.lib" /D"WIN64" /D"NDEBUG" /D"_WINDOWS" /D"_Windows" /D"PC" /D"IFL_IA32" /D"_PTRDIFF_T" /D"_SIZE_T_DEFINED" /D"_SIZE_T"
#-- Portability library routines
getcpu.obj sigcl1.obj srskip.obj srwpar.obj
:= FFLAGS = $(PLATFORM_FLAGS) $(FFLAGS_XTRA) /4Yportlib /Qfpp $(PP) $(OMP_FLAGS)
#-- Turn off vectorization for selected routines
gmresp.obj solver.obj tsio.obj
:= FFLAGS = $(PLATFORM_FLAGS) $(FFLAGS_XTRA) /Qfpp $(PP) $(OMP_FLAGS) /Qvec-
************ end ***************
Please advise me how to update above compiler options. Thanks again.
Dingjun
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you so much! I have added impimt.lib in the following LIBS and succeed to pass linking.
LIBS = mkl_intel_lp64.lib mkl_intel_thread.lib impimt.lib mkl_core.lib Wsock32.lib User32.lib shell32.lib Advapi32.lib Gdi32.lib
Have a good day
Dingjun
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Add impimt.lib to the LIBS variable in this file.
Sincerely,
James Tullos
Technical Consulting Engineer
Intel® Cluster Tools
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Good, I'm glad to hear it working now.
Sincerely,
James Tullos
Technical Consulting Engineer
Intel® Cluster Tools

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page