- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello!
Can someone help me get past this error please...
I get the following error while generating my executable:
ifort: error #10104: unable to open '--start-group'
I'm trying to run FGMRES sequentially on multiple nodes of a cluster using MPI. If I compile using ifort I get no problems, but if I use mpif90 I get the above error. The command I'm using is:
mpif90 -xHost -g -traceback -debug all -check all -implicitnone -fp-stack-check -heap-arrays -ftrapuv -check pointers -check bounds -I/INTEL/mkl/include -fpp source1.f90 source2.f -L"/INTEL/mkl/lib/em64t" "/INTEL/mkl/lib/em64t"/libmkl_lapack95_lp64.a "/INTEL/mkl/lib/em64t"/libmkl_solver_lp64_sequential.a "/INTEL/mkl/lib/em64t"/libmkl_intel_lp64.a -Wl,--start-group "/INTEL/mkl/lib/em64t"/libmkl_sequential.a "/INTEL/mkl/lib/em64t"/libmkl_core.a -Wl,--end-group -lpthread -lm -o executable
Is it not possible to invoke FGMRES or any other MKL routine in an MPI environment?
Many Thanks!
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello,
If the compiling script cannot know "-Wl,--start-group", you can repeat the MKL library for 3 times to resolve the cross references between the MKL libraries:
For example, you can change:
"/INTEL/mkl/lib/em64t"/libmkl_intel_lp64.a -Wl,--start-group "/INTEL/mkl/lib/em64t"/libmkl_sequential.a "/INTEL/mkl/lib/em64t"/libmkl_core.a -Wl,--end-group
to:
/INTEL/mkl/lib/em64t"/libmkl_intel_lp64.a "/INTEL/mkl/lib/em64t"/libmkl_sequential.a "/INTEL/mkl/lib/em64t"/libmkl_core.a /INTEL/mkl/lib/em64t"/libmkl_intel_lp64.a "/INTEL/mkl/lib/em64t"/libmkl_sequential.a "/INTEL/mkl/lib/em64t"/libmkl_core.a /INTEL/mkl/lib/em64t"/libmkl_intel_lp64.a "/INTEL/mkl/lib/em64t"/libmkl_sequential.a "/INTEL/mkl/lib/em64t"/libmkl_core.a
Thanks,
Chao
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Chao Y (Intel) wrote:
Hello,
If the compiling script cannot know "-Wl,--start-group", you can repeat the MKL library for 3 times to resolve the cross references between the MKL libraries:
Thank you Chao for your quick suggestion. It helped. I can now generate the executable but still get a warning:
ifort: warning #10147: no action performed for specified file(s)
No files are specified after this warning and the compilation ends without any errors. I tried running the executable, it runs but the correctness of the results are not verified yet. I'm compiling two files - one .f90 program and the other is a .f subroutine. Am I missing something?
Many Thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
"no action performed" typically comes from setting an option such as -c by mistake in a command which was intended to drive a link. You may need to examine the fully expanded command generated by your mpif90. Probably adding ifort option -# may give you the full thing, or (depending on where your mpif90 comes from) mpif90 -show or the like may help.
Was your mpif90 built by an ifort version compatible with the ifort on your PATH?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
TimP (Intel) wrote:
You may need to examine the fully expanded command generated by your mpif90. Probably adding ifort option -# may give you the full thing
Thanks TimP for your very quick reply. -# gives lots of stuff, so much that I cannot scroll all the way up to see where it starts. In what is visible, I could spot the following, which was related to my error:
ifort: warning #10147: no action performed for specified file(s)
rm /tmp/ifortzDeePGlibgccrm /tmp/ifort4U4bmMgnudirs
rm /tmp/ifortLhBCTR.i90
rm /tmp/ifortoGKNrXarg
rm /tmp/ifortkEL0Z2gas
rm /tmp/ifortBFkwy8as_.s
rm /tmp/ifortka226dldashv
rm /tmp/ifortMUV8Gjarg
rm /tmp/ifortmWwghp.i
rm /tmp/ifortOnA4Ruarg
rm /tmp/ifortLuaUsAas_.s
rm /tmp/ifort6Y2S4Farg
I really don't know what to make of it. Any ideas?
TimP (Intel) wrote:
Was your mpif90 built by an ifort version compatible with the ifort on your PATH?
I would have to ask the cluster administartor for this. I'm unaware.
Many Thanks
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Also found the -c flag that you mentioned TimP, in the following lines:
"-mGLOB_options_string=-I/INTEL/mkl/include -I/MPICH_MX/include/f90choice -c -# -xHost -check -g -traceback -fpp -L/INTEL/mkl/lib/em64t -c" \
Should I get rid of the two -c flags above? If so, how? I don't use a makefile. I directly use the command posted at the start of this thread. The way I got the basic structure of the command was from noting what gets printed on screen when running an Intel example makefile for FGMRES.
Many Thanks
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page