diff options
| author | Tomáš Jusko | 2023-12-18 19:46:51 +0100 |
|---|---|---|
| committer | Tomáš Jusko | 2023-12-18 19:46:51 +0100 |
| commit | 47f474438121c7b41fd3f1ff2f2bff9bc2850287 (patch) | |
| tree | cf27215bf72d89b76533876b75276abd9f46a511 | |
| parent | f8a65bf3dd3a79b3de4fffc66d002292d1fc644c (diff) | |
| download | pyecsca-47f474438121c7b41fd3f1ff2f2bff9bc2850287.tar.gz pyecsca-47f474438121c7b41fd3f1ff2f2bff9bc2850287.tar.zst pyecsca-47f474438121c7b41fd3f1ff2f2bff9bc2850287.zip | |
Moved to test_stacked_combine
| -rw-r--r-- | test/sca/test_stacked_correlate.py | 64 |
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)) |
