Required equipment list:
node n's port 0 connects to node n+1's port 3 |
node n's port 1 connects to node n+1's port 2 |
The repository for BlueDBM is currently:
https://github.com/sangwoojun/bluedbm
Once you clone the repository, run "init_xbsv.sh". This will clone the repositories of the tools required to build and run BlueDBM. (connectal and related tools)
Each project developed using BlueDBM are stored in the directory "projects". Each project can either be built for the bluesim environment or the vc707 hardware by running:
make build.bluesim or
make build.vc707 respectively
By default BlueDBM expects the host IDs to be named bdbm## (e.g., bdbm00, bdbm01...). If this is not the case, the enviornment variable BDBM_ID can be set to a numeric value (e.g., BDBM_ID=1).
Caution: The host IDs must match the connections made with the network links. See section "Network Setup"
The PCIe drivers for connectal can be found in tools/connectal/drivers.
To install the drivers, go to tools/connectal/drivers/pcieportal and run:
make
sudo make install
sudo make insmod
This process needs to be done only once.
Programming the FPGA involves first clearing the flash controller chip, clearing the Vertex FPGA, programming the flash controller chip, and then programming the Vertex FPGA.
The required scripts can be downloaded from the link below:
bdbmscripts.tgz
Modify program-all.tcl and program2.sh to match the location of your "vc707" directory, which is the result of running make build.vc707 in the project directory.
And then run ./program2.sh
Note: New PCIe devices are enumerated by the BIOS only during the boot sequence. Therefore, if you are programming an FPGA which did not have BlueDBM on it already, you need to reboot the host server.
You can check for the reboot requirement by running lspci | grep 1be7.
If you see Memory controller: Device 1be7:c100 as part of the output, you probably don't need to reboot.
Run your ./vc707/bin/ubuntu.exe