mirror of
https://github.com/intel/intel-device-plugins-for-kubernetes.git
synced 2025-06-03 03:59:37 +00:00
Merge pull request #22 from bart0sh/PR0016-rework-fpga-demo
Rework FPGA demo
This commit is contained in:
commit
f36bf8ae12
@ -1,22 +1,15 @@
|
|||||||
FROM ubuntu:16.04
|
FROM ubuntu:16.04
|
||||||
|
|
||||||
# install OPAE build tools and dependencies
|
# install OPAE build tools and dependencies
|
||||||
RUN apt-get update && apt-get install -y cmake gcc g++ patch wget zip libboost-all-dev libjson-c-dev uuid-dev
|
RUN apt-get update && apt-get install -y wget libjson0 uuid-dev
|
||||||
|
|
||||||
COPY hello_fpga.diff /opt/build/
|
ENV OPAE_URL https://github.com/OPAE/opae-sdk/releases/download/1.0.0-5
|
||||||
|
|
||||||
# download OPAE sources
|
# download OPAE sources
|
||||||
RUN mkdir -p /opt/build && \
|
RUN mkdir -p /opt/build && \
|
||||||
cd /opt/build && \
|
cd /opt/build && \
|
||||||
wget https://github.com/OPAE/opae-sdk/archive/0.13.0.tar.gz -O- | tar -zx
|
wget $OPAE_URL/opae-libs-1.0.0.x86_64.deb $OPAE_URL/opae-tools-1.0.0.x86_64.deb \
|
||||||
|
$OPAE_URL/opae-tools-extra-1.0.0.x86_64.deb $OPAE_URL/opae-devel-1.0.0.x86_64.deb && \
|
||||||
|
dpkg -i *.deb
|
||||||
|
|
||||||
# patch, build and install OPAE and hello_fpga
|
COPY test_fpga.sh /usr/bin/
|
||||||
RUN cd /opt/build/opae-sdk-0.13.0 && \
|
|
||||||
patch -p0 < ../hello_fpga.diff && \
|
|
||||||
mkdir mybuild && \
|
|
||||||
cd mybuild && \
|
|
||||||
cmake .. -DBUILD_ASE=1 && \
|
|
||||||
make install && \
|
|
||||||
cp ./bin/hello_fpga /usr/bin/
|
|
||||||
|
|
||||||
COPY run_hello_fpga.sh /usr/bin/
|
|
||||||
|
@ -1,20 +0,0 @@
|
|||||||
#!/bin/sh -xe
|
|
||||||
|
|
||||||
if [ $(cat /sys/class/fpga/intel-fpga-dev.0/intel-fpga-port.0/afu_id) != 'd8424dc4a4a3c413f89e433683f9040b' ] ; then
|
|
||||||
echo 'ERROR: NLB(Native Loopback Adapter) AFU is not loaded' >&2
|
|
||||||
echo 'Please refer to the NLB documentation for the location of the NLB green bitstream.'
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ $(cat /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages) -lt 20 ] ; then
|
|
||||||
echo 'ERROR: system hugepage is not configured to reserve 2M-hugepages' >&2
|
|
||||||
echo 'please run this command to do it: "echo 20 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages"'
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
devnum=$(ls /dev/intel-fpga-port.* | cut -f2 -d.)
|
|
||||||
name="intel-fpga-dev.$devnum"
|
|
||||||
bus="0x$(ls -la /sys/class/fpga/$name/ |grep device |cut -f3 -d:)"
|
|
||||||
echo "using device $name, bus $bus"
|
|
||||||
|
|
||||||
/usr/bin/hello_fpga -b $bus
|
|
22
demo/ubuntu-demo-opae/test_fpga.sh
Executable file
22
demo/ubuntu-demo-opae/test_fpga.sh
Executable file
@ -0,0 +1,22 @@
|
|||||||
|
#!/bin/sh -e
|
||||||
|
|
||||||
|
# Test FPGA by running 2 OPAE samples: nlb3 and nlb0
|
||||||
|
# nlb3 is expected to succeed, nlb0 - to fail
|
||||||
|
green () { echo "\033[0;32m$1\033[0m";}
|
||||||
|
red () { echo "\033[0;31m$1\033[0m";}
|
||||||
|
|
||||||
|
green 'Running nlb3'
|
||||||
|
if nlb3; then
|
||||||
|
green 'nlb3 succeeded as expected'
|
||||||
|
green 'Running nlb0 sample'
|
||||||
|
if nlb0; then
|
||||||
|
red 'nlb0 succeeded'
|
||||||
|
red 'FAILURE: unexpected nlb0 success'
|
||||||
|
else
|
||||||
|
green 'nlb0 failed as expected'
|
||||||
|
green 'SUCCESS'
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
red 'nlb3 failed'
|
||||||
|
green 'FAILURE: unexpeced nlb3 failure'
|
||||||
|
fi
|
Loading…
Reference in New Issue
Block a user