Skip to content

Latest commit

 

History

History
executable file
·
139 lines (107 loc) · 4.29 KB

README.md

File metadata and controls

executable file
·
139 lines (107 loc) · 4.29 KB

nimbix_run.py

This readme file contains these sections:

  1. OVERVIEW
  2. SOFTWARE TOOLS AND SYSTEM REQUIREMENTS
  3. INSTALLATION AND OPERATING INSTRUCTIONS
  4. LAUNCHING APPLICATIONS BEHIND A PROXY
  5. SUPPORT
  6. LICENSE
  7. Acknowledgements
  8. REVISION HISTORY

1. OVERVIEW

A script to run applications on FPGA boards hosted by Nimbix from an external network. This program will execute the following steps

  1. Upload the content of the current directory to nimbix
  2. Run the application based on the arguments provided to the script
  3. Copy the results back to the current working directory

2. SOFTWARE TOOLS AND SYSTEM REQUIREMENTS

  • Python 2.7.5
  • lftp

3. INSTALLATION AND OPERATING INSTRUCTIONS

Make sure you have "lftp" installed. If you don't, you can install it by "sudo yum install lftp -y" in RedHAT/CentOS.

Make sure you have "sftp" installed. If not, you can install it the same way.

If you are using the script behind a proxy, like Xilinx internal network, you need to follow the instruction on how to create "~.ssh/config".

  • Add the script to the environment PATH
export PATH=<repo location>/utility/nimbix:$PATH

In order to run the application, the following information is required

Nimbix user name Nimbix API key - this is the encrypted key generated by Nimbix per user

Obtaining the Nimbix API key

  1. Log into the Nimbix cloud at xilinx-cloud.jarvice.com
  2. Click on your username and select settings
  3. Copy the API key to a file

Setting up the local environment for running jobs on Nimbix

  • Set the environment each time
$ export NIMBIX_USER=<username>
$ export NIMBIX_APIKEY=<apikey>

Or

  • Setup the environment once
$ cat <<EOF > ~/.nimbix_creds.json
{
  "username": "<username>",
  "api-key": "<apikey>"
}
EOF

Run an application on Nimbix

$ nimbix_run.py <prog> <args> --type <Node> --nae <Name>
  • < prog > is the name of the application to be executed
  • < args > are the command line arguments required by the application

Here is the table of available nodes and corresponding names.

Node(type) Name(nae) Remark
nx4a xilinx-sdx KCU1500, 17.4_op runtime
nx4b xilinx-sdx_2018_2 KCU1500, 18.2 runtime
nx5a xilinx-sdx VCU1525, 17.4_op runtime
nx5b xilinx-sdx_2018_2 VCU1525, 18.2 runtime
nx5u xilinx-sdx_2018_2_xdf Alveo U200, 18.2_xdf runtime
nx6u xilinx-sdx_2018_2_xdf Alveo U250, 18.2_xdf runtime

4. LAUNCHING APPLICATIONS BEHIND A PROXY

In cases where the system launching applications to Nimbix is located behind a proxy, the following settings are needed

Using Proxy for SSH

$ cat <<EOF >> ~/.ssh/config
Host drop.jarvice.com
   ProxyCommand <path to local proxy service software>
   proxy 80 %h %p
   TCPKeepAlive yes
   ServerAliveInterval 30
EOF

Using Proxy for everything else

$ export http_proxy=http://proxy:8080
$ export https_proxy=https://proxy:8080
$ export ftp_proxy=ftp://proxy:8080
$ export all_proxy=proxy:8080

5. OTHER INFORMATION

For more information check here: SDAccel User Guides

6. SUPPORT

For questions and to get help on this project or your own projects, visit the SDAccel Forums.

7. License

The source for this project is licensed under the 3-Clause BSD License

8. Acknowledgements

The utility is written by developers at Xilinx

10. REVISION HISTORY

Date Readme Version Revision Description
JAN2016 1.0 Initial Xilinx release
MAR2016 2.0 Bug fix: Create /data/automated_test if it does not exist
MAY2016 3.0 Update to Nimbix Jarvice 2.0 infrastructure