I have a fortran code with array declared as assumed size array as

```
_REAL_, INTENT(IN), DIMENSION(*) :: STRS5
_REAL_, INTENT(IN), DIMENSION(3,*) :: XSPH
_REAL_, INTENT(IN), DIMENSION(*) :: XMSSPH
_REAL_, INTENT(IN), DIMENSION(*) :: XPAFAC
_REAL_, INTENT(OUT), DIMENSION(*) :: DFV
_REAL_, INTENT(OUT), DIMENSION(*) :: RHONN
_REAL_, INTENT(OUT), DIMENSION(3,*) :: DWD
```

and I have called the c form fortran as

```
CALL cuda_wrapper (
. LLT, IL ,ISTATSPH ,IBI_ASRCH ,
. XMSSPH ,STRS5 ,SPFARE ,IPTR,
. DFV ,NNTABL ,NSPHELE_G ,
. IBI_PSRCH , RHONN , ISKIP ,
. INDX5 ,XSPH ,IXSPHEL ,
. IZMSPH ,XPAFAC ,NSPHMA ,
. IPBDIM ,DINC ,NKERPT ,
. DKERNL ,DWD ,LGR ,ITWSYM,NNS5IX, 3)
```

and inside .cu file I have

```
extern "C" void sph2p2_cuda_wrapper_(int* LLT, int* IL, int* ISTATSPH,
int* IBI_ASRCH, float* XMSSPH, float* STRS5, float* SPFARE, int* IPTR,
float* DFV, int* NNTABL, int* NSPHELE_G, int* IBI_PSRCH, float* RHONN,
int* ISKIP, int* INDX5, float* XSPH, int* IXSPHEL, int* IZMSPH,
float* XPAFAC, int* NSPHMA, int* IPBDIM, float* DINC, int* NKERPT,
float* DKERNL, float* DWD, int* LGR, int* ITWSYM, int* NNS5IX,
int* ITWSYMSIZE)
```

now i need to allocate memory in cuda for the assumed size array but the actual size of the array is unknown. so How can I allocate the array size in cuda for assumed size array