Skip to content

Commit f80591f

Browse files
committed
feat: Introduction of a test pipeline in the CI. First test example: classic use of a quantum channel. More changes are incoming including a file search of the comparison test files.
1 parent 507218c commit f80591f

5 files changed

Lines changed: 728 additions & 1 deletion

File tree

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,4 +38,4 @@ simulation_results/
3838
simulation_raw_outputs/
3939
figures/
4040
src/tmp_binary/
41-
venv/
41+
venv/

.gitlab-ci.yml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ workflow:
1414
stages:
1515
- analysis
1616
- build
17+
- test
1718

1819
# default values
1920

@@ -99,3 +100,36 @@ build-linux-gcc-x64-avx2:
99100
LFLAGS: -static -static-libgcc -static-libstdc++ -Wl,--whole-archive -lrt -lpthread -Wl,--no-whole-archive
100101
CMAKE_OPT: -DSPU_TESTS=OFF -DSPU_COMPILE_STATIC_LIB=ON -DSPU_COMPILE_SHARED_LIB=ON -DSPU_STACKTRACE=ON -DSPU_OVERRIDE_VERSION=$GIT_TAG
101102
NAME: build_linux_gcc_x64_avx2
103+
104+
################
105+
## test jobs ##
106+
################
107+
108+
.test-linux:
109+
extends: .config-common-linux
110+
stage: test
111+
variables:
112+
GIT_SUBMODULE_STRATEGY: recursive
113+
image: registry.gitlab.com/aff3ct/aff3ct/x86_64_ubuntu_python:v3.8.5
114+
115+
test-regression:
116+
extends: .test-linux
117+
needs:
118+
- job: build-linux-gcc-x64-avx2
119+
artifacts: true
120+
artifacts:
121+
name: test-regression-results
122+
when: always
123+
paths:
124+
- test-regression-results/
125+
script:
126+
- chmod +x ./ci/test-regression.py
127+
- source ./ci/tools/threads.sh
128+
- ./ci/test-regression.py
129+
--refs-path ci/error_rate_references/LDPC/coset/householder_od2/sequence
130+
--results-path test-regression-results
131+
--build-path build_linux_gcc_x64_avx2
132+
--binary-path bin/HDirac
133+
--sensibility 1
134+
--weak-rate 0.9
135+
--verbose 1
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
# Command: ./bin/HDirac --file ci/test_matrices/input/n204800_r0p09765625_cil_RA_SPPCOM_2.bsparse --channel householder_od2 --decoder coset --mode sequence --d 64 --max-error-frame 100 --max-frame 1000 --beta-max 1.0 --beta-min 0.90 --beta-step 0.09
2+
# Eb/N0(lin) Eb/N0(dB) Beta(%) FRA BE FE BER FER SIM_THR ET/RT
3+
# * Simulation parameters:
4+
# ** Max. frame errors = 100
5+
# ** Max. frame total = 1000
6+
# ** Noise seed = 122267123
7+
# ** Info. bits (k) = 20000
8+
# ** Frame size (n) = 204800
9+
# ** Synd. size (r) = 184800
10+
# ** Code rate (R) = 0.0976562
11+
# ** Beta max = 100%
12+
# ** Beta min = 85%
13+
# ** Beta step = 1%
14+
# ** Reconcil. dim. = 64
15+
#
16+
#==================================================================================================#
17+
# #
18+
# ~~-- CV-QKD Virtual Channel [Householder O(d^2)] --~~ #
19+
# #
20+
#--------------------------------------------------------------------------------------------------#
21+
# #
22+
# Decoder : Coset #
23+
# AFF3CT chain : Sequence #
24+
# #
25+
#==================================================================================================#
26+
#
27+
# (II) Performing allocations... Done.
28+
#
29+
# --------------------------------||--------------------------------------------------------||---------------------
30+
# Signal Noise Ratio || Bit Error Rate (BER) and Frame Error Rate (FER) || Global throughput
31+
# (SNR) || || and elapsed time
32+
# --------------------------------||--------------------------------------------------------||---------------------
33+
# ----------|----------|----------||------------|----------|----------|----------|----------||----------|----------
34+
# Eb/N0 | Eb/N0 | Beta || FRA | BE | FE | BER | FER || SIM_THR | ET/RT
35+
# (linear) | (dB) | (%) || | | | | || (Mb/s) | (hhmmss)
36+
# ----------|----------|----------||------------|----------|----------|----------|----------||----------|----------
37+
0.1450 | -8.39 | 100.00 || 100 | 6512483 | 100 | 3.18e-01 | 1.00e+00 || 0.069 | 00h04'55 | 2950000
38+
# 0.1465 | -8.34 | 99.00 || 103 | 5997436 | 100 | 2.84e-01 | 9.71e-01 || 0.073 | 00h04'49 | 2810000
39+
# 0.1481 | -8.29 | 98.00 || 113 | 5379687 | 100 | 2.32e-01 | 8.85e-01 || 0.075 | 00h05'07 | 2720000
40+
# 0.1498 | -8.25 | 97.00 || 174 | 4281940 | 100 | 1.20e-01 | 5.75e-01 || 0.086 | 00h06'55 | 2390000
41+
# 0.1514 | -8.20 | 96.00 || 356 | 4301703 | 100 | 5.90e-02 | 2.81e-01 || 0.112 | 00h10'48 | 1820000
42+
# 0.1532 | -8.15 | 95.00 || 858 | 4153660 | 100 | 2.36e-02 | 1.17e-01 || 0.143 | 00h20'29 | 1430000
43+
# 0.1549 | -8.10 | 94.00 || 1000 | 998691 | 21 | 4.88e-03 | 2.10e-02 || 0.184 | 00h18'32 | 1110000
44+
# 0.1567 | -8.05 | 93.00 || 1000 | 117857 | 4 | 5.75e-04 | 4.00e-03 || 0.212 | 00h16'07 | 968000
45+
# 0.1585 | -8.00 | 92.00 || 1000 | 76982 | 3 | 3.76e-04 | 3.00e-03 || 0.231 | 00h14'47 | 888000
46+
0.1604 | -7.95 | 91.00 || 1000 | 0 | 0 | 4.88e-09 | 1.00e-03 || 0.242 | 00h14'05 | 845000
47+
# 0.1623 | -7.90 | 90.00 || 1000 | 0 | 0 | 4.88e-09 | 1.00e-03 || 0.269 | 00h12'40 | 760000
48+
# 0.1643 | -7.84 | 89.00 || 1000 | 0 | 0 | 4.88e-09 | 1.00e-03 || 0.274 | 00h12'26 | 746000
49+
# 0.1663 | -7.79 | 88.00 || 1000 | 160 | 1 | 7.81e-07 | 1.00e-03 || 0.300 | 00h11'23 | 684000
50+
# 0.1684 | -7.74 | 87.00 || 1000 | 0 | 0 | 4.88e-09 | 1.00e-03 || 0.313 | 00h10'54 | 655000
51+
# 0.1705 | -7.68 | 86.00 || 1000 | 39 | 1 | 1.90e-07 | 1.00e-03 || 0.321 | 00h10'37 | 637000
52+
# 0.1727 | -7.63 | 85.00 || 1000 | 142 | 1 | 6.93e-07 | 1.00e-03 || 0.332 | 00h10'17 | 618000

0 commit comments

Comments
 (0)