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