aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorTomáš Jusko2023-12-18 19:46:51 +0100
committerTomáš Jusko2023-12-18 19:46:51 +0100
commit47f474438121c7b41fd3f1ff2f2bff9bc2850287 (patch)
treecf27215bf72d89b76533876b75276abd9f46a511
parentf8a65bf3dd3a79b3de4fffc66d002292d1fc644c (diff)
downloadpyecsca-47f474438121c7b41fd3f1ff2f2bff9bc2850287.tar.gz
pyecsca-47f474438121c7b41fd3f1ff2f2bff9bc2850287.tar.zst
pyecsca-47f474438121c7b41fd3f1ff2f2bff9bc2850287.zip
Moved to test_stacked_combine
-rw-r--r--test/sca/test_stacked_correlate.py64
1 files changed, 0 insertions, 64 deletions
diff --git a/test/sca/test_stacked_correlate.py b/test/sca/test_stacked_correlate.py
deleted file mode 100644
index 954494f..0000000
--- a/test/sca/test_stacked_correlate.py
+++ /dev/null
@@ -1,64 +0,0 @@
-import pytest
-from numba import cuda
-import numpy as np
-from pyecsca.sca import (
- StackedTraces,
- GPUTraceManager,
- CombinedTrace
-)
-from pyecsca.sca.stacked_traces.correlate import gpu_pearson_corr
-
-TPB = 128
-TRACE_COUNT = 2 ** 10
-TRACE_LEN = 2 ** 15
-RTOL = 1e-5
-ATOL = 1e-5
-
-
-@pytest.fixture()
-def samples():
- np.random.seed(0x1234)
- return np.random.rand(TRACE_COUNT, TRACE_LEN).astype(np.float32, order="F")
-
-
-@pytest.fixture()
-def gpu_manager(samples):
- if not cuda.is_available():
- pytest.skip("CUDA not available")
- return GPUTraceManager(StackedTraces(samples), TPB)
-
-
-@pytest.fixture()
-def intermediate_values():
- np.random.seed(0x1234)
- return np.random.rand(TRACE_COUNT)
-
-
-def pearson_corr(samples, intermediate_values):
- return np.corrcoef(samples, intermediate_values, rowvar=False)[-1, :-1]
-
-
-def test_pearson_coef_no_chunking(samples, gpu_manager, intermediate_values):
- corr_gpu = gpu_pearson_corr(intermediate_values,
- trace_manager=gpu_manager)
- corr_cmp = pearson_corr(samples, intermediate_values)
-
- assert isinstance(corr_gpu, CombinedTrace)
- assert corr_gpu.samples.shape == \
- corr_cmp.shape
-
- assert all(np.isclose(corr_gpu.samples, corr_cmp, rtol=RTOL, atol=ATOL))
-
-
-def test_pearson_coef_chunking(samples, gpu_manager, intermediate_values):
- corr_gpu = gpu_pearson_corr(intermediate_values,
- trace_manager=gpu_manager,
- chunk_size=2 ** 5,
- stream_count=4)
- corr_cmp = pearson_corr(samples, intermediate_values)
-
- assert isinstance(corr_gpu, CombinedTrace)
- assert corr_gpu.samples.shape == \
- corr_cmp.shape
-
- assert all(np.isclose(corr_gpu.samples, corr_cmp, rtol=RTOL, atol=ATOL))