====== Xeon PHI KNL howto ======
===== README FIRST =====
//**In case you see messages on the terminal(s) used requiring you to leave the machine from any one of the following users:
* mau
* cisterni
* marcod
* torquati
please logout immediately after killing all your processes (foreground and backgroud). The machine is provided by the ITC and it may be the case it will be needed for short demos and experiments. **//
===== Then read this ... =====
==== Machine address ====
The machine address is **ninja.itc.unipi.it**
==== Differences with the KNC (old machine) ====
This is machine that directly boots as a Xeon PHI KNL. No need to ssh micX or to compile with the -mmic flag. To run on the 64 cores, just use icc (with any of the "normal" flags needed) and then run the executable. E.g.:
icc -std=c++11 mymain.cpp -pthread -o mymain
./mymain
==== Tools ====
All the intel tools may be found under /opt/intel
Remember to source /opt/intel/compilers_and_libraries/linux/bin/compilervars.sh intel64
in order to be able to use the compiler.
The machine also has a g++ compiler, but for the project you **must** use the Intel compiler.
==== Java ====
Standard Java JDK 8 is installed under
/ust/local/jdk
Please consider adding /usr/local/jdk/bin to your $PATH:
export PATH=/usr/local/jdk/bin:$PATH
(to be executed in the shell or added to the .bashrc)
==== Programming framework ====
The cores in the machines are "kind of" Atom cores. Therefore the sequential performance of the single core is poor. You'll experience this while compiling. It takes seconds to compile simple C++ programs with the -O3 enabled.
==== OpenCV ====
The library is installed under
/usr/local/
Refer to the documentation at
http://opencv.org/
to look for configuration and compile options, library functions and parameters etc.
Remember the library may be used **only**
* to read frames from a video file
* to convert the frames to bitmaps
* to convert bitmaps to frames
* to write the frames to the output video file
that is for video file I/O.
All the filters used should be implemented by yourself.
==== ffmpeg ====
I installed ffmpeg under /home/marcod/ffmpeg_build
. You'll find here a bin and a lib directory with some of the libraries possibly needed to run correctly OpenCV
==== Video filters ====
For the "video" project we suggest to use filters such as
* blur
* sobel
for the two stages of the filtering process.
You may consider alternatively:
* a filter transforming the video in a black and white video
* a threshold filter
Even if OpenCV provides the filters natively, you have to implement your own filters.