Merge pull request #22 from bart0sh/PR0016-rework-fpga-demo

Rework FPGA demo
This commit is contained in:
Dmitry Rozhkov 2018-06-15 14:31:52 +03:00 committed by GitHub
commit f36bf8ae12
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 28 additions and 33 deletions

View File

@ -1,22 +1,15 @@
FROM ubuntu:16.04
# 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
RUN mkdir -p /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
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/
COPY test_fpga.sh /usr/bin/

View File

@ -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

View 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