Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.

Can't compile sample mic code

Tom_V_
Beginner
2,131 Views

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

 

0 Kudos
43 Replies
KitturGanesh
Employee
1,309 Views

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

0 Kudos
Tom_V_
Beginner
1,309 Views

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

 

 

0 Kudos
Tom_V_
Beginner
1,309 Views

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?

0 Kudos
KitturGanesh
Employee
1,309 Views

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

 

 

0 Kudos
Tom_V_
Beginner
1,309 Views
/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
0 Kudos
KitturGanesh
Employee
1,309 Views

Can you check if all the above directories have read permissions assuming you're executing as a user and not root....

0 Kudos
Tom_V_
Beginner
1,309 Views

Yes, the permissions on those directories are o+r+x. 

Tom

0 Kudos
KitturGanesh
Employee
1,309 Views

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

0 Kudos
Tom_V_
Beginner
1,309 Views

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)

0 Kudos
KitturGanesh
Employee
1,309 Views

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

 

0 Kudos
Tom_V_
Beginner
1,309 Views

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

0 Kudos
KitturGanesh
Employee
1,309 Views

Thanks, that would be great. Let me know how it goes, appreciate much.

_Kittur 

0 Kudos
Tom_V_
Beginner
1,309 Views

Uninstall followed by reinstall in different directory does not seem to have fixed my issue. I'll send the out file tomorrow.

Tom

0 Kudos
KitturGanesh
Employee
1,309 Views

:-( Sorry to hear. Sure, please send me the out file and I'll escalate this to our product team for further investigation.  

_Thanks, Kittur 

0 Kudos
Tom_V_
Beginner
1,309 Views

Kittur,

private message sent with output from:

% icc -qopenmp  -# -c sampleC00.c  >& out

Again, thanks for the help.

0 Kudos
KitturGanesh
Employee
1,309 Views

Great, thanks Tom I'll investigate further and will update you accordingly - appreciate much.

0 Kudos
KitturGanesh
Employee
1,309 Views

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 

0 Kudos
Tom_V_
Beginner
1,309 Views

Private message sent.

Note that (3) doesn't compile, can't find includes. See private message for details.

Tom

0 Kudos
Tom_V_
Beginner
1,309 Views

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

 

0 Kudos
Tom_V_
Beginner
1,234 Views

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

 

0 Kudos
Reply