GithubHelp home page GithubHelp logo

dgiantsidi / coyote-playground Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 95.46 MB

C++ 7.31% SystemVerilog 0.02% Verilog 3.61% Nix 0.01% Tcl 1.06% LLVM 0.05% C 0.01% Ada 82.93% VHDL 5.01% Makefile 0.01% Shell 0.01%

coyote-playground's Introduction

Coyote-playground

Performance results

  • Setup: 2 U280s directly connected w/o switch
  • Note: looks like the RDMA_READ will still block for big packet sizes (16K and more)

Testing the RDMA

Testing on NIXOS servers

sudo rmmod coyote_drv
sudo bash sw/util/hot_reset.sh "e1:00.0"
flash fpga bitstream
sudo bash sw/util/hot_reset.sh "e1:00.0"
sudo insmod driver/coyote_drv.ko
  • Flash fpga bitstream
xilinx-shell
vivado -mode tcl -source stream.tcl
source /share/xilinx/Vivado/2022.1/settings64.sh
dimitra@sakura:~/Coyote-latest/Coyote/hw/u280_kamil$ /usr/bin/cmake .. -DFDEV_NAME=u280 -DEXAMPLE=perf_rdma_host
make shell -j
make -C $(nix-build -E '(import <nixpkgs> {}).linuxPackages_6_4.kernel.dev' --no-out-link)/lib/modules/*/build M=$(pwd)

else if linuxPackages_.._ is not the same with uname -r just do

find /nix -type d -regex ".*linux-6\.3\.5-dev"
KERNELDIR ?= /nix/store/h2f96f8kgzs3kv6k01l09a4ajz02f6x8-linux-6.3.5-dev/lib/modules/6.3.5/build
sudo FPGA_0_IP_ADDRESS=10.0.0.2 ./main -t 131.159.102.20 -w 1
sudo FPGA_0_IP_ADDRESS=10.0.0.1 ./main -w 1 
➜  ~ sudo insmod coyote_drv.ko ip_addr_q0=0a000001 mac_addr_q0=000A350E24D6
➜  ~ sudo insmod coyote_drv.ko ip_addr_q0=0a000002 mac_addr_q0=000A350E24F2

Linux driver patch in fpga_dev.c.

    // create device class
#if LINUX_VERSION_CODE >= KERNEL_VERSION(6,4,0)
    fpga_class = class_create(DEV_NAME);
#else 
    fpga_class = class_create(THIS_MODULE, DEV_NAME);
#endif

coyote-playground's People

Contributors

dgiantsidi avatar kamilkozakowski avatar

Watchers

 avatar

coyote-playground's Issues

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.