module TestRedisModule contains subroutine testRedis use iso_c_binding use smartredis_client, only : client_type implicit none include "..\sredis\enum_fortran.inc" integer, parameter :: dim1 = 10 integer, parameter :: dim2 = 20 integer, parameter :: dim3 = 30 real(kind=8), dimension(dim1, dim2, dim3) :: recv_array_real_64 real(kind=c_double), dimension(dim1, dim2, dim3) :: send_array_real_64 integer :: i, j, k, result type(client_type) :: client call random_number(send_array_real_64) ! Initialize a client result = client%initialize(.true.)!, "smartredis_put_get_3D") ! Change .false. to .true. if not using a clustered database if (result .ne. SRNoError) error stop 'client%initialize failed' ! Send a tensor to the database via the client and verify that we can retrieve it result = client%put_tensor("send_array", send_array_real_64, shape(send_array_real_64)) if (result .ne. SRNoError) error stop 'client%put_tensor failed' result = client%unpack_tensor("send_array", recv_array_real_64, shape(recv_array_real_64)) if (result .ne. SRNoError) error stop 'client%unpack_tensor failed' ! Done call exit() end subroutine end module TestRedisModule