Commit 4542322b authored by Sy's avatar Sy

TEST AVX512

parents 558fccbb 6d9ceaa7
...@@ -697,7 +697,7 @@ function main() { ...@@ -697,7 +697,7 @@ function main() {
if [ "$SIMUS_PHY" = "1" ] ; then if [ "$SIMUS_PHY" = "1" ] ; then
echo_info "Compiling physical unitary tests simulators" echo_info "Compiling physical unitary tests simulators"
# TODO: fix: dlsim_tm4 pucchsim prachsim pdcchsim pbchsim mbmssim # TODO: fix: dlsim_tm4 pucchsim prachsim pdcchsim pbchsim mbmssim
simlist="dlsim ulsim ldpctest polartest smallblocktest nr_pbchsim nr_dlschsim nr_ulschsim nr_dlsim nr_ulsim nr_pucchsim nr_prachsim" simlist="ldpctest dlsim ulsim polartest smallblocktest nr_pbchsim nr_dlschsim nr_ulschsim nr_dlsim nr_ulsim nr_pucchsim nr_prachsim"
for f in $simlist ; do for f in $simlist ; do
compilations \ compilations \
phy_simulators $f \ phy_simulators $f \
......
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
#ifndef __NR_LDPC_BNPROC__H__ #ifndef __NR_LDPC_BNPROC__H__
#define __NR_LDPC_BNPROC__H__ #define __NR_LDPC_BNPROC__H__
#include <immintrin.h>
/** /**
\brief Performs first part of BN processing on the BN processing buffer and stores the results in the LLR results buffer. \brief Performs first part of BN processing on the BN processing buffer and stores the results in the LLR results buffer.
At every BN, the sum of the returned LLRs from the connected CNs and the LLR of the receiver input is computed. At every BN, the sum of the returned LLRs from the connected CNs and the LLR of the receiver input is computed.
......
...@@ -439,6 +439,7 @@ static inline void nrLDPC_cnProc_BG1(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf* p_pr ...@@ -439,6 +439,7 @@ static inline void nrLDPC_cnProc_BG1(t_nrLDPC_lut* p_lut, t_nrLDPC_procBuf* p_pr
min = _mm256_min_epu8(min, _mm256_abs_epi8(ymm0)); min = _mm256_min_epu8(min, _mm256_abs_epi8(ymm0));
sgn = _mm256_sign_epi8(sgn, ymm0); sgn = _mm256_sign_epi8(sgn, ymm0);
// Store result // Store result
min = _mm256_min_epu8(min, *p_maxLLR); // 128 in epi8 is -127 min = _mm256_min_epu8(min, *p_maxLLR); // 128 in epi8 is -127
*p_cnProcBufResBit = _mm256_sign_epi8(min, sgn); *p_cnProcBufResBit = _mm256_sign_epi8(min, sgn);
......
...@@ -263,8 +263,8 @@ static inline uint32_t nrLDPC_decoder_core(int8_t* p_llr, int8_t* p_out, t_nrLDP ...@@ -263,8 +263,8 @@ static inline uint32_t nrLDPC_decoder_core(int8_t* p_llr, int8_t* p_out, t_nrLDP
uint8_t BG = p_decParams->BG; uint8_t BG = p_decParams->BG;
uint8_t numMaxIter = p_decParams->numMaxIter; uint8_t numMaxIter = p_decParams->numMaxIter;
e_nrLDPC_outMode outMode = p_decParams->outMode; e_nrLDPC_outMode outMode = p_decParams->outMode;
int8_t* cnProcBuf= p_procBuf->cnProcBuf; // int8_t* cnProcBuf= p_procBuf->cnProcBuf;
int8_t* cnProcBufRes=p_procBuf->cnProcBufRes; // int8_t* cnProcBufRes=p_procBuf->cnProcBufRes;
// Minimum number of iterations is 1 // Minimum number of iterations is 1
// 0 iterations means hard-decision on input LLRs // 0 iterations means hard-decision on input LLRs
...@@ -334,7 +334,7 @@ static inline uint32_t nrLDPC_decoder_core(int8_t* p_llr, int8_t* p_out, t_nrLDP ...@@ -334,7 +334,7 @@ static inline uint32_t nrLDPC_decoder_core(int8_t* p_llr, int8_t* p_out, t_nrLDP
case 384: case 384:
{ {
// nrLDPC_cnProc_BG1_Z384_13_AVX2(p_procBuf->cnProcBuf,p_procBuf->cnProcBufRes); // nrLDPC_cnProc_BG1_Z384_13_AVX2(p_procBuf->cnProcBuf,p_procBuf->cnProcBufRes);
nrLDPC_cnProc_BG1_Z384_13_AVX512(p_procBuf->cnProcBuf,p_procBuf->cnProcBufRes); //were test here nrLDPC_cnProc_BG1_Z384_13_AVX512(p_procBuf->cnProcBuf,p_procBuf->cnProcBufRes); //we test here
break; break;
} }
case 352: case 352:
...@@ -1928,8 +1928,8 @@ static inline uint32_t nrLDPC_decoder_core(int8_t* p_llr, int8_t* p_out, t_nrLDP ...@@ -1928,8 +1928,8 @@ static inline uint32_t nrLDPC_decoder_core(int8_t* p_llr, int8_t* p_out, t_nrLDP
} }
case 352: case 352:
{ {
//nrLDPC_cnProc_BG1_Z352_13_AVX2(p_procBuf->cnProcBuf,p_procBuf->cnProcBufRes); nrLDPC_cnProc_BG1_Z352_13_AVX2(p_procBuf->cnProcBuf,p_procBuf->cnProcBufRes);
nrLDPC_cnProc_BG1_Z352_13_AVX512(p_procBuf->cnProcBuf,p_procBuf->cnProcBufRes); //nrLDPC_cnProc_BG1_Z352_13_AVX512(p_procBuf->cnProcBuf,p_procBuf->cnProcBufRes);
break; break;
} }
......
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
#ifndef __AVX512BW__ #ifndef __AVX512BW__
#pragma GCC push_options #pragma GCC push_options
//#pragma GCC target("avx512bw") #pragma GCC target("avx512bw")
#define __DISABLE_AVX512BW__ #define __DISABLE_AVX512BW__
#endif /* __AVX512BW__ */ #endif /* __AVX512BW__ */
......
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
#ifndef __AVX512F__ #ifndef __AVX512F__
#pragma GCC push_options #pragma GCC push_options
//#pragma GCC target("avx512f") #pragma GCC target("avx512f")
#define __DISABLE_AVX512F__ #define __DISABLE_AVX512F__
#endif /* __AVX512F__ */ #endif /* __AVX512F__ */
......
...@@ -29,17 +29,15 @@ ...@@ -29,17 +29,15 @@
*/ */
#include <stdint.h> #include <stdint.h>
//#include <immintrin.h> #include <immintrin.h>
#include "nrLDPCdecoder_defs.h" #include "nrLDPCdecoder_defs.h"
#include "nrLDPC_types.h" #include "nrLDPC_types.h"
#include "nrLDPC_init.h" #include "nrLDPC_init.h"
#include "nrLDPC_mPass.h" #include "nrLDPC_mPass.h"
#include "nrLDPC_cnProc.h" #include "nrLDPC_cnProc.h"
#include "nrLDPC_bnProc.h" #include "nrLDPC_bnProc.h"
#include <avx512fintrin.h>
//#include "include/immintrin.h" //#include "include/immintrin.h"
#include "include/avx512fintrin.h"
#include "include/avx2intrin.h"
#define NR_LDPC_ENABLE_PARITY_CHECK #define NR_LDPC_ENABLE_PARITY_CHECK
#define NR_LDPC_PROFILER_DETAIL #define NR_LDPC_PROFILER_DETAIL
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment