-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
enhancementNew feature or requestNew feature or request
Description
The incoming data format has 64 independent channels. Our use of AVX2 allows each pipeline to process 16 channels. This results in 4 independent pipelines that should be parallelized.
The incoming data should be handled with care since the 4th pipeline has an exception for frame expansion. The frame expansion could be moved to the start of AVXPipeline while TPGenerator` adjusts the 4th frame before sending it, as in:
tpglibs/include/tpglibs/TPGenerator.hpp
Lines 78 to 84 in f0a13b6
| if (p == m_num_pipelines - 1) | |
| cursor -= 4; // Take a step of 32 bit backwards for the last sub-frame. | |
| __m256i regi = _mm256_lddqu_si256((__m256i*)cursor); | |
| if (p == m_num_pipelines - 1) // Permute the row order to use the same operation. | |
| regi = _mm256_permutevar8x32_epi32(regi, _mm256_setr_epi32(1, 2, 3, 4, 5, 6, 7, 0)); |
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request