Software Archive
Read-only legacy content
17061 Discussions

Differences between MPSS 2.1* and MPSS 3.1

ed_rosenbloom
Beginner
1,026 Views

Under MPSS 2.1*, there was a gpl rpm in the tarball: e.g.  intel-mic-gpl-2.1.6720-19.suse.x86_64.rpm.

Based on info provided by intel, in this forum, I was able to unload the content of this rpm into a location, and setting the env variable MIC_SYSROOT to that location, I could cross-compile software that runs on the MIC card.

How can I accomplish this under MPSS 3.1?

0 Kudos
7 Replies
Frances_R_Intel
Employee
1,026 Views

That rpm file was broken up into several pieces when the MPSS moved to using the Yocto build processes. But all the tools are installed in /usr/linux-k1om-4.7/bin. Is that what you are looking for? And you do remember that the compilers and assembler in there don't know how to handle the coprocessor's vectors yet? For that you would want to use the Intel compilers.

0 Kudos
ed_rosenbloom
Beginner
1,026 Views

Thanks for your reply.

I am not looking for the tools per se; we use the Intel compiler (don't know how the assembler for icc gets invoked...)

I want to relocate the MPSS pieces (as done for MPSS 2.1*) to use in a cross compilation environment that supports ALL of the architectures we build our software for. I went ahead and installed MPSS 3.1 on one of my systems (did not neeed to do this for 2.1*). I then copied /usr/linux-k1om-4.7/*  to my cross compilation env, and tried setting MIC_SYSROOT to point to that location (this is how the 2.1* env works). Pieces are obviously missing. Messages:

icc: warning #10361: Environment configuration problem encountered.  Please check for proper MPSS installation and environment setup.

......./icc/13.0.1/x86-64_linux_2/install/composer_xe_2013.1.117/compiler/include/stddef.h(13): catastrophic error: cannot open source file "stddef.h"
  #include_next <stddef.h>

what role does /opt/mpss/3.1/environment-setup-k1om-mpss-linux  play in all of this?
I attached a log of trying to compile "Hello World".

Thanks

0 Kudos
Frances_R_Intel
Employee
1,026 Views

Ok, I think I understand now. Try this - make sure you have everything from the /opt/mpss/3.1/ directory loaded onto your compiler system. Then set MIC_SYSROOT to /opt/mpss/3.1/sysroots/k1om-mpss-linux (or where ever you put the stuff). You will also want to get the Intel ComposerXE 2013 SP1. Let me know what happens.

0 Kudos
ed_rosenbloom
Beginner
1,026 Views

I have done as you suggested - obtained ComposerXE 2013 SP1 - relocated k1om-mpss-linux and x86_64-mpsssdk-linux from /opt/mpss/3.1.

Getting closer - now compiler runs, but fails at linker:     k1om-mpss-linux-ld: No such file or directory
File does exist:      

BLDLNX64(ppsbld)> find . -name k1om-mpss-linux-ld
./x86_64-mpsssdk-linux/usr/bin/k1om-mpss-linux/k1om-mpss-linux-ld

BLDLNX64(ppsbld)> ls -l ./x86_64-mpsssdk-linux/usr/bin/k1om-mpss-linux/k1om-mpss-linux-ld
-rwxr-xr-x 2 ppsbld bin 1507744 Nov  1 10:12 ./x86_64-mpsssdk-linux/usr/bin/k1om-mpss-linux/k1om-mpss-linux-ld*

0 Kudos
ed_rosenbloom
Beginner
1,026 Views

What I have discovered is the following:

In order to run the binutils binaries under  ......x86_64-mpsssdk-linux/usr/bin/k1om-mpss-linux, I am forced to install the libraries under /opt/mpss/3.1/sysroots/x86_64-mpsssdk-linux/lib and /opt/mpss/3.1/sysroots/x86_64-mpsssdk-linux/usr/lib on each node that I wish to compile on and use the MPSS 3.1 sdk. This is NOT the case with MPSS 2.*, using either icc13 or icc14(composerxe 2013 SP 1).

Setting the LD_LIBRARY_PATH to locations containing the files in question does not work. Since I have dozens of nodes that need to be able to run compilation using MPSS 3.1 on, I would very much prefer not to have to install these libraries on each node. Is there some way to provide an env variable (like MIC_SYSROOT) so that the k1om-mpss-linux-*  binutils can run without having to install the libraries locally?

0 Kudos
Frances_R_Intel
Employee
1,026 Views

So what you really need at this point is a replacement for the old MIC_SYSROOT enviroment variable. I will ask to see if one is currently available and, if not, put in a feature request.

0 Kudos
ed_rosenbloom
Beginner
1,026 Views

I don't think thats quite it. I still need to use MIC_SYSROOT. What I need is a way for the tools like k1om-mpss-linux-ld to find their run time libraries without having to install them locally into /opt/mpss/3.1/........   since setting the LD_LIBRARY_PATH does not work.

0 Kudos
Reply