{"id":16646159,"url":"https://github.com/xaionaro/cufft-grpc","last_synced_at":"2026-05-05T14:32:21.607Z","repository":{"id":71635565,"uuid":"427466707","full_name":"xaionaro/cuFFT-gRPC","owner":"xaionaro","description":"Export cuFFT through gRPC","archived":false,"fork":false,"pushed_at":"2021-11-20T20:40:05.000Z","size":24,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-27T15:14:57.810Z","etag":null,"topics":["cmake","cuda","cufft","fft","fourier","go","golang","gpu","grpc","transformation"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xaionaro.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-11-12T18:57:22.000Z","updated_at":"2021-12-12T21:11:50.000Z","dependencies_parsed_at":"2023-05-13T02:45:41.590Z","dependency_job_id":null,"html_url":"https://github.com/xaionaro/cuFFT-gRPC","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/xaionaro/cuFFT-gRPC","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xaionaro%2FcuFFT-gRPC","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xaionaro%2FcuFFT-gRPC/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xaionaro%2FcuFFT-gRPC/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xaionaro%2FcuFFT-gRPC/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xaionaro","download_url":"https://codeload.github.com/xaionaro/cuFFT-gRPC/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xaionaro%2FcuFFT-gRPC/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262557071,"owners_count":23328230,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cmake","cuda","cufft","fft","fourier","go","golang","gpu","grpc","transformation"],"created_at":"2024-10-12T08:26:39.398Z","updated_at":"2026-05-05T14:32:21.576Z","avatar_url":"https://github.com/xaionaro.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Server\n```\nxaionaro@alien:~/go/src/github.com/xaionaro/cuFFT-gRPC$ rm -rf build \u0026\u0026 mkdir build \u0026\u0026 (cd build \u0026\u0026 cmake .. \u0026\u0026 make \u0026\u0026 ./cuFFT-gRPC)\n-- The CXX compiler identification is GNU 10.3.0\n-- The CUDA compiler identification is NVIDIA 11.2.152\n-- Detecting CXX compiler ABI info\n-- Detecting CXX compiler ABI info - done\n-- Check for working CXX compiler: /usr/local/bin/c++ - skipped\n-- Detecting CXX compile features\n-- Detecting CXX compile features - done\n-- Detecting CUDA compiler ABI info\n-- Detecting CUDA compiler ABI info - done\n-- Check for working CUDA compiler: /usr/bin/nvcc - skipped\n-- Detecting CUDA compile features\n-- Detecting CUDA compile features - done\n-- Looking for C++ include pthread.h\n-- Looking for C++ include pthread.h - found\n-- Performing Test CMAKE_HAVE_LIBC_PTHREAD\n-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed\n-- Looking for pthread_create in pthreads\n-- Looking for pthread_create in pthreads - not found\n-- Looking for pthread_create in pthread\n-- Looking for pthread_create in pthread - found\n-- Found Threads: TRUE\n-- Found CUDA: /usr (found version \"11.2\")\n-- Found CUDAToolkit: /usr/include (found version \"11.2.152\")\n-- Found Protobuf: /usr/lib/x86_64-linux-gnu/libprotobuf.so;-lpthread (found version \"3.12.4\")\n-- Configuring done\n-- Generating done\n-- Build files have been written to: /home/xaionaro/go/src/github.com/xaionaro/cuFFT-gRPC/build\n[ 16%] Generating service.pb.cc, service.pb.h, service.grpc.pb.cc, service.grpc.pb.h\nScanning dependencies of target svc_grpc_proto\n[ 33%] Building CXX object CMakeFiles/svc_grpc_proto.dir/service.grpc.pb.cc.o\n[ 50%] Building CXX object CMakeFiles/svc_grpc_proto.dir/service.pb.cc.o\n[ 66%] Linking CXX static library libsvc_grpc_proto.a\n[ 66%] Built target svc_grpc_proto\nScanning dependencies of target cuFFT-gRPC\n[ 83%] Building CXX object CMakeFiles/cuFFT-gRPC.dir/src/main.cpp.o\n[100%] Linking CXX executable cuFFT-gRPC\n[100%] Built target cuFFT-gRPC\nWARNING: Logging before InitGoogleLogging() is written to STDERR\nI1112 21:27:23.749905 2125847 main.cpp:284] Server listening on 0.0.0.0:11216\n```\n\n# Client\n```go\n...\n\tresponse, err := client.Exec(ctx, \u0026pb.FTRequest{\n\t\tValues: castFloat64SliceToBytes([]float64{1, 2, 1, 3, 1, 1, 0, 1, 0.5, 0}),\n\t\tType:   pb.FTType_D2Z,\n\t\tSize:   []uint32{10},\n\t\tTasks:  1,\n\t})\n\tassertNoError(err)\n\n\tresult := castBytesToComplex128Slice(response.Values)\n\tfmt.Println(result)\n\n\tresponse, err = client.Exec(ctx, \u0026pb.FTRequest{\n\t\tValues: castComplex128SliceToBytes(result),\n\t\tType:   pb.FTType_Z2D,\n\t\tSize:   []uint32{10},\n\t\tTasks:  1,\n\t})\n\tassertNoError(err)\n\n\treversed := castBytesToFloat64Slice(response.Values)\n\tfor idx := range reversed {\n\t\treversed[idx] /= float64(len(reversed))\n\t}\n\tfmt.Println(reversed)\n...\n```\n\n```\nxaionaro@alien:~/go/src/github.com/xaionaro/cuFFT-gRPC$ cd client_example/go \u0026\u0026 go generate . \u0026\u0026 go run .\nIF FAILS then please execute:\n\tgo install google.golang.org/protobuf/cmd/protoc-gen-go@latest \u0026\u0026 \\\n\tgo install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest\n\n[(10.5+0i) (0.036474508437579045-4.140997047615304i) (-1.5225424859373684-0.06937863785644394i) (1.713525491562421-1.383706418154278i) (1.2725424859373684-2.0143700267352034i) (-3.5+0i)]\n[1 2.0000000000000004 1.0000000000000002 3.0000000000000004 1 1 -8.881784197001253e-17 0.9999999999999997 0.49999999999999983 0]\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxaionaro%2Fcufft-grpc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxaionaro%2Fcufft-grpc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxaionaro%2Fcufft-grpc/lists"}