====== SPM Laboratory - A.Y. 2015/2016 ====== ==== Machine name and access ==== The machine is not registered on the DNS, you should use the IP address * 131.114.137.225, corresponding to the registered name * r720-phi.itc.unipi.it You should request the account to the SPM teacher sending an email with * SUbject: SPM PHI ACCOUNT * Body: name, family name enrollement number and either CS or MCSN in case you are enrolled in Computer Science or in Computer Science and Networking Once you have the account (will be an "spm15XX") you may access the host with the Xeon PHI board by * ssh spm15XX@131.114.137.225 You **should change the password** you received by email at first login issuing a command //passwd// at the shell prompt. === Backup === Please take into account the homes on r720-phi.itc.unipi.it are **not** subject to backup. //Keep a local copy// of whatever (source) files you are using on the machine. In case of problems I'll not be able to recover any of the home files. Take into account that you may edit files on your machine and just compile and run them on the remote (host or PHI). What you can do is to have a local directory hosting the source files, may be develop and debug using local IDE (such as Eclipse or Visual Studio), then synchronize the files using the **rsync** command and execute commands on remote host via **ssh** commands from the shell prompt. If you need further info concerning the procedure don't hesitate to ask me during question time or by email. === List of assigned accounts === ^ Account ^ Student ^ Status ^ Project ^ Framework ^ Exam ^ | spm1501 | Teacher (tool verify and project tests) | ok | TBD | | spm1502 | Marco Loddo | ok | | spm1503 | Stefano Forti | ok | GOL | Java | Passed | | spm1504 | Federico Soave | ok | | spm1505 | Davide Neri | ok | Stream cluster | | Passed | | spm1506 | Mattia Lacroce | ok | MDF | FastFlow | | spm1507 | Lapo Frati | ok | GOL | FastFlow | | spm1508 | Diego Alejandro Parra Guzman | ok | | spm1509 | Tsinu Assefa | ok | NQ | Skandium | | spm1510 | Luca Rinaldi | ok | MDF | | Passed | | spm1511 | Diogo Rodrigues | ok | NQ | | Passed | | spm1512 | Andrea Tesei | ok | | spm1513 | Federico Conte | ok| GOL | FastFlow | Passed | | spm1514 | Leonardo Gazzarri| ok | GOL | FastFlow | | spm1515 | Menelaos Ralli | ok| GOL | Java/Skandium | Passed | | spm1516 | Alessandro Conticelli | ok| | spm1517 | Antonio Nicoletti | ok | NQ | FastFlow | Passed | | spm1518 | Yuliya Dzevik | ok | NQ |Skandium | | spm1519 | Maziar Sedghisaray | ok | | spm1520 | Francesco Crecchi | ok | GOL | FastFlow | Passed | | spm1521 | Giovanni Palmitesta | ok | NQ | FastFlow | | spm1522 | Paolo Cifariello | ok | GOL | Skandium | | spm1523 | Biruk Bekele Legamo | ok | | spm1524 | Tommaso Catuogno | ok | Python* | | spm1525 | Temesgen T. Lamesa | ok | GOL | Skandium | | spm1526 | Stefano Ceccotti | ok | Python* | | spm1527 | Francesco Scarlato | ok | MDF | | Passed | | spm1528 | Carmelo Ienco | ok | | | Passed | | spm1529 | Flaviano Di Rienzo | ok | GOL | FastFlow | Passed | | spm1530 | | | | | | spm1531 | Cosimo Ragusa | ok | NQ | FastFlow | Passed | | spm1532 | Ahmed Mohiuddin | ok | NQ | FastFlow | | spm1533 | Bici Stella | ok | NQ | FastFlow | Passed | | spm1534 | Thomas Fiorenzani | ok | GOL | FastFlow | Passed | | spm1535 | Giampiero Di Paolo | ok | GOL | FastFlow | | spm1536 | | | | | spm1537 | Gabriele Benvenuti | ok | Leucocyte (Rodinia) | FastFLow | | spm1538 | Francesco Desogus | ok | NQ | FastFlow | Passed | | spm1539 | Gabriele Marini | ok | GOL | Java | Passed | | spm1540 | Antonio Bruno | ok | NQ | | Passed | | spm1541 | Luigi Caiazza | ok | page ranking | FastFlow | | spm1542 | Donati Giacomo | ok | GOL | FastFlow | Passed | | spm1543 | Stefano Loriga | ok | K-means | FastFlow | Passed | | spm1544 | Elia Porciani | ok | GOL | FastFlow | Passed | | spm1545 | Gaia Adami | ok | GOL | | Passed | | spm1546 | Daniele Castellana | ok | | | | spm1547 | Andrea Maggiordomo | ok | MDF | FastFlow | | spm1548 | Russo Stefano | ok | GOL | FF | | === Accessing FastFlow and sample Code/Classworks === The correct version of FastFlow to use for the course is actually replicated under /home/spm1501/fastflow and the exercises and material relative to the classworks are under /home/spm1501/public In case you want to access directly these directories under your own home directory, you may create symbolic links to the two directories by issuing commands such as: link -s /home/spm1501/fastflow . link -s /home/spm1501/public . that will leave two new subdirectories (link) in the current directory. ===== Extra tools ===== All the non standard tools (or the versions newer than the ones provided in the standard distribution) are available under the directory /home/spm1501/public ==== Java ===== Oracle JDK 1.8 has been installed under /home/spm1501/public directory. Set up the PATH to the bin directory and please **avoid** to make local copies of it in your local home directory. Both compiler and run time have been installed. //This only works on the host//, it does not work on the Xeon PHI. ==== Compiling and running code on the PHI ==== In order to be able to use the tools, you have to run the script in * **/opt/intel/composerxe/bin/compilervars.sh intel64** that will set up the proper compiler and library paths. I suggest you to make the execution of the script automatic by inserting the call to the script in the **.bashrc** configuration file of your home directory (add a line such as **/opt/intel/composerxe/bin/compilervars.sh intel64** at the end of this file) In order to run a program on PHI: - compile it on the host using **icc** with the additional flag **-mmic** - copy the executable to the mic0 or mic1 with a **scp a.out mic0:** - execute it on the mic: **ssh mic0 ./a.out Please take into account that a minimal set of libraries is available on the mic. === FastFLow === There are a few things to take into account when using FastFlow on PHI: * please take into account that you need to include the flag -DNO_DEFAULT_MAPPING when compiling FastFlow programs, as the default mapping at the moment assumes a core numbering such as the one used for Sandy/Ivy Bridge (0 first context of the first core, 1 first context of the second core ...) processors, which is different from the one used on PHI (0 first context of the first core, 1 second context of the first core ...). * always use the compile flag -O3 to compile FastFlow code * use the FastFlow version in /home/spm1501/fastflow that is use the compile time flag -I /home/spm1501/fastflow === MIC0 and MIC1 === You can use both the accelerators available on the machine (namely MIC0 and MIC1), despite the fact the examples in this page alway use mic0 ... === Documentation === Available documentation on the Xeon PHI and the relative programming tools may be accessed at the [[https://software.intel.com/en-us/mic-developer|Intel Xeon PHI Developer Zone]] ==== More documentation ===== * [[https://software.intel.com/en-us/articles/intel-and-third-party-tools-and-libraries-available-with-support-for-intelr-xeon-phitm|list of tools]] available for Xeon PHI * {{:magistraleinformaticanetworking:spm:knc_scif_userguide.pdf|SCIF}} user guide * [[http://www.prace-ri.eu/best-practice-guide-intel-xeon-phi-html|best practice]] guide for Xeon PHI from PRACE project * [[http://goparallel.sourceforge.net/wp-content/uploads/2012/10/SF12_SFTS001_101.pdf|Slides]] on Xeon PHI offloading