Auryn simulator

Simulator for spiking neural networks with synaptic plasticity

User Tools

Site Tools


manual:xeonphi

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
manual:xeonphi [2014/07/22 11:25] – Adds link to Intel homepage zenkemanual:xeonphi [2014/12/15 12:54] (current) – [Preparing Auryn for Xeon Phi/MIC] zenke
Line 1: Line 1:
 ====== Running Auryn simulations on the Intel® Xeon Phi™ Product Family (MIC architecture) ====== ====== Running Auryn simulations on the Intel® Xeon Phi™ Product Family (MIC architecture) ======
  
-The following section is experimental. To compile Auryn in native mode for the [[http://www.intel.com/content/www/us/en/processors/xeon/xeon-phi-detail.html|Intel Xeon Phi]] cards the following steps worked. Requirements: First, use the newest Auryn development version, which does not compile against GSL any more. This saves you some extra troubel in compiling GSL. Second, you need the Intel Composer suite. Third, you need the boost libraries (see [[required libraries]]) compiled for the intel MIC architecture ideally using the Intel MPI implementation which is native to Xeon and the Xeon Phis. +The following section is experimental. To compile Auryn in native mode for the [[http://www.intel.com/content/www/us/en/processors/xeon/xeon-phi-detail.html|Intel Xeon Phi]] cards the following steps worked. Requirements: First, use the newest Auryn development version, which does not compile against GSL any more. This saves you some extra trouble in compiling GSL. Second, you need the Intel Composer suite. Third, you need the boost libraries (see [[required libraries]]) compiled for the Intel MIC architecture ideally using the Intel MPI implementation which is native to Xeon and the Xeon Phis. 
  
 This has been tested for the development version available on [[https://github.com/fzenke/auryn|GitHub]] as commit ''5b02d058844ea9b6344cc4e94491c10cf5ea0522''. This has been tested for the development version available on [[https://github.com/fzenke/auryn|GitHub]] as commit ''5b02d058844ea9b6344cc4e94491c10cf5ea0522''.
Line 11: Line 11:
 using mpi : /opt/intel/impi/4.1.3.048/bin/mpigxx -cxx=/opt/intel/bin/icpc -static_mpi : -L/opt/intel/impi/4.1.3.048/lib ; using mpi : /opt/intel/impi/4.1.3.048/bin/mpigxx -cxx=/opt/intel/bin/icpc -static_mpi : -L/opt/intel/impi/4.1.3.048/lib ;
 </code> </code>
-to enable MPI and to tell the build toolchain Jam which compiler to use. Note that you might have to adapt the version numbers in this example to your actial version.+to enable MPI and to tell the build toolchain Jam which compiler to use. Note that you might have to adapt the version numbers in this example to your actual version.
  
-Building of boost was then achieved by using a command line similar to the following. It is important to pass the ''-mmic'' arguments to tell the intel compiler that it is cross compiling for the Xeon Phi:+Building of boost was then achieved by using a command line similar to the following. It is important to pass the ''-mmic'' arguments to tell the Intel compiler that it is cross compiling for the Xeon Phi:
 <code shell> <code shell>
 ./b2 toolset=intel  --disable-icu --without-iostreams cflags="-mmic" cxxflags="-mmic -I/opt/intel/impi/4.1.3.048/mic/include/" linkflags="-mmic" --debug-configuration ./b2 toolset=intel  --disable-icu --without-iostreams cflags="-mmic" cxxflags="-mmic -I/opt/intel/impi/4.1.3.048/mic/include/" linkflags="-mmic" --debug-configuration
Line 22: Line 22:
 To run smoothly on the architecture and to make efficient use of vectorization you need to set the following switches in the ''auryn_definitions.h'' in the ''src/'' directory of Auryn. In particular you have to deactivate prefetching and activate SIMD instructions with Intel CILK Plus support.  To run smoothly on the architecture and to make efficient use of vectorization you need to set the following switches in the ''auryn_definitions.h'' in the ''src/'' directory of Auryn. In particular you have to deactivate prefetching and activate SIMD instructions with Intel CILK Plus support. 
 To do so find the following precompile directives in ''auryn_definitions.h'' and un/comment them accordingly: To do so find the following precompile directives in ''auryn_definitions.h'' and un/comment them accordingly:
-<code c++>+<code cpp>
 // #define CODE_ACTIVATE_PREFETCHING_INTRINSICS // #define CODE_ACTIVATE_PREFETCHING_INTRINSICS
 #define CODE_USE_SIMD_INSTRUCTIONS_EXPLICITLY #define CODE_USE_SIMD_INSTRUCTIONS_EXPLICITLY
manual/xeonphi.txt · Last modified: 2014/12/15 12:54 by zenke