file generated for CN processing according to the values of Z | version for AVX2 and AVX512
This commit is contained in:
@@ -8,20 +8,20 @@ OBJ= $(SRC:.c=.o)
|
||||
all: $(EXEC)
|
||||
|
||||
cnProc_gen_avx2: $(OBJ)
|
||||
$(CC) -o $@ $^ $(LDFLAGS) -O2 -pg
|
||||
@$(CC) -o $@ $^ $(LDFLAGS) -O2
|
||||
|
||||
main.o: cnProc_gen_avx2.h
|
||||
#main.o: cnProc_gen_avx2.h
|
||||
|
||||
%.o: %.c
|
||||
$(CC) -o $@ -c $< $(CFLAGS) -I ${OPENAIR_HOME}/openair1 -g -pg
|
||||
@$(CC) -o $@ -c $< $(CFLAGS) -I ${OPENAIR_HOME}/openair1 -g
|
||||
|
||||
.PHONY: clean mrproper
|
||||
|
||||
clean:
|
||||
rm -rf *.o
|
||||
@rm -rf *.o
|
||||
|
||||
mrproper: clean
|
||||
rm -rf $(EXEC)
|
||||
@rm -rf $(EXEC)
|
||||
|
||||
zip:
|
||||
tar -zcvf sauvegarde.tar.gz main.c cnProc_gen_avx2.c cnProc_gen_avx2.h Makefile
|
||||
@tar -zcvf sauvegarde.tar.gz main.c cnProc_gen_avx2.c cnProc_gen_avx2.h Makefile
|
||||
|
||||
Binary file not shown.
@@ -3,7 +3,7 @@
|
||||
#include "../../nrLDPCdecoder_defs.h"
|
||||
#include "../../nrLDPC_types.h"
|
||||
#include "../../nrLDPC_bnProc.h"
|
||||
#include "cnProc_gen_avx2.h"
|
||||
//#include "cnProc_gen_avx2.h"
|
||||
|
||||
void nrLDPC_cnProc_BG1_generator_AVX2(uint16_t Z,int R)
|
||||
{
|
||||
@@ -12,12 +12,12 @@ void nrLDPC_cnProc_BG1_generator_AVX2(uint16_t Z,int R)
|
||||
if (R<0 || R>2) {printf("Illegal R %d\n",R); abort();}
|
||||
|
||||
|
||||
// system("mkdir -p ldpc_gen_files");
|
||||
// system("mkdir -p ldpc_gen_files/avx2");
|
||||
|
||||
char fname[50];
|
||||
sprintf(fname,"../ldpc_gen_files/nrLDPC_cnProc_BG1_Z%d_%s_AVX2.c",Z,ratestr[R]);
|
||||
sprintf(fname,"../ldpc_gen_files/avx2/nrLDPC_cnProc_BG1_Z%d_%s_AVX2.c",Z,ratestr[R]);
|
||||
FILE *fd=fopen(fname,"w");
|
||||
if (fd == NULL) {printf("Cannot create %s\n");abort();}
|
||||
if (fd == NULL) {printf("Cannot create \n");abort();}
|
||||
|
||||
fprintf(fd,"#include <stdint.h>\n");
|
||||
fprintf(fd,"#include <immintrin.h>\n");
|
||||
@@ -79,7 +79,7 @@ void nrLDPC_cnProc_BG1_generator_AVX2(uint16_t Z,int R)
|
||||
//p_cnProcBufRes = (__m256i*) &cnProcBufRes[lut_startAddrCnGroups[0]];
|
||||
|
||||
// Loop over every BN
|
||||
int iprime=0;
|
||||
|
||||
for (j=0; j<3; j++)
|
||||
{
|
||||
// Set of results pointer to correct BN address
|
||||
@@ -165,7 +165,7 @@ void nrLDPC_cnProc_BG1_generator_AVX2(uint16_t Z,int R)
|
||||
//p_cnProcBufRes = (__m256i*) &cnProcBufRes[lut_startAddrCnGroups[1]];
|
||||
|
||||
// Loop over every BN
|
||||
int iprime=0;
|
||||
|
||||
for (j=0; j<4; j++)
|
||||
{
|
||||
// Set of results pointer to correct BN address
|
||||
@@ -230,7 +230,7 @@ void nrLDPC_cnProc_BG1_generator_AVX2(uint16_t Z,int R)
|
||||
//p_cnProcBufRes = (__m256i*) &cnProcBufRes[lut_startAddrCnGroups[1]];
|
||||
|
||||
// Loop over every BN
|
||||
int iprime=0;
|
||||
|
||||
for (j=0; j<5; j++)
|
||||
{
|
||||
// Set of results pointer to correct BN address
|
||||
@@ -295,7 +295,7 @@ void nrLDPC_cnProc_BG1_generator_AVX2(uint16_t Z,int R)
|
||||
//p_cnProcBufRes = (__m256i*) &cnProcBufRes[lut_startAddrCnGroups[1]];
|
||||
|
||||
// Loop over every BN
|
||||
int iprime=0;
|
||||
|
||||
for (j=0; j<6; j++)
|
||||
{
|
||||
// Set of results pointer to correct BN address
|
||||
@@ -363,7 +363,7 @@ void nrLDPC_cnProc_BG1_generator_AVX2(uint16_t Z,int R)
|
||||
//p_cnProcBufRes = (__m256i*) &cnProcBufRes[lut_startAddrCnGroups[1]];
|
||||
|
||||
// Loop over every BN
|
||||
int iprime=0;
|
||||
|
||||
for (j=0; j<7; j++)
|
||||
{
|
||||
// Set of results pointer to correct BN address
|
||||
@@ -432,7 +432,7 @@ void nrLDPC_cnProc_BG1_generator_AVX2(uint16_t Z,int R)
|
||||
//p_cnProcBufRes = (__m256i*) &cnProcBufRes[lut_startAddrCnGroups[1]];
|
||||
|
||||
// Loop over every BN
|
||||
int iprime=0;
|
||||
|
||||
for (j=0; j<8; j++)
|
||||
{
|
||||
// Set of results pointer to correct BN address
|
||||
@@ -502,7 +502,7 @@ void nrLDPC_cnProc_BG1_generator_AVX2(uint16_t Z,int R)
|
||||
//p_cnProcBufRes = (__m256i*) &cnProcBufRes[lut_startAddrCnGroups[1]];
|
||||
|
||||
// Loop over every BN
|
||||
int iprime=0;
|
||||
|
||||
for (j=0; j<9; j++)
|
||||
{
|
||||
// Set of results pointer to correct BN address
|
||||
@@ -572,7 +572,7 @@ void nrLDPC_cnProc_BG1_generator_AVX2(uint16_t Z,int R)
|
||||
//p_cnProcBufRes = (__m256i*) &cnProcBufRes[lut_startAddrCnGroups[1]];
|
||||
|
||||
// Loop over every BN
|
||||
int iprime=0;
|
||||
|
||||
for (j=0; j<10; j++)
|
||||
{
|
||||
// Set of results pointer to correct BN address
|
||||
@@ -645,7 +645,7 @@ void nrLDPC_cnProc_BG1_generator_AVX2(uint16_t Z,int R)
|
||||
//p_cnProcBufRes = (__m256i*) &cnProcBufRes[lut_startAddrCnGroups[1]];
|
||||
|
||||
// Loop over every BN
|
||||
int iprime=0;
|
||||
|
||||
for (j=0; j<19; j++)
|
||||
{
|
||||
// Set of results pointer to correct BN address
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
#ifndef NRLDPC_CN_GEN
|
||||
#define NRLDPC_CN_GEN
|
||||
|
||||
void nrLDPC_cnProc_BG1_generator_AVX2(uint16_t Z,int R);
|
||||
|
||||
#endif
|
||||
@@ -2,16 +2,18 @@
|
||||
#include <immintrin.h>
|
||||
#include "../../nrLDPC_types.h"
|
||||
#include "../../nrLDPC_init.h"
|
||||
|
||||
#include "../../nrLDPC_bnProc.h"
|
||||
#include "cnProc_gen_avx2.h"
|
||||
|
||||
int main(int argc, char *argv [])
|
||||
#define NB_Z 51
|
||||
void nrLDPC_cnProc_BG1_generator_AVX2(uint16_t,int);
|
||||
int main()
|
||||
{
|
||||
|
||||
// Z=384, R=1/3
|
||||
nrLDPC_cnProc_BG1_generator_AVX2(384,0);
|
||||
uint16_t Z[NB_Z]={2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,18,20,22,24,26,28,30,32,36,40,44,48,52,56,60,64,72,80,88,96,104,112,120,128,144,160,176,192,208,224,240,256,288,320,352,384};
|
||||
|
||||
|
||||
for(int i=0; i<NB_Z;i++){
|
||||
|
||||
nrLDPC_cnProc_BG1_generator_AVX2(Z[i],0);
|
||||
|
||||
}
|
||||
return(0);
|
||||
}
|
||||
|
||||
@@ -8,20 +8,20 @@ OBJ= $(SRC:.c=.o)
|
||||
all: $(EXEC)
|
||||
|
||||
cnProc_gen_avx512: $(OBJ)
|
||||
$(CC) -o $@ $^ $(LDFLAGS) -O2 -pg
|
||||
@$(CC) -o $@ $^ $(LDFLAGS) -O2
|
||||
|
||||
main.o: cnProc_gen_avx512.h
|
||||
#main.o: cnProc_gen_avx512.h
|
||||
|
||||
%.o: %.c
|
||||
$(CC) -o $@ -c $< $(CFLAGS) -I ${OPENAIR_HOME}/openair1 -g -pg
|
||||
@$(CC) -o $@ -c $< $(CFLAGS) -I ${OPENAIR_HOME}/openair1 -g
|
||||
|
||||
.PHONY: clean mrproper
|
||||
|
||||
clean:
|
||||
rm -rf *.o
|
||||
@rm -rf *.o
|
||||
|
||||
mrproper: clean
|
||||
rm -rf $(EXEC)
|
||||
@rm -rf $(EXEC)
|
||||
|
||||
zip:
|
||||
tar -zcvf sauvegarde.tar.gz main.c cnProc_gen_avx512.c cnProc_gen_avx512.h Makefile
|
||||
tar -zcvf sauvegarde.tar.gz main.c cnProc_gen_avx512.c Makefile
|
||||
|
||||
Binary file not shown.
+10
-12
@@ -3,7 +3,6 @@
|
||||
#include "../../nrLDPCdecoder_defs.h"
|
||||
#include "../../nrLDPC_types.h"
|
||||
#include "../../nrLDPC_bnProc.h"
|
||||
#include "cnProc_gen_avx512.h"
|
||||
|
||||
void nrLDPC_cnProc_BG1_generator_AVX512(uint16_t Z,int R)
|
||||
{
|
||||
@@ -12,12 +11,12 @@ void nrLDPC_cnProc_BG1_generator_AVX512(uint16_t Z,int R)
|
||||
if (R<0 || R>2) {printf("Illegal R %d\n",R); abort();}
|
||||
|
||||
|
||||
// system("mkdir -p ldpc_gen_files");
|
||||
// system("mkdir -p ../ldpc_gen_files");
|
||||
|
||||
char fname[50];
|
||||
sprintf(fname,"../ldpc_gen_files/nrLDPC_cnProc_BG1_Z%d_%s_AVX512.c",Z,ratestr[R]);
|
||||
FILE *fd=fopen(fname,"w");
|
||||
if (fd == NULL) {printf("Cannot create %s\n");abort();}
|
||||
if (fd == NULL) {printf("Cannot create \n");abort();}
|
||||
|
||||
fprintf(fd,"#include <stdint.h>\n");
|
||||
fprintf(fd,"#include <immintrin.h>\n");
|
||||
@@ -92,7 +91,7 @@ void nrLDPC_cnProc_BG1_generator_AVX512(uint16_t Z,int R)
|
||||
//p_cnProcBufRes = (__m512i*) &cnProcBufRes[lut_startAddrCnGroups[0]];
|
||||
|
||||
// Loop over every BN
|
||||
int iprime=0;
|
||||
|
||||
for (j=0; j<3; j++)
|
||||
{
|
||||
// Set of results pointer to correct BN address
|
||||
@@ -178,7 +177,6 @@ void nrLDPC_cnProc_BG1_generator_AVX512(uint16_t Z,int R)
|
||||
//p_cnProcBufRes = (__m512i*) &cnProcBufRes[lut_startAddrCnGroups[1]];
|
||||
|
||||
// Loop over every BN
|
||||
int iprime=0;
|
||||
for (j=0; j<4; j++)
|
||||
{
|
||||
// Set of results pointer to correct BN address
|
||||
@@ -243,7 +241,7 @@ void nrLDPC_cnProc_BG1_generator_AVX512(uint16_t Z,int R)
|
||||
//p_cnProcBufRes = (__m512i*) &cnProcBufRes[lut_startAddrCnGroups[1]];
|
||||
|
||||
// Loop over every BN
|
||||
int iprime=0;
|
||||
|
||||
for (j=0; j<5; j++)
|
||||
{
|
||||
// Set of results pointer to correct BN address
|
||||
@@ -308,7 +306,7 @@ void nrLDPC_cnProc_BG1_generator_AVX512(uint16_t Z,int R)
|
||||
//p_cnProcBufRes = (__m512i*) &cnProcBufRes[lut_startAddrCnGroups[1]];
|
||||
|
||||
// Loop over every BN
|
||||
int iprime=0;
|
||||
|
||||
for (j=0; j<6; j++)
|
||||
{
|
||||
// Set of results pointer to correct BN address
|
||||
@@ -375,7 +373,7 @@ void nrLDPC_cnProc_BG1_generator_AVX512(uint16_t Z,int R)
|
||||
//p_cnProcBufRes = (__m512i*) &cnProcBufRes[lut_startAddrCnGroups[1]];
|
||||
|
||||
// Loop over every BN
|
||||
int iprime=0;
|
||||
|
||||
for (j=0; j<7; j++)
|
||||
{
|
||||
// Set of results pointer to correct BN address
|
||||
@@ -443,7 +441,7 @@ void nrLDPC_cnProc_BG1_generator_AVX512(uint16_t Z,int R)
|
||||
//p_cnProcBufRes = (__m512i*) &cnProcBufRes[lut_startAddrCnGroups[1]];
|
||||
|
||||
// Loop over every BN
|
||||
int iprime=0;
|
||||
|
||||
for (j=0; j<8; j++)
|
||||
{
|
||||
// Set of results pointer to correct BN address
|
||||
@@ -512,7 +510,7 @@ void nrLDPC_cnProc_BG1_generator_AVX512(uint16_t Z,int R)
|
||||
//p_cnProcBufRes = (__m512i*) &cnProcBufRes[lut_startAddrCnGroups[1]];
|
||||
|
||||
// Loop over every BN
|
||||
int iprime=0;
|
||||
|
||||
for (j=0; j<9; j++)
|
||||
{
|
||||
// Set of results pointer to correct BN address
|
||||
@@ -582,7 +580,7 @@ void nrLDPC_cnProc_BG1_generator_AVX512(uint16_t Z,int R)
|
||||
//p_cnProcBufRes = (__m512i*) &cnProcBufRes[lut_startAddrCnGroups[1]];
|
||||
|
||||
// Loop over every BN
|
||||
int iprime=0;
|
||||
|
||||
for (j=0; j<10; j++)
|
||||
{
|
||||
// Set of results pointer to correct BN address
|
||||
@@ -655,7 +653,7 @@ void nrLDPC_cnProc_BG1_generator_AVX512(uint16_t Z,int R)
|
||||
//p_cnProcBufRes = (__m512i*) &cnProcBufRes[lut_startAddrCnGroups[1]];
|
||||
|
||||
// Loop over every BN
|
||||
int iprime=0;
|
||||
|
||||
for (j=0; j<19; j++)
|
||||
{
|
||||
// Set of results pointer to correct BN address
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
#ifndef NRLDPC_CN_GEN
|
||||
#define NRLDPC_CN_GEN
|
||||
|
||||
void nrLDPC_cnProc_BG1_generator_AVX512(uint16_t Z,int R);
|
||||
|
||||
#endif
|
||||
@@ -1,16 +1,24 @@
|
||||
|
||||
#include <stdio.h>
|
||||
#include <immintrin.h>
|
||||
//#include "../nrLDPCdecoder_defs.h"
|
||||
#include "../../nrLDPC_types.h"
|
||||
#include "../../nrLDPC_init.h"
|
||||
#include "../../nrLDPC_bnProc.h"
|
||||
#include "cnProc_gen_avx512.h"
|
||||
|
||||
int main(int argc, char *argv [])
|
||||
#define NB_Z 51
|
||||
void nrLDPC_cnProc_BG1_generator_AVX512(uint16_t,int);
|
||||
int main()
|
||||
{
|
||||
|
||||
// Z=384, R=1/3
|
||||
nrLDPC_cnProc_BG1_generator_AVX512(384,0);
|
||||
|
||||
uint16_t Z[NB_Z]={2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,18,20,22,24,26,28,30,32,36,40,44,48,52,56,60,64,72,80,88,96,104,112,120,128,144,160,176,192,208,224,240,256,288,320,352,384};
|
||||
|
||||
|
||||
for(int i=0; i<NB_Z;i++){
|
||||
|
||||
nrLDPC_cnProc_BG1_generator_AVX512(Z[i],0);
|
||||
|
||||
}
|
||||
return(0);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
+2334
File diff suppressed because it is too large
Load Diff
+2334
File diff suppressed because it is too large
Load Diff
+2334
File diff suppressed because it is too large
Load Diff
+2334
File diff suppressed because it is too large
Load Diff
+2334
File diff suppressed because it is too large
Load Diff
+2334
File diff suppressed because it is too large
Load Diff
+2334
File diff suppressed because it is too large
Load Diff
+2334
File diff suppressed because it is too large
Load Diff
+2334
File diff suppressed because it is too large
Load Diff
+2334
File diff suppressed because it is too large
Load Diff
+2334
File diff suppressed because it is too large
Load Diff
+2334
File diff suppressed because it is too large
Load Diff
+2334
File diff suppressed because it is too large
Load Diff
+2334
File diff suppressed because it is too large
Load Diff
+2334
File diff suppressed because it is too large
Load Diff
+2334
File diff suppressed because it is too large
Load Diff
+2334
File diff suppressed because it is too large
Load Diff
+2334
File diff suppressed because it is too large
Load Diff
+2334
File diff suppressed because it is too large
Load Diff
+2334
File diff suppressed because it is too large
Load Diff
+2334
File diff suppressed because it is too large
Load Diff
+2334
File diff suppressed because it is too large
Load Diff
+2334
File diff suppressed because it is too large
Load Diff
+2334
File diff suppressed because it is too large
Load Diff
+2334
File diff suppressed because it is too large
Load Diff
+2334
File diff suppressed because it is too large
Load Diff
+2334
File diff suppressed because it is too large
Load Diff
+2334
File diff suppressed because it is too large
Load Diff
+2334
File diff suppressed because it is too large
Load Diff
+2334
File diff suppressed because it is too large
Load Diff
+2334
File diff suppressed because it is too large
Load Diff
+2334
File diff suppressed because it is too large
Load Diff
+2335
File diff suppressed because it is too large
Load Diff
+2334
File diff suppressed because it is too large
Load Diff
+2334
File diff suppressed because it is too large
Load Diff
+2334
File diff suppressed because it is too large
Load Diff
+2334
File diff suppressed because it is too large
Load Diff
+2334
File diff suppressed because it is too large
Load Diff
+2334
File diff suppressed because it is too large
Load Diff
+2334
File diff suppressed because it is too large
Load Diff
+2334
File diff suppressed because it is too large
Load Diff
+2334
File diff suppressed because it is too large
Load Diff
+2334
File diff suppressed because it is too large
Load Diff
+2334
File diff suppressed because it is too large
Load Diff
+2334
File diff suppressed because it is too large
Load Diff
+2334
File diff suppressed because it is too large
Load Diff
+2334
File diff suppressed because it is too large
Load Diff
+2334
File diff suppressed because it is too large
Load Diff
+2334
File diff suppressed because it is too large
Load Diff
+2334
File diff suppressed because it is too large
Load Diff
+2334
File diff suppressed because it is too large
Load Diff
+2340
File diff suppressed because it is too large
Load Diff
+2340
File diff suppressed because it is too large
Load Diff
+2340
File diff suppressed because it is too large
Load Diff
+2340
File diff suppressed because it is too large
Load Diff
+2340
File diff suppressed because it is too large
Load Diff
+2340
File diff suppressed because it is too large
Load Diff
+2340
File diff suppressed because it is too large
Load Diff
+2340
File diff suppressed because it is too large
Load Diff
+2340
File diff suppressed because it is too large
Load Diff
+2340
File diff suppressed because it is too large
Load Diff
+2340
File diff suppressed because it is too large
Load Diff
+2340
File diff suppressed because it is too large
Load Diff
+2340
File diff suppressed because it is too large
Load Diff
+2340
File diff suppressed because it is too large
Load Diff
+2340
File diff suppressed because it is too large
Load Diff
+2340
File diff suppressed because it is too large
Load Diff
+2340
File diff suppressed because it is too large
Load Diff
+2340
File diff suppressed because it is too large
Load Diff
+2340
File diff suppressed because it is too large
Load Diff
+2340
File diff suppressed because it is too large
Load Diff
+2340
File diff suppressed because it is too large
Load Diff
+2340
File diff suppressed because it is too large
Load Diff
+2340
File diff suppressed because it is too large
Load Diff
+2340
File diff suppressed because it is too large
Load Diff
+2340
File diff suppressed because it is too large
Load Diff
+2340
File diff suppressed because it is too large
Load Diff
+2340
File diff suppressed because it is too large
Load Diff
+2340
File diff suppressed because it is too large
Load Diff
+2340
File diff suppressed because it is too large
Load Diff
+2340
File diff suppressed because it is too large
Load Diff
+2340
File diff suppressed because it is too large
Load Diff
+2340
File diff suppressed because it is too large
Load Diff
-5
@@ -1,5 +0,0 @@
|
||||
#ifndef NR_CN_PROC_BG1_OPTIM
|
||||
#define NR_CN_PROC_BG1_OPTIM
|
||||
void nrLDPC_cnProc_BG1_Z384_13_AVX512(int8_t* cnProcBuf,int8_t* cnProcBufRes);
|
||||
void nrLDPC_cnProc_BG1_Z384_13_AVX2(int8_t* cnProcBuf,int8_t* cnProcBufRes);
|
||||
#endif
|
||||
+2340
File diff suppressed because it is too large
Load Diff
+2340
File diff suppressed because it is too large
Load Diff
+2340
File diff suppressed because it is too large
Load Diff
+2340
File diff suppressed because it is too large
Load Diff
+2340
File diff suppressed because it is too large
Load Diff
+2340
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user