Coder Social home page Coder Social logo

bizoffermark / oc-accel Goto Github PK

View Code? Open in Web Editor NEW

This project forked from opencapi/oc-accel

0.0 0.0 0.0 34.3 MB

OpenCAPI Acceleration Framework: develop an accelerator with OpenCAPI technology

License: Apache License 2.0

Makefile 0.67% VHDL 5.56% Shell 1.45% Tcl 1.85% C 2.50% Verilog 14.66% C++ 27.44% Awk 0.04% SystemVerilog 12.74% Python 0.33% Perl 0.20% SWIG 0.01% Jupyter Notebook 0.04% Ada 32.48% HTML 0.02%

oc-accel's Introduction

OC-Accel Framework

OpenCAPI Acceleration Framework, abbreviated as OC-Accel, is a framework that helps you implement your FPGA acceleration solutions with OpenCAPI technology.

Documentation

https://opencapi.github.io/oc-accel-doc/

Dependencies

  • On a X86 server:
    export XILINX_ROOT=/opt/Xilinx/xxxx.y   # setup your xilinx tools install dir. eg xxxx.y = 2020.1
    export [email protected]	# Vivado license
    . $XILINX_ROOT/settings64.sh
  • On a POWER9 server:
    • Install lib-ocxl on server:
      sudo apt-get install libocxl-dev # for Ubuntu
      sudo yum install libocxl-devel   # for RHEL

Quick Start, Step 1: Simulate and Build FPGA on x86:

  • Clone OpenCAPI Simulation Engine and OC-Accel framework
    git clone https://github.com/OpenCAPI/ocse.git
    git clone https://github.com/OpenCAPI/oc-accel.git
    cd oc-accel
    make snap_config  ## this uses an opensource Kconfig menu
  • In the menu:
    • Select a card and an example (eg: hls_helloworld_1024) to test (use space bar)
    • Exit the menu
  • Now run a simulation on X86 with default xsim simulator
    make sim     ## (or make sim_tmux if no xterm available)
  • In the terminal run:(stay in the current default directory)
    snap_helloworld_1024 # the default help will propose the simulation example 
  • Run the proposed test and check it passes ok
  • To generate the flash content run:
    make image

This produces a .bin file (it is the full description of the FPGA content) to be loaded in memory of the chosen OC card plugged in a POWER9 server. File is located in ~/oc-accel/hardware/build/Images/

Quick Start, Step 2: Program and Test on POWER9 server:

  • Card flash programming:
    • Card is new : Check card supplier procedure. Some allow PCIe flash programming, other require JTAG probe.
    • Card is already programmed with a previous OC binary:
      • Transfer the .bin file into the POWER server by any mean (scp, ftp, ...)
      • Use OpenCAPI Utils tools to load the oc_date_XX_hls_helloworld_1024_YY_OC-card_YY.bin file.
        sudo git clone https://github.com/OpenCAPI/oc-utils.git
        sudo make install # default installation
      • Flash the card memory.
        sudo oc-flash-script oc_date_XX_hls_helloworld_1024_YY_OC-card_YY.bin
  • Install oc-accel on the POWER server and compile code:
    git clone https://github.com/OpenCAPI/oc-accel.git
    cd oc-accel
    make all
  • Run the default test:
    ./actions/hls_helloworld_1024/tests/hw_test.sh
  • Check results

Contributing

This is an open-source project. We greatly appreciate your contributions and collaboration. Before contributing to this project, please read and agree to the rules in

To simplify the sign-off, you may want to create a ".gitconfig" file in you home by executing:

$ git config --global user.name "John Doe"
$ git config --global user.email [email protected]

Then, for every commit, use git commit -s to add the "Signed-off by ..." message.

By default the git repository is read-only. Users can fork the snap repository, make the changes there and issue a pull request. Even members with write access to this repository can't commit directly into the protected master branch. To contribute changes, please create a branch, make the changes there and issue a pull request.

Pull requests to merge into the master branch must be reviewed before they will be merged.

oc-accel's People

Contributors

acastellane avatar bmesnet avatar liuhengibm avatar luyong6 avatar shgoupf avatar fmoyen avatar bizoffermark avatar dependabot[bot] avatar fleon-psi avatar ztongsh avatar shliuyangfan avatar collinqian avatar bynaryman avatar lancethompson avatar mbrobbel avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.