MKL example problem

MKL example problem

Hi,I am trying to run some of the MKL examples on my 2.53 GHz Intel Core 2 Duo running Mac OS X 10.6.4 and getting the following errormake libem64t function=complex_1d_single_ex1make source/dfti_example_support.c source/dfti_example_status_print.c complex_1d_single_ex1.res _IA=em64t EXT=a RES_EXT=libmake[1]: Nothing to be done for `source/dfti_example_support.c'.make[1]: Nothing to be done for `source/dfti_example_status_print.c'.mkdir -p ./_results/intel_lp64_parallel_em64t_libmkdir: ./_results: Permission deniedmake[1]: *** [complex_1d_single_ex1.res] Error 1make: *** [libem64t] Error 2I previously had a problem with running icc since I was using tcsh and apparently needed bash for the export command.Nothing in the manuals with regards to environmental variables appears to help. Perhaps I need some more lines in my startup (.bashrc) file.Any suggestions?Thanks, TedI still can't get blank lines to show up in these notes.

15 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

Please provide the makefile (or a link or reference to it).

Please specify which MKL example you are trying to run.

I had no problem with producing blank lines in a post, using Firefox on Suse-11.1. If you have a choice of more than one Web browser, perhaps you could try a different one.

It is the given Intel MKL example and the associated Intel makefile (see opening line). make was executed while in the associated example directory. (And no I am not going to switch browser's over an issue like this)

The line

mkdir: ./_results: Permission denied

suggests that you may be logged in as a user without the necessary permissions in the MKL examples directory. This sometimes happens if the installation was done by the root user and the examples are run as another user.

The simplest solution is to copy just the specific example you want into a different working directory and run make there.

No the permissions appear to ok - drwxr_xr_x . (And whoami is me) Why are there parallel mkl locations?/opt/intel/Compiler/11.1/067/Frameworks/mkland/Developer/opt/intel/Compiler/11.1/067/Frameworks/mkl (Also a tab-keystroke suffices to get respect a subsequent return-keystroke - and buy a blank line)

You may want to check whether those paths are sym-linked so as to be in effect identical (as would be expected when both include /11.1/076/). I don't have access to MacOS, but in general the trend is to have more and more sym-linked equivalent paths so as to work under several reasonable methods for path setup.

Hi,

Looking at your log lines:
mkdir -p ./_results/intel_lp64_parallel_em64t_lib mkdir: ./_results: Permission deniedthere is no permissin to create local subdirectory in this MKL-examples dir.
Just checkthis mkdircommand manually.
Another way: correct if possible makefile to use another directory for results.
E.g. instead of
RES_DIR=_results/$(compiler)_$(interface)_$(threading)_$(_IA)_$(RES_EXT)
use _results directory in your HOME:
RES_DIR=~/_results/$(compiler)_$(interface)_$(threading)_$(_IA)_$(RES_EXT)

In future MKL releases there will be introduced specialmacro to control location of results.

Thanks,
-- Victor

Who is the owner of /opt/intel/Compiler/11.1/067/Frameworks/mkl ? If it is root or bin and when you are running the example you are not logged in as one of them, you don't have write permission because you will be in either the 'g' or 'o' classes.

Hi, Thanks for suggestions. The mkl examples directory is designated user "47081" and the group is "600". Perhaps this was an under-appreciated detail in Intel's download process. I moved the necessary goods from there to one of my own directories and then attempted the make. Below is the result, make libem64t function=complex_1d_double_ex1
make dfti_example_support.c dfti_example_status_print.c complex_1d_double_ex1.res _IA=em64t EXT=a RES_EXT=lib
make[1]: Nothing to be done for `dfti_example_support.c'.
make[1]: Nothing to be done for `dfti_example_status_print.c'.
mkdir -p ./_results/intel_lp64_parallel_em64t_lib
icc -vec-report0 -w -I/opt/intel/Compiler/11.1/067/Frameworks/mkl/include complex_1d_double_ex1.c dfti_example_support.c dfti_example_status_print.c -L"/opt/intel/Compiler/11.1/067/Frameworks/mkl/lib/em64t" "/opt/intel/Compiler/11.1/067/Frameworks/mkl/lib/em64t"/libmkl_intel_lp64.a "/opt/intel/Compiler/11.1/067/Frameworks/mkl/lib/em64t"/libmkl_intel_thread.a "/opt/intel/Compiler/11.1/067/Frameworks/mkl/lib/em64t"/libmkl_core.a -L"/opt/intel/Compiler/11.1/067/Frameworks/mkl/lib/em64t" -liomp5 -lpthread -lm -o _results/intel_lp64_parallel_em64t_lib/complex_1d_double_ex1.out
ld: in /opt/intel/Compiler/11.1/067/Frameworks/mkl/lib/em64t/libmkl_core.a(_mc3_xz_1d_via_2d.o), ObjectFileAddressSpace::mappedAddress(0xFFFFFFFFFFFFFFFC) not in any section
make[1]: *** [complex_1d_double_ex1.res] Error 1
make: *** [libem64t] Error 2 And here is a list of the referenced library file, -rw-r--r-- 1 root 600 89825128 May 19 13:55 libmkl_core.a

That's a step forward but, not having a Mac, I have reached the limits of my capacity to help. This example builds and runs fine on OpenSuse 11.1 with the current Icc (11.1.072).

I am not sure if Intel provides a file checksum for the library concerned (libmkl_core.a). Were they to, you could use the checksum see if your MKL installation has somehow become corrupted. Perhaps, another Macintosh owner who reads this can provide the checksum.

Hi,Now we try to reproduce your issue and have several questions. First of all which kind of OS you use 32 or 64 bit? And secondary, it's look like you put two command:"make libem64t function=complex_1d_double_ex1" and "make dfti_example_support.c dfti_example_status_print.c complex_1d_double_ex1.res _IA=em64t EXT=a RES_EXT=lib" because the output of second command is similar with your output. Is it truth? To run the example you need to use"make libem64t function=complex_1d_double_ex1" only. And the last one: did you run original makefiles or changed them in some way?With best regards,Alexander Kalinkin

Alexander, having tried this example on Linux-x64, I can answer the second question you asked.

The user issues the command

make libem64t function=complex_1d_single_ex1

Then, as you can see in the makefile, the options are parsed and a more complete make command is formed and issued recursively by the make program itself:

make source/dfti_example_support.c source/dfti_example_status_print.c complex_1d_single_ex1.res  _IA=em64t EXT=a RES_EXT=lib

From the transcript that Ted Christopher provided, it is clear that the source files were compiled with no error messages.

However, the linker ran into a problem with the static library libmkl_core.a.

Hi,
The problem is that I can't understand the reason why makefile formed this call to make recursively. Moreover I don't see the way how this call could be formed from the makefile. So, if this call couldn't be formed by makefile internally I supposed that this call was formed be Ted. With best regards,Alexander Kalinkin

Thank you for the additional input. I made no changes to the makefile other that dropping some directoryprefixes since I had all of the source files sitting together in onedirectory of mine. Thus no need for "source/" for example. mecej4 could then be correct on the recursive generation of the second"make" line. I have downloaded some information on makefiles and will try to get up tospeed on them. In any case these example makefiles need some explanatorycomments. I found a way to get an example compiled. I used the following command line, icc -w -o demo complex_1d_double_ex1.c dfti_example_support.c dfti_example_status_print.c-L/opt/intel/Compiler/11.1/067/Frameworks/mkl/lib/em64t /opt/intel/Compiler/11.1/067/Frameworks/mkl/lib/em64t/libmkl_solver_lp64.a -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core-openmp -lpthread Notice I put in some explicit addresses. I think the examples are too numerous and too limited. There are 146example programs in the dftc directory alone. These are paired with 146data files each of which contains a single number - apparently almostalways a single odd digit which sets the FFT data size! The workings ofexamples starting with the need for a data filename in the command lineare not explained. I suggest you prune this down to do more than 10example programs each of which lets the user input some parametersstarting with the data set size. These programs should also offerthe user some output performance metrics so they can get feel for theMKL routines performances under different circumstances. Good examples are important and so is explaining and supporting them.

Quoting Ted ChristopherHi,Thanks for suggestions. The mkl examples directory is designated user "47081" and the group is "600". Perhaps this was an under-appreciated detail in Intel's download process.I moved the necessary goods from there to one of my own directories and then attempted the make. Below is the result,make libem64t function=complex_1d_double_ex1 make dfti_example_support.c dfti_example_status_print.c complex_1d_double_ex1.res _IA=em64t EXT=a RES_EXT=lib make[1]: Nothing to be done for `dfti_example_support.c'. make[1]: Nothing to be done for `dfti_example_status_print.c'. mkdir -p ./_results/intel_lp64_parallel_em64t_lib icc -vec-report0 -w -I/opt/intel/Compiler/11.1/067/Frameworks/mkl/include complex_1d_double_ex1.c dfti_example_support.c dfti_example_status_print.c -L"/opt/intel/Compiler/11.1/067/Frameworks/mkl/lib/em64t" "/opt/intel/Compiler/11.1/067/Frameworks/mkl/lib/em64t"/libmkl_intel_lp64.a "/opt/intel/Compiler/11.1/067/Frameworks/mkl/lib/em64t"/libmkl_intel_thread.a "/opt/intel/Compiler/11.1/067/Frameworks/mkl/lib/em64t"/libmkl_core.a -L"/opt/intel/Compiler/11.1/067/Frameworks/mkl/lib/em64t" -liomp5 -lpthread -lm -o _results/intel_lp64_parallel_em64t_lib/complex_1d_double_ex1.out ld: in /opt/intel/Compiler/11.1/067/Frameworks/mkl/lib/em64t/libmkl_core.a(_mc3_xz_1d_via_2d.o), ObjectFileAddressSpace::mappedAddress(0xFFFFFFFFFFFFFFFC) not in any section make[1]: *** [complex_1d_double_ex1.res] Error 1 make: *** [libem64t] Error 2And here is a list of the referenced library file,-rw-r--r-- 1 root 600 89825128 May 19 13:55 libmkl_core.a

Hello Ted,

Sorry for the delay in my reply.

Problem you described is the known compatibility issue of static linking of Intel C++ Compiler 11.1.067 and linker that goes with Mac OS X 10.6 'Snow Leopard'. This problem is fixed in the newer compiler updates.

Please try to usethe newest Intel C++ Compiler 11.1 Update 6. You may download it from the Intel Registration Center. Please let us know if this problem still reproducible.

Best regards,
Artem

Leave a Comment

Please sign in to add a comment. Not a member? Join today