Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sycl/unified/documentation #3

Merged
Merged
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 33 additions & 2 deletions sycl/doc/XilinxFPGACompilation.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,36 @@ Installing Xilinx FPGA compatible software stack:
2. Xilinx runtime (XRT) for FPGAs: Download, build and install [XRT](https://github.com/Xilinx/XRT), this contains the OpenCL runtime.
3. Xilinx SDx (2018.3+): Download and Install [SDx](https://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/sdx-development-environments.html) which contains the `xocc` compiler.

## Platforms

It's of note that the SDx 2018.3 install comes with several platforms that do
keryell marked this conversation as resolved.
Show resolved Hide resolved
not work with the SYCL compiler, i.e. the ZYNC family of boards. Instead, you'll
have to use one of the newer boards, like the Alveo U250 (*xilinx_u250_xdma_201830_1*).
This requires some additional installation steps for the moment as it doesn't come
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What do you mean by "for the moment"? Do you have some view about the future?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah no, I thought I removed that before pushing. I realized the wording made it sound like the platforms will eventually be included in the SDx install, but who knows if they ever will be.

packaged with the SDx download.

How to:
1. Download the Deployment and Development Shell for your OS from the [Alveo U250 getting started page](https://www.xilinx.com/products/boards-and-kits/alveo/u250.html#gettingStarted). **Note**: you can also install the release version of the XRT runtime from here if you would rather use this than build from source.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/from the/from for example the/

2. 1. Install XRT if you haven't already: ``sudo apt install xrt_201830.2.1.1695_<OS>-xrt.deb``
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Say here you assume a Debian/Ubuntu Linux, there are also some RHEL/CentOS packages, but otherwise you should just install XRT from GitHub instead.

2. Install the Deployment Shell: ``sudo apt install xilinx-u250-xdma-201830.1_<OS>.deb``
3. Install the Development Shell: ``sudo apt install xilinx-u250-xdma-201830.1-dev_<OS>.deb``

If you have trouble installing these via the package manager (for example using
a newer distribution like Ubuntu 18.10) it's possible to extract the files and
manually install them. The directory structure of the package mimics the default
install locations on your system, e.g. */opt/xilinx/platforms*. If you choose the
extraction route then all you really require for emulation is the files inside
the Development Shell.

The main files required for emulation of a U250 board are found inside the Development Shell under platforms.

The main files required for deployment to a U250 board are inside the Deployment
Shell.

This set of instructions should be applicable to other boards you wish to test,
you can search for boards via the [boards-and-kits](https://www.xilinx.com/products/boards-and-kits/)
page.

## Environment & Setup

For the moment this projects only been tested on Linux (Ubuntu 18.10), so for
Expand All @@ -43,7 +73,7 @@ execution of SYCL on FPGAs requires the following:
To setup SDx for access to the `xocc` compiler the following steps are required:

```bash
export XILINX_SDX=/path_to/SDx/2019.1
export XILINX_SDX=/path_to/SDx/2018.3
PATH=$XILINX_SDX/bin:$XILINX_SDX/lib/lnx64.o:$PATH
```

Expand Down Expand Up @@ -83,7 +113,7 @@ platform your trying to compile for and the runtime the platform it should be
executing for.

```bash
export XILINX_PLATFORM=zed
export XILINX_PLATFORM=xilinx_u250_xdma_201830_1
```

Generate an emulation configuration file, this should be in the executable
Expand Down Expand Up @@ -144,3 +174,4 @@ compiler.
* Ubuntu 18.10
* XRT 2018.3
* SDx 2018.3
* Alveo U250 Platform: xilinx_u250_xdma_201830_1