Intel® Moderncode for Parallel Architectures
Support for developing parallel programming applications on Intel® Architecture.

Porting CPU code to Xeon Phi

Hannes_Z_
Beginner
1,211 Views

I  make use of an open source CPU-based programme that is designed to use  Intel® AES-NI more spesficly aeskeygenassist instruction. The program runs on Linux and is compiled for every system it runs on.It detects the number of cores are on the CPU and utilise that. So far I have run it from anything I3 to Dual Xeon Xeon e5-2699. it is multi-threaded and scales well based on the hardware.  

We are looking to use a server that has several Xeon Phi installed but as it is nearly impossible to get a demo unit in South Africa it is a big risk to invest just to see if it would work. 

I know nothing is trivial on Linux but is it possible someone can confirm that my logic is correct for the approach I am suggesting?  

The system will have 6 Xeon Phi 5110P running on Ubuntu

Can we write a script that would SSH into each and copy the relevant repositories over, compile the code and run them? 

I am assuming the following;

1. some network setup will be required to let each of the Xeon Phi see the internet. 

2. The repositories will run on the Phi Linux.

3. The code will not be needed to change the native environment is Linux and hardware is handled by the Phi Linux 

 

0 Kudos
1 Solution
jimdempseyatthecove
Honored Contributor III
1,211 Views

See: https://software.intel.com/sites/landingpage/IntrinsicsGuide/#=undefined&cats=Cryptography&expand=206

You will find that Xeon Phi  KNC (e.g. 5110P) does not support the aeskeygenassist instruction (_mm_aeskeygenassist_si128 intrinsic).

KNL might support this instruction, but the above intrinsic guide does not indicate this.

Jim Dempsey

View solution in original post

0 Kudos
6 Replies
jimdempseyatthecove
Honored Contributor III
1,212 Views

See: https://software.intel.com/sites/landingpage/IntrinsicsGuide/#=undefined&cats=Cryptography&expand=206

You will find that Xeon Phi  KNC (e.g. 5110P) does not support the aeskeygenassist instruction (_mm_aeskeygenassist_si128 intrinsic).

KNL might support this instruction, but the above intrinsic guide does not indicate this.

Jim Dempsey

0 Kudos
Hannes_Z_
Beginner
1,211 Views

What a life saver! thank. Glad I asked. 

0 Kudos
Hannes_Z_
Beginner
1,211 Views

The 7290 shows it supports Intel® AES New Instructions but as you said, the IntrinsicsGuide does not confirm that _mm_aeskeygenassist_si128 is supported

Just confirm that I really need to test one before buying yet not sure how to arrange that. 

0 Kudos
McCalpinJohn
Honored Contributor III
1,211 Views

My Xeon Phi 7250 processors show "aes" in the "flags:" field of /proc/cpuinfo.

The header file "wmmintrin.h" includes the function of interest, but I don't know how to test whether this actually works on my system.

wmmintrin.h:extern __m128i __ICL_INTRINCC _mm_aeskeygenassist_si128(__m128i, const int);

 

0 Kudos
jimdempseyatthecove
Honored Contributor III
1,211 Views

The 7290 and 7250 (KNL host) are not the coprocessor (n1nn series KNC). Until the KNL (n2nn series) comes out as coprocessor, Hannes is somewhat stuck. Unless he decides to use a cluster of KNL's.

Jim Dempsey

 

 

0 Kudos
Hannes_Z_
Beginner
1,211 Views

So the Intel® Xeon Phi™ Processor 7290  is not a co-processor. Why did I miss that! So I am totally confused now as to how they managed to fit 16GB of ram into the such a small space.  And what benefits could there be to have 16GB ram inside the processor? But this is going off topic. 

Thank for the help looks like this is a fitting end to my flight of fantasy with the Phi. Just glad I never bought the 6 Xeon Phi 5110P. 

0 Kudos
Reply