DLTcollab / dcurl

Hardware-accelerated Multi-threaded IOTA PoW, drop-in replacement for ccurl

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Create complete continuous integration of different configuration

marktwtn opened this issue · comments

Since dcurl supports different platforms and configurations, the continuous integration(CI) should test the various combination of it.

  • Hardware platform: CPU, GPU, FPGA(#91)
  • CPU instruction set: x86, arm
  • JNI for integration with IRI
  • Sanitizer check #95

Our CI system is buildkite.
It should be able to run these tests in the scenario like:

  • New pull request
  • New commit in the develop branch
  • Everyday to generate the statistic data

And the CI pipeline should be included in the version control system.

The x86 test is run on the server node1.

I have already installed the OpenCL library and header files with $ sudo apt install ocl-icd-opencl-dev.
But dcurl with GPU was still not working at all.

Based on the previous experience, it could be caused by the driver of the GPU.
The GDB showed me that the OpenCL code could not detect the GPU device.

I installed the tool ubuntu-drivers and used it to show all devices which need drivers, nothing printed to the terminal however.

I follow the ROCm guide to install the AMD GPU driver.


Until now, most of the dcurl configuration are tested on the CI excepts executing on FPGA board.

After the discussion with @ajblane , making dcurl executed on FPGA board with buildkite CI seems workable.
However, we will put this task in a lower priority.

If executing on FPGA board is finished, I'll record the new dcurl CI pipeline in this repository and close this issue.

Related to #146 .

@ender503 set up a buildkite CI agent on one of the FPGA boards, hence we can run the dcurl test on it.
The objective has been achieved.

For changing from the native compiler to the cross compiler, please reference this issue #179.

I'll record the dcurl CI pipeline in this repository later, and the issue can be closed now.