From e0c85c4bf7aeb80db641115cc376cdeba75649d9 Mon Sep 17 00:00:00 2001
From: cucengineer <2702919197@qq.com>
Date: Thu, 13 May 2021 17:14:48 +0800
Subject: [PATCH] cuFFT main ok

---
 executables/nr-softmodem.c                    |  10 +++++++
 executables/nr-uesoftmodem.c                  |   9 +++++++
 openair1/PHY/CODING/nrLDPC_defs.h             |   1 +
 openair1/PHY/CODING/nrLDPC_extern.h           |   5 ++++
 openair1/PHY/CODING/nrLDPC_load.c             |  25 ++++++++++++++++++
 openair1/PHY/TOOLS/oai_dfts.c                 |  11 ++++++++
 openair1/PHY/TOOLS/tools_defs.h               |   3 ++-
 targets/PROJECTS/GENERIC-NR-5GC/CONF/cuFFT.so | Bin 0 -> 61368 bytes
 8 files changed, 63 insertions(+), 1 deletion(-)
 create mode 100755 targets/PROJECTS/GENERIC-NR-5GC/CONF/cuFFT.so

diff --git a/executables/nr-softmodem.c b/executables/nr-softmodem.c
index 4eac9e36a1..57c22fef55 100644
--- a/executables/nr-softmodem.c
+++ b/executables/nr-softmodem.c
@@ -724,6 +724,16 @@ int main( int argc, char **argv )
 
 
   init_opt();
+  load_cuFFT();
+  int32_t a[2048] = {1};
+  int32_t *b = (int32_t *)malloc(2048 * sizeof(int32_t));
+  int i;
+  for (i = 0; i < 2048; i++)
+  {
+    a[i]= 2048-i;
+  }
+  cudft204((int16_t*)a,(int16_t*)b,1);
+  cudft2048((int16_t*)a,(int16_t*)b,1);
 
 
 #ifdef PDCP_USE_NETLINK
diff --git a/executables/nr-uesoftmodem.c b/executables/nr-uesoftmodem.c
index fe5e0a4269..b7c2967d49 100644
--- a/executables/nr-uesoftmodem.c
+++ b/executables/nr-uesoftmodem.c
@@ -441,6 +441,15 @@ int main( int argc, char **argv ) {
 
   init_opt() ;
   load_nrLDPClib();
+  load_cuFFT();
+  // int16_t a[2048] = {1};
+  // int16_t *b = (int16_t *)malloc(2048 * sizeof(int16_t));
+  // int i;
+  // for (i = 0; i < 2048; i++)
+  // {
+  //   a[i]= 2048-i;
+  // }
+  // cudft2048(a,b,1);
 
   if (ouput_vcd) {
     vcd_signal_dumper_init("/tmp/openair_dump_nrUE.vcd");
diff --git a/openair1/PHY/CODING/nrLDPC_defs.h b/openair1/PHY/CODING/nrLDPC_defs.h
index b96067f4b6..7872a5ef4c 100644
--- a/openair1/PHY/CODING/nrLDPC_defs.h
+++ b/openair1/PHY/CODING/nrLDPC_defs.h
@@ -56,4 +56,5 @@ typedef int(*nrLDPC_encoderfunc_t)(unsigned char **,unsigned char **,int,int,sho
    \param p_profiler LDPC profiler statistics
 */
 typedef int32_t(*nrLDPC_decoderfunc_t)(t_nrLDPC_dec_params* , int8_t*, int8_t* , t_nrLDPC_procBuf* , t_nrLDPC_time_stats* );
+typedef void(*cudft_EnTx)(int16_t* , int16_t*, unsigned char );
 #endif
\ No newline at end of file
diff --git a/openair1/PHY/CODING/nrLDPC_extern.h b/openair1/PHY/CODING/nrLDPC_extern.h
index c0bfa0fdd8..f5ffe6736b 100644
--- a/openair1/PHY/CODING/nrLDPC_extern.h
+++ b/openair1/PHY/CODING/nrLDPC_extern.h
@@ -23,13 +23,18 @@
 #ifdef LDPC_LOADER
 nrLDPC_decoderfunc_t nrLDPC_decoder;
 nrLDPC_encoderfunc_t nrLDPC_encoder;
+cudft_EnTx cudft2048;
+cudft_EnTx cudft204;
 #else
 /* functions to load the LDPC shared lib, implemented in openair1/PHY/CODING/nrLDPC_load.c */
 extern int load_nrLDPClib(void) ;
 extern int load_nrLDPClib_ref(char *libversion, nrLDPC_encoderfunc_t * nrLDPC_encoder_ptr); // for ldpctest
 /* ldpc coder/decoder functions, as loaded by load_nrLDPClib(). */
+extern int load_cuFFT(void) ;
 extern nrLDPC_decoderfunc_t nrLDPC_decoder;
 extern nrLDPC_encoderfunc_t nrLDPC_encoder;
+extern cudft_EnTx cudft2048;
+extern cudft_EnTx cudft204;
 // inline functions:
 #include "openair1/PHY/CODING/nrLDPC_decoder/nrLDPC_init_mem.h"
 #endif
\ No newline at end of file
diff --git a/openair1/PHY/CODING/nrLDPC_load.c b/openair1/PHY/CODING/nrLDPC_load.c
index a74bdf7bd1..0a8cc0e2c0 100644
--- a/openair1/PHY/CODING/nrLDPC_load.c
+++ b/openair1/PHY/CODING/nrLDPC_load.c
@@ -39,6 +39,8 @@
 #include "PHY/CODING/nrLDPC_extern.h"
 #include "common/config/config_userapi.h" 
 #include "common/utils/load_module_shlib.h" 
+#include <dlfcn.h>
+
 
 
 /* function description array, to be used when loading the encoding/decoding shared lib */
@@ -73,4 +75,27 @@ int load_nrLDPClib_ref(char *libversion, nrLDPC_encoderfunc_t * nrLDPC_encoder_p
 return 0;
 }
 
+int load_cuFFT(void) {
+     //手动加载指定位置的so动态库
+     void* handle = dlopen("../../../targets/PROJECTS/GENERIC-NR-5GC/CONF/cuFFT.so", RTLD_LAZY|RTLD_NODELETE|RTLD_GLOBAL);
+     if(!handle){
+          printf("open cuFFT.so error!\n");
+          return -1;
+     }
+     //根据动态链接库操作句柄与符号,返回符号对应的地址
+     cudft2048 = (cudft_EnTx) dlsym(handle, "_Z9cudft2048PsS_h");
+     if(!cudft2048){
+          printf("cuFFT.so error!\n");
+          dlclose(handle);
+          return -1;
+     }
+     cudft204 = (cudft_EnTx) dlsym(handle, "_Z8testtestPsS_h");
+     if(!cudft204){
+          printf("cutest.so error!\n");
+          dlclose(handle);
+          return -1;
+     }
+
+return 0;
+}
 
diff --git a/openair1/PHY/TOOLS/oai_dfts.c b/openair1/PHY/TOOLS/oai_dfts.c
index 3a083b3ccf..dc7d7eae90 100644
--- a/openair1/PHY/TOOLS/oai_dfts.c
+++ b/openair1/PHY/TOOLS/oai_dfts.c
@@ -10627,6 +10627,17 @@ int dfts_autoinit(void)
 void dft(uint8_t sizeidx, int16_t *sigF,int16_t *sig,unsigned char scale_flag){
 	AssertFatal((sizeidx>=0 && sizeidx<(int)DFT_SIZE_IDXTABLESIZE),"Invalid dft size index %i\n",sizeidx);
 	dft_ftab[sizeidx](sigF,sig,scale_flag);
+  static int cu_2048 = 1;
+  if(sizeidx==DFT_2048 && cu_2048 < 5)
+  {
+    cu_2048 ++;
+    int i;
+    printf("hs111111111111111111111111111111111111111111111:\n");
+    for (i = 0; i < 1024; i++)
+    {
+      printf("a=%d + %dj\tb=%d + %dj\n", sigF[i*2],sigF[i*2+1],sig[i*2],sig[i*2+1]);
+    }
+  }
 };
 
 void idft(uint8_t sizeidx, int16_t *sigF,int16_t *sig,unsigned char scale_flag){
diff --git a/openair1/PHY/TOOLS/tools_defs.h b/openair1/PHY/TOOLS/tools_defs.h
index 4c68c15cb6..aa21b5708d 100644
--- a/openair1/PHY/TOOLS/tools_defs.h
+++ b/openair1/PHY/TOOLS/tools_defs.h
@@ -262,6 +262,7 @@ void dft36864(int16_t *x,int16_t *y,uint8_t scale_flag);
 void dft49152(int16_t *x,int16_t *y,uint8_t scale_flag); 
 void dft73728(int16_t *x,int16_t *y,uint8_t scale_flag); 
 void dft98304(int16_t *x,int16_t *y,uint8_t scale_flag);
+extern void cudft2048(int16_t *x,int16_t *y,uint8_t scale_flag);
 
 
 void idft64(int16_t *x,int16_t *y,uint8_t scale_flag);
@@ -321,7 +322,7 @@ adftfunc_t dft_ftab[]={
 	dft512,   dft540,   dft576,   dft600,   dft648,  dft720,  dft768,   dft864,
 	dft900,   dft960,   dft972,   dft1024,  dft1080, dft1152, dft1200,  dft1296,
 	dft1440,  dft1500,  dft1536,  dft1620,  dft1728, dft1800, dft1920,  dft1944,
-	dft2048,  dft2160,  dft2304,  dft2400,  dft2592, dft2700, dft2880,  dft2916,
+	cudft2048,  dft2160,  dft2304,  dft2400,  dft2592, dft2700, dft2880,  dft2916,
 	dft3000,  dft3072,  dft3240,  dft4096,  dft6144, dft8192, dft9216,  dft12288,
 	dft18432, dft24576, dft36864, dft49152, dft73728, dft98304
 };
diff --git a/targets/PROJECTS/GENERIC-NR-5GC/CONF/cuFFT.so b/targets/PROJECTS/GENERIC-NR-5GC/CONF/cuFFT.so
new file mode 100755
index 0000000000000000000000000000000000000000..18fd4f10f0e945087a4e8250634ed780befc5e49
GIT binary patch
literal 61368
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
Rgde4jjc4O9hKB{U{|9eEq_+S7

literal 0
HcmV?d00001

-- 
2.26.2