Vortex CUDA
An exact GPU vector-search engine built from CUDA kernels through C++20, Java JNI and Spring Boot. The interesting work is the boundary between kernel behavior, native lifetime management and a service API that can fail cleanly.
One request crosses three runtime boundaries.
The architecture keeps the Java API clean while the native layer owns persistent GPU indexes and CUDA failure propagation.
Performance claims are only useful when the benchmark is reproducible.
The project documents scope and avoids claiming equivalence with an optimized production vector database.
Persistent GPU indexes
Vectors stay resident on the device instead of being re-uploaded for every query, so measurement reflects query execution rather than repeated transfer setup.
Boundary: index lifetime is explicit.Kernel-level Top-K work
Hierarchical/fused Top-K, warp reductions, query tiling, vectorized memory access and measured tuning reduce unnecessary intermediate work.
Method: Nsight-guided optimization.Native lifetime safety
JNI uses opaque native handles and shared ownership so Java-side lifecycle events do not race with native index destruction.
Failure mode: use-after-free across JNI.Service hardening
API-key protection, request IDs, finite-value checks, capacity guards, health checks, metrics and exception-based CUDA failure propagation make the demo service operationally inspectable.
Goal: fail explicitly at the boundary.Benchmark numbers with context attached.
The scalar CPU comparison is the project’s own reference implementation, not a production vector database baseline.