- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Recently downloaded an evaluation copy of parallel studio xe 2015. I have a server running Redhat Linux 6.6 with 2 MIC cards and have (successfully, I think, install mpss 3.4.1.
I am trying to compile sample code in <install dir>/composerxe/Samples/en_US/C++/mic_samples/intro_sampleC with `make mic' and get the error:
sampleC00.c(29): catastrophic error: cannot open source file "offload.h"
#include <offload.h>
Pretty clear I've munged the install. Any suggestions as to problem would be greatly appreciated. Note that I have sourced the `compilervars.csh' file and it appears to have successfully set my path...
Thanks,
Tom
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Tom, the sample works fine on my system. The offload.h file is the compiler/include directory and the compiler driver should automatically include that during compilation if the environment is set for the compiler.
Can you make sure you do the following?
1) Open a new terminal
2) Set the compiler environment as follows:
% source <full path to compilervars.sh> intel64 (if running on 64 bit)
Make sure the environment is set:
% icc -V
Should output the compiler version
% micinfo
Should output the info on MPS version etc.
3) Copy the samples directory to your local directory just so there's read and write permission
4) cd to intro_sampleC sample directory
5) % make mic
And then run the exec created (intro_sampleC.out)
Let me know if the above helps.
_Kittur
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks for the response Kittur. I've done what you've suggested (important results below) and didn't solve my problem.
$icc -V
Intel(R) C Intel(R) 64 Compiler XE for applications running on Intel(R) 64, Version 15.0.0.090 Build 20140723
Copyright (C) 1985-2014 Intel Corporation. All rights reserved.
icc: NOTE: The evaluation period for this product ends on 3-dec-2014 UTC.
$micinfo
MicInfo Utility Log
Created Tue Nov 4 13:10:01 2014
System Info
HOST OS : Linux
OS Version : 2.6.32-504.el6.x86_64
Driver Version : 3.4.1-1
MPSS Version : 3.4.1
Host Physical Memory : 264426 MB
Device No: 0, Device Name: mic0
Version
Flash Version : 2.1.02.0390
SMC Firmware Version : 1.16.5078
SMC Boot Loader Version : 1.8.4326
uOS Version : 2.6.38.8+mpss3.4.1
Device Serial Number : ADKC43000457
Board
Vendor ID : 0x8086
Device ID : 0x2250
Subsystem ID : 0x2500
Coprocessor Stepping ID : 3
PCIe Width : Insufficient Privileges
PCIe Speed : Insufficient Privileges
PCIe Max payload size : Insufficient Privileges
PCIe Max read req size : Insufficient Privileges
Coprocessor Model : 0x01
Coprocessor Model Ext : 0x00
Coprocessor Type : 0x00
Coprocessor Family : 0x0b
Coprocessor Family Ext : 0x00
Coprocessor Stepping : B1
Board SKU : B1PRQ-5110P/5120D
ECC Mode : Enabled
SMC HW Revision : Product 225W Passive CS
Cores
Total No of Active Cores : 60
Voltage : 1036000 uV
Frequency : 1052631 kHz
Thermal
Fan Speed Control : N/A
Fan RPM : N/A
Fan PWM : N/A
Die Temp : 52 C
GDDR
GDDR Vendor : Elpida
GDDR Version : 0x1
GDDR Density : 2048 Mb
GDDR Size : 7936 MB
GDDR Technology : GDDR5
GDDR Speed : 5.000000 GT/s
GDDR Frequency : 2500000 kHz
GDDR Voltage : 1501000 uV
Device No: 1, Device Name: mic1
Version
Flash Version : 2.1.02.0390
SMC Firmware Version : 1.16.5078
SMC Boot Loader Version : 1.8.4326
uOS Version : 2.6.38.8+mpss3.4.1
Device Serial Number : ADKC43000336
Board
Vendor ID : 0x8086
Device ID : 0x2250
Subsystem ID : 0x2500
Coprocessor Stepping ID : 3
PCIe Width : Insufficient Privileges
PCIe Speed : Insufficient Privileges
PCIe Max payload size : Insufficient Privileges
PCIe Max read req size : Insufficient Privileges
Coprocessor Model : 0x01
Coprocessor Model Ext : 0x00
Coprocessor Type : 0x00
Coprocessor Family : 0x0b
Coprocessor Family Ext : 0x00
Coprocessor Stepping : B1
Board SKU : B1PRQ-5110P/5120D
ECC Mode : Enabled
SMC HW Revision : Product 225W Passive CS
Cores
Total No of Active Cores : 60
Voltage : 951000 uV
Frequency : 1052631 kHz
Thermal
Fan Speed Control : N/A
Fan RPM : N/A
Fan PWM : N/A
Die Temp : 46 C
GDDR
GDDR Vendor : Elpida
GDDR Version : 0x1
GDDR Density : 2048 Mb
GDDR Size : 7936 MB
GDDR Technology : GDDR5
GDDR Speed : 5.000000 GT/s
GDDR Frequency : 2500000 kHz
GDDR Voltage : 1501000 uV
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Kittur,
Note that I explicitly point to the include directory for offload.h I get the following:
]$ icc -qopenmp -c sampleC00.c -o sampleC00.o -I /opt/intel/composerxe/include/
icc: warning #10379: Problem with offload compilation environment. Offload target compiler not found
": internal error: 010101_0
compilation aborted for sampleC00.c (code 4)
Perhaps that points to something? Do I need to do something additional to install cross-compiler?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Tom, yes it means somehow the mic related directories are missing in your installed directory. Can you please check the following directories are present in your installation?
<install-dir>/compiler/include/mic
<install-dir>/compiler/lib/mic
<install-dir>/bin/intel64_mic
Also, how did you install? Did you use any custom install or did you use the default install option?
Thanks, Kittur
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
/opt/intel/composer_xe_2015.0.090/compiler/ asd;
Kittur,
directories are on my system at the following locations:
/opt/intel/composer_xe_2015.0.090/compiler/include
/opt/intel/composer_xe_2015.0.090/compiler/lib/mic
/opt/intel/composer_xe_2015.0.090/bin/intel64_mic
I downloaded parallel_studio_xe_2015.tgz and untarred in my home area. Untarred/unzipped and ran the install.sh file as sudo.
My path includes the following (via echo path):
/opt/intel/composer_xe_2015.0.090/bin/intel64 /opt/intel/composer_xe_2015.0.090/mpirt/bin/intel64 /opt/intel/composer_xe_2015.0.090/ipp/include /opt/intel/composer_xe_2015.0.090/debugger/gdb/intel64_mic/bin
I'm using the tcsh shell if that's relevant.
Thanks again for helping me through this.
Tom
/opt/intel/composer_xe_2015.0.090/compiler/lib/mic
/opt/intel/composer_xe_2015.0.090/compiler/include
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Can you check if all the above directories have read permissions assuming you're executing as a user and not root....
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Yes, the permissions on those directories are o+r+x.
Tom
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks Tom. One last input. Can you execute mcpcom from the directory bin/intel64_mic manually? % mcpcom and see if that executes? Just wondering if the files in the installation are corrupt since the path settings you say seems okay and the mic directories exist as well.
_Kittur
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Kittur,
Result is:
$ mcpcom
Intel(R) C++ Compiler for applications running on Intel(R) 64, Version 15.0.0.090 Build 20140723
Copyright (C) 1985-2014 Intel Corporation. All rights reserved.
catastrophic error: Compiler configuration problem encountered. The expected target architecture compiler is missing (unset != 15.0-intel64)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Interesting, Tom that's the correct output! I'll touch base with our product team on this. In the meantime appreciate if you could do the following:
1) Compile with -# option (which will only dump the commands and not execute)
% icc -qopenmp -# -c sampleC00.c >& out
You can email (private) me the file "out" so we can see what's passed on to mcpcom (the include/lib paths etc). Just want to make sure the environment is correctly passed....
2) Uninstall the package
<install-dir>/uninstall.sh
3) And do a clean install one more time using install.sh to a new directory. May be if you can try on another system that would be better as well.
Let me know if you see the same issue after step 3 above? Appreciate your patience through this.
_Kittur
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Kittur,
I will do the steps you've described and forward you the out file tomorrow. Note that I don't have access to another machine so it'll have to be just a reinstall and see what happens.
Thanks much for your help on this.
Tom
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks, that would be great. Let me know how it goes, appreciate much.
_Kittur
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Uninstall followed by reinstall in different directory does not seem to have fixed my issue. I'll send the out file tomorrow.
Tom
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
:-( Sorry to hear. Sure, please send me the out file and I'll escalate this to our product team for further investigation.
_Thanks, Kittur
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Kittur,
private message sent with output from:
% icc -qopenmp -# -c sampleC00.c >& out
Again, thanks for the help.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Great, thanks Tom I'll investigate further and will update you accordingly - appreciate much.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Tom, looking into the out file you sent I do find include lines (of our compiler) missing which is why it couldn't find offload.h (like: ..../compiler/include/ and .../compiler/include/intel64) which is very essential.
That said, even after you included that manually the compile reported missing target compiler for mic. That can happen if there are some missing directories or something strange pertaining to the environment run on and couldn't find the mcpcom under intel64_mic dir. And, I can't reproduce on my system as well as all works as expected so something is suspect with reference to the environment on your system may be.
That said, can you please do provide the following:
1) execute the compile command you did before on the system after making sure you set up the compiler environment using "source compilervars.csh
2) Email me the following (or if not confidential you can attach to this forum issue as well) :
a) Dump of the environment variables on the system %env >& env.out
b) A recursive dump of the directories (names) from the installed directory (just from above the bin directory) and email or attach that as well?
Would like to see if there's anything (in env vars setting) that are different or if any of the directories are missing in the installation. For example, under the same level as bin directory, you should see:
compiler/ [include, lib, perf_headers] directories.
compiler/lib [ia32, intel64, mic]
and so on....
3) Also, try to compile a c or c++ program (not MIC) that needs some compiler include and library and see if it compiles? You can try the sample under /C++/cilk_samples as follows:
%make
% ./qsort
See if you can run qsort above after make? If the compile compiles and runs then it could find the library needed under compiler/lib... This is just another test to see if the libs exist in the compiler/lib directory as well....
Appreciate your input on the above (env variables dump and the list of directories dump)
Thanks,
Kittur
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Private message sent.
Note that (3) doesn't compile, can't find includes. See private message for details.
Tom
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
If I point to the header file in the compile line:
icpc -O2 -I. -o qsort qsort.cpp -I /intel/composer_xe_2015.0.090/compiler/include/
I get an executable I can run on the host and gives reasonable output. Note that the Makefile build doesn't make an executable (-c) - is that correct?
Tom
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
OK. So if I add to CPATH and INCLUDE in my environment variables to point to:
/intel/composer_xe_2015.0.090/compiler/include
Compile works without having to explicitly point to -I /intel/composer_xe_...
Tom

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