Details
-
Spike
-
Not Assigned
-
None
-
Data Processing
-
-
-
1
-
1
-
0
-
Team_PSS
-
Sprint 5
-
-
-
-
12.1
-
Stories Completed, Outcomes Reviewed, Satisfies Acceptance Criteria, Accepted by FO
Description
The introduction of the "Intel FPGA SDK for OpenCL Pro Edition" version 20.4 has introduced some new burdensome requirements. The Intel FPGA supported platforms are either not fully
supported or are old as shown at this link: https://www.intel.com/content/www/us/en/programmable/support/support-resources/download/os-support.html .
Of these options we currently restrict our toolchain to that provided by CentOs 7.5 in order to enjoy full support for our FPGA boards, and ensure all the components of our product integrate.
It is unfortunate then that Intel's own SDK (specifically the Emulator sub-component of this toolkit), does not work on these older supposedly fully supported platforms. The problem is that their emulator tool requires a relatively new compiler gcc 7.2.0 which is not available on this version of CentOs. The SDK documentation recommends a full build from source code of the relevant compiler in order to use it. Quite apart from the discussion that asking every developer to build their own compiler on a "supported" platform could be deemed adequate support, the
bigger stumbling block is that doing so breaks the ABI (application binary interface) with all the system libraries on that platform. This means they cannot be used, and that any library in our own products' dependency chain will need to be rebuilt with this same compiler from scratch. The knock on effects of this are to further complicate the testing and distribution of out own product, and places a unreasonable burden on our teams of non FPGA developers.
I (Chris Williams) don't think there is any way this can be called "full support" for CentOs 7.5. So we should ask Intel to either support the platform adequately or deprecate CentOs 7.5 entirely and provide "full support" for more recent Linux distributions. We have other toolchains we use in our product (namely CUDA) that are already beginning to drop support for CentOs 7 toolchains and so the latter option would be preferable.