hyperstreamdb 0.1.10__tar.gz → 0.1.12__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/.gitignore +2 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/Cargo.lock +41 -17
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/Cargo.toml +9 -10
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/PKG-INFO +17 -16
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/README.md +14 -12
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/build.rs +30 -30
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/docs/GPU_SETUP_GUIDE.md +42 -5
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/docs/source/conf.py +13 -1
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/pyproject.toml +6 -6
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/index/gpu.rs +38 -63
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/python_gpu_context.rs +10 -12
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/.gitattributes +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/.hypothesis/constants/32b327793848e7d8 +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/.hypothesis/constants/67b0a8ccf18bf5d2 +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/.hypothesis/constants/84828557b4ee7be4 +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/.instructions.md +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/DORIS_OPTIMIZATION_PATTERNS.md +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/LICENSE-APACHE +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/LICENSE-MIT +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/RUN_COMPLIANCE_TESTS.sh +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/STEERING.md +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/THIRDPARTY_NOTICES.md +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/benches/bench_table.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/benches/performance.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/benchmark_results/BENCHMARK_REPORT.md +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/benchmark_results/benchmark_charts.png +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/benchmark_results/benchmark_results.csv +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/book.toml +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/build-connectors.sh +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/build_out.txt +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/check_iceberg_compliance.py +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/clippy_output.txt +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/docker-compose-minio-nessie.yml +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/docker-compose.yml +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/docs/BENCHMARKING.md +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/docs/COMPREHENSIVE_GUIDE.md +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/docs/CONCURRENCY.md +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/docs/CONFIGURATION.md +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/docs/ICEBERG_V2_V3_API.md +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/docs/INSTALLATION.md +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/docs/PGVECTOR_SQL_GUIDE.md +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/docs/PYTHON_VECTOR_API.md +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/docs/VECTOR_CONFIGURATION.md +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/docs/api_reference.md +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/docs/architecture.md +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/docs/catalog_usage.md +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/docs/index.md +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/docs/integrations/README.md +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/docs/integrations/java_jni.md +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/docs/integrations/python.md +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/docs/integrations/spark.md +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/docs/integrations/trino.md +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/docs/requirements.txt +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/docs/source/api/python.rst +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/docs/source/api/rust.rst +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/docs/source/index.rst +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/docs/source/roadmap.md +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/fix_cache.patch +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/fix_nb.py +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/fix_schema.patch +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/proptest-regressions/core/index/gpu.txt +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/proptest-regressions/core/sql/vector_literal.txt +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/proptest-regressions/core/sql/vector_udf.txt +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/python/hyperstreamdb/__init__.py +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/python/hyperstreamdb/embeddings.py +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/spark-hyperstream/.bloop/bloop.settings.json +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/spark-hyperstream/.bloop/spark-hyperstream-test.json +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/spark-hyperstream/.bloop/spark-hyperstream.json +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/spark-hyperstream/pom.xml +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/spark-hyperstream/src/main/java/com/hyperstreamdb/spark/DefaultSource.java +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/spark-hyperstream/src/main/java/com/hyperstreamdb/spark/HyperStreamPartition.java +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/spark-hyperstream/src/main/java/com/hyperstreamdb/spark/HyperStreamPartitionReader.java +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/spark-hyperstream/src/main/java/com/hyperstreamdb/spark/HyperStreamPartitionReaderFactory.java +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/spark-hyperstream/src/main/java/com/hyperstreamdb/spark/HyperStreamScanBuilder.java +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/spark-hyperstream/src/main/java/com/hyperstreamdb/spark/HyperStreamTable.java +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/bin/gateway.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/bin/hdb.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/bin/iceberg_rest.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/bin/probe_datafusion.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/bin/setup_test_data.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/bin/verify_layered_indexing.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/cache.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/catalog/config.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/catalog/glue.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/catalog/hive.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/catalog/jdbc.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/catalog/mod.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/catalog/nessie.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/catalog/rest.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/catalog/unity.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/clustering.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/compaction.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/embeddings.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/ffi.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/iceberg/iceberg_delete.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/iceberg.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/index/cuda/cosine_distance.cu +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/index/cuda/hamming_distance.cu +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/index/cuda/inner_product.cu +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/index/cuda/jaccard_distance.cu +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/index/cuda/kmeans_assignment.cu +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/index/cuda/l1_distance.cu +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/index/cuda/l2_distance.cu +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/index/distance.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/index/hnsw_ivf.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/index/hnsw_rs/annhdf5.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/index/hnsw_rs/api.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/index/hnsw_rs/dist.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/index/hnsw_rs/flatten.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/index/hnsw_rs/hnsw.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/index/hnsw_rs/hnswio.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/index/hnsw_rs/libext.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/index/hnsw_rs/mod.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/index/hnsw_rs/prelude.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/index/hnsw_rs/test.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/index/ivf.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/index/memory.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/index/mod.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/index/mps/cosine_distance.metal +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/index/mps/hamming_distance.metal +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/index/mps/inner_product.metal +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/index/mps/jaccard_distance.metal +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/index/mps/kmeans_assignment.metal +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/index/mps/l1_distance.metal +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/index/mps/l2_distance.metal +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/index/opencl/cosine_distance.cl +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/index/opencl/hamming_distance.cl +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/index/opencl/inner_product.cl +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/index/opencl/jaccard_distance.cl +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/index/opencl/kmeans_assignment.cl +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/index/opencl/l1_distance.cl +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/index/opencl/l2_distance.cl +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/index/pq.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/index/tokenizer.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/maintenance.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/manifest.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/merge.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/metadata.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/mod.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/nessie.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/planner.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/puffin.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/query.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/reader.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/segment.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/sql/mod.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/sql/optimizer.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/sql/pgvector_rewriter.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/sql/physical_plan/index_join.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/sql/physical_plan.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/sql/session.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/sql/vector_literal.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/sql/vector_operators.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/sql/vector_udf.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/storage.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/table.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/table.rs.orig +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/core/wal.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/enterprise/continuous_indexing.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/enterprise/license.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/enterprise/mod.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/index.rs.old +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/lib.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/python_binding.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/python_distance.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/telemetry/metrics.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/telemetry/mod.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/src/telemetry/tracing.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/task.md +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/tests/all_types_index_test.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/tests/bin/generate_iceberg_manifests.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/tests/bin/verify_iceberg_read_check.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/tests/check_mmh3.py +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/tests/data/download_nyc_taxi.sh +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/tests/data/generate_embeddings.py +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/tests/data/generate_wikipedia.py +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/tests/data/start_nessie.sh +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/tests/datafusion_rust_test.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/tests/debug_murmur3.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/tests/fuzz_murmur3.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/tests/integration_test_hnsw_ivf_native.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/tests/performance/README.md +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/tests/prototype_merge.py +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/tests/schema_evolution_test.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/tests/verify_catalog_commit.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/tests/verify_compliance.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/tests/verify_delete_correctness.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/tests/verify_iceberg_python_delete.sh +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/tests/verify_iceberg_rest.sh +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/tests/verify_iceberg_rest_create.sh +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/tests/verify_iceberg_rest_delete.sh +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/tests/verify_iceberg_rest_remove_index.sh +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/tests/verify_iceberg_rest_update.sh +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/tests/verify_metadata_creation.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/tests/verify_mor_reads.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/tests/verify_mor_writes.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/tests/verify_partition_transforms.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/tests/verify_partitioned_writes.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/tests/verify_puffin_index.sh +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/tests/verify_rest_updates.sh +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/tests/verify_schema_compat.rs +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/trino-config/.DS_Store +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/trino-config/catalog/glue_catalog.properties +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/trino-config/catalog/hyperstreamdb.properties +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/trino-config/catalog/iceberg.properties +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/trino-config/catalog/memory.properties +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/trino-config/catalog/postgres.properties +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/trino-config/config.properties +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/trino-config/entrypoint.sh +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/trino-config/jvm.config +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/trino-config/node.properties +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/trino-config.zip +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/trino-hyperstream/pom.xml +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/trino-hyperstream/src/main/java/com/hyperstreamdb/trino/HyperStreamDBColumnHandle.java +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/trino-hyperstream/src/main/java/com/hyperstreamdb/trino/HyperStreamDBConnectorFactory.java +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/trino-hyperstream/src/main/java/com/hyperstreamdb/trino/HyperStreamDBMetadata.java +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/trino-hyperstream/src/main/java/com/hyperstreamdb/trino/HyperStreamDBPageSource.java +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/trino-hyperstream/src/main/java/com/hyperstreamdb/trino/HyperStreamDBPageSourceProvider.java +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/trino-hyperstream/src/main/java/com/hyperstreamdb/trino/HyperStreamDBPlugin.java +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/trino-hyperstream/src/main/java/com/hyperstreamdb/trino/HyperStreamDBSplit.java +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/trino-hyperstream/src/main/java/com/hyperstreamdb/trino/HyperStreamDBSplitManager.java +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/trino-hyperstream/src/main/java/com/hyperstreamdb/trino/HyperStreamDBTableHandle.java +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/update_schema_patch.py +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/update_schema_patch2.py +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/verify_docstrings.py +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/verify_fluent_api.py +0 -0
- {hyperstreamdb-0.1.10 → hyperstreamdb-0.1.12}/verify_unified_ingest.py +0 -0
|
@@ -116,7 +116,7 @@ version = "1.1.5"
|
|
|
116
116
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
117
117
|
checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc"
|
|
118
118
|
dependencies = [
|
|
119
|
-
"windows-sys 0.
|
|
119
|
+
"windows-sys 0.61.2",
|
|
120
120
|
]
|
|
121
121
|
|
|
122
122
|
[[package]]
|
|
@@ -127,7 +127,7 @@ checksum = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d"
|
|
|
127
127
|
dependencies = [
|
|
128
128
|
"anstyle",
|
|
129
129
|
"once_cell_polyfill",
|
|
130
|
-
"windows-sys 0.
|
|
130
|
+
"windows-sys 0.61.2",
|
|
131
131
|
]
|
|
132
132
|
|
|
133
133
|
[[package]]
|
|
@@ -1411,13 +1411,14 @@ dependencies = [
|
|
|
1411
1411
|
|
|
1412
1412
|
[[package]]
|
|
1413
1413
|
name = "cl3"
|
|
1414
|
-
version = "0.
|
|
1414
|
+
version = "0.13.1"
|
|
1415
1415
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1416
|
-
checksum = "
|
|
1416
|
+
checksum = "8ad5f4170f520224684c5c6e86e8d5474c2a10696e553b1db8389970cd82ece7"
|
|
1417
1417
|
dependencies = [
|
|
1418
|
+
"dlopen2",
|
|
1418
1419
|
"libc",
|
|
1419
1420
|
"opencl-sys",
|
|
1420
|
-
"thiserror
|
|
1421
|
+
"thiserror 2.0.18",
|
|
1421
1422
|
]
|
|
1422
1423
|
|
|
1423
1424
|
[[package]]
|
|
@@ -2673,6 +2674,29 @@ dependencies = [
|
|
|
2673
2674
|
"syn 2.0.117",
|
|
2674
2675
|
]
|
|
2675
2676
|
|
|
2677
|
+
[[package]]
|
|
2678
|
+
name = "dlopen2"
|
|
2679
|
+
version = "0.8.2"
|
|
2680
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2681
|
+
checksum = "5e2c5bd4158e66d1e215c49b837e11d62f3267b30c92f1d171c4d3105e3dc4d4"
|
|
2682
|
+
dependencies = [
|
|
2683
|
+
"dlopen2_derive",
|
|
2684
|
+
"libc",
|
|
2685
|
+
"once_cell",
|
|
2686
|
+
"winapi",
|
|
2687
|
+
]
|
|
2688
|
+
|
|
2689
|
+
[[package]]
|
|
2690
|
+
name = "dlopen2_derive"
|
|
2691
|
+
version = "0.4.3"
|
|
2692
|
+
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
2693
|
+
checksum = "0fbbb781877580993a8707ec48672673ec7b81eeba04cfd2310bd28c08e47c8f"
|
|
2694
|
+
dependencies = [
|
|
2695
|
+
"proc-macro2",
|
|
2696
|
+
"quote",
|
|
2697
|
+
"syn 2.0.117",
|
|
2698
|
+
]
|
|
2699
|
+
|
|
2676
2700
|
[[package]]
|
|
2677
2701
|
name = "dotenvy"
|
|
2678
2702
|
version = "0.15.7"
|
|
@@ -2779,7 +2803,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
2779
2803
|
checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb"
|
|
2780
2804
|
dependencies = [
|
|
2781
2805
|
"libc",
|
|
2782
|
-
"windows-sys 0.
|
|
2806
|
+
"windows-sys 0.61.2",
|
|
2783
2807
|
]
|
|
2784
2808
|
|
|
2785
2809
|
[[package]]
|
|
@@ -3755,7 +3779,7 @@ dependencies = [
|
|
|
3755
3779
|
|
|
3756
3780
|
[[package]]
|
|
3757
3781
|
name = "hyperstreamdb"
|
|
3758
|
-
version = "0.1.
|
|
3782
|
+
version = "0.1.12"
|
|
3759
3783
|
dependencies = [
|
|
3760
3784
|
"ahash 0.8.12",
|
|
3761
3785
|
"anyhow",
|
|
@@ -4064,7 +4088,7 @@ checksum = "3640c1c38b8e4e43584d8df18be5fc6b0aa314ce6ebf51b53313d4306cca8e46"
|
|
|
4064
4088
|
dependencies = [
|
|
4065
4089
|
"hermit-abi",
|
|
4066
4090
|
"libc",
|
|
4067
|
-
"windows-sys 0.
|
|
4091
|
+
"windows-sys 0.61.2",
|
|
4068
4092
|
]
|
|
4069
4093
|
|
|
4070
4094
|
[[package]]
|
|
@@ -4731,7 +4755,7 @@ version = "0.50.3"
|
|
|
4731
4755
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
4732
4756
|
checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5"
|
|
4733
4757
|
dependencies = [
|
|
4734
|
-
"windows-sys 0.
|
|
4758
|
+
"windows-sys 0.61.2",
|
|
4735
4759
|
]
|
|
4736
4760
|
|
|
4737
4761
|
[[package]]
|
|
@@ -4994,18 +5018,18 @@ checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e"
|
|
|
4994
5018
|
|
|
4995
5019
|
[[package]]
|
|
4996
5020
|
name = "opencl-sys"
|
|
4997
|
-
version = "0.
|
|
5021
|
+
version = "0.6.1"
|
|
4998
5022
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
4999
|
-
checksum = "
|
|
5023
|
+
checksum = "9bd005f352b2f05acd01d04122448e84f8bc66bdae49045927841bc63de62123"
|
|
5000
5024
|
dependencies = [
|
|
5001
5025
|
"libc",
|
|
5002
5026
|
]
|
|
5003
5027
|
|
|
5004
5028
|
[[package]]
|
|
5005
5029
|
name = "opencl3"
|
|
5006
|
-
version = "0.
|
|
5030
|
+
version = "0.12.3"
|
|
5007
5031
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
5008
|
-
checksum = "
|
|
5032
|
+
checksum = "ecb3473c4f01afd0eea3ee5b31649fec47dbc23353a63e1b916aa67cd810fb73"
|
|
5009
5033
|
dependencies = [
|
|
5010
5034
|
"cl3",
|
|
5011
5035
|
"libc",
|
|
@@ -6248,7 +6272,7 @@ dependencies = [
|
|
|
6248
6272
|
"errno",
|
|
6249
6273
|
"libc",
|
|
6250
6274
|
"linux-raw-sys",
|
|
6251
|
-
"windows-sys 0.
|
|
6275
|
+
"windows-sys 0.61.2",
|
|
6252
6276
|
]
|
|
6253
6277
|
|
|
6254
6278
|
[[package]]
|
|
@@ -6694,7 +6718,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
6694
6718
|
checksum = "3a766e1110788c36f4fa1c2b71b387a7815aa65f88ce0229841826633d93723e"
|
|
6695
6719
|
dependencies = [
|
|
6696
6720
|
"libc",
|
|
6697
|
-
"windows-sys 0.
|
|
6721
|
+
"windows-sys 0.61.2",
|
|
6698
6722
|
]
|
|
6699
6723
|
|
|
6700
6724
|
[[package]]
|
|
@@ -7172,7 +7196,7 @@ dependencies = [
|
|
|
7172
7196
|
"getrandom 0.4.2",
|
|
7173
7197
|
"once_cell",
|
|
7174
7198
|
"rustix",
|
|
7175
|
-
"windows-sys 0.
|
|
7199
|
+
"windows-sys 0.61.2",
|
|
7176
7200
|
]
|
|
7177
7201
|
|
|
7178
7202
|
[[package]]
|
|
@@ -8213,7 +8237,7 @@ version = "0.1.11"
|
|
|
8213
8237
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
8214
8238
|
checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22"
|
|
8215
8239
|
dependencies = [
|
|
8216
|
-
"windows-sys 0.
|
|
8240
|
+
"windows-sys 0.61.2",
|
|
8217
8241
|
]
|
|
8218
8242
|
|
|
8219
8243
|
[[package]]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[package]
|
|
2
2
|
name = "hyperstreamdb"
|
|
3
|
-
version = "0.1.
|
|
3
|
+
version = "0.1.12"
|
|
4
4
|
edition = "2021"
|
|
5
5
|
license = "MIT AND Apache-2.0"
|
|
6
6
|
description = "HyperStreamDB - Serverless Index-Streaming Database with Overlay Indexing and Vector Search"
|
|
@@ -32,10 +32,7 @@ crate-type = ["cdylib", "rlib"]
|
|
|
32
32
|
[features]
|
|
33
33
|
default = ["candle"]
|
|
34
34
|
candle = []
|
|
35
|
-
cuda = ["dep:cust"
|
|
36
|
-
rocm = ["dep:opencl3", "intel"] # Fallback to OpenCL for now
|
|
37
|
-
mps = ["metal"]
|
|
38
|
-
intel = ["dep:opencl3"]
|
|
35
|
+
cuda = ["dep:cust"] # Requires CUDA SDK at compile time
|
|
39
36
|
enterprise = []
|
|
40
37
|
python = ["dep:pyo3", "pyo3/extension-module", "dep:numpy", "dep:pythonize"]
|
|
41
38
|
java = ["dep:jni"]
|
|
@@ -80,10 +77,7 @@ aws-sdk-glue = "1.0"
|
|
|
80
77
|
volo-thrift = "0.10"
|
|
81
78
|
pilota = "0.11"
|
|
82
79
|
|
|
83
|
-
# Hardware Acceleration
|
|
84
|
-
cust = { version = "0.3", optional = true } # CUDA
|
|
85
|
-
opencl3 = { version = "0.9", optional = true } # Intel / OpenCL
|
|
86
|
-
|
|
80
|
+
# Hardware Acceleration (moved to bottom of file)
|
|
87
81
|
# indexing
|
|
88
82
|
roaring = "0.10.2" # For scalar bitmaps
|
|
89
83
|
# hnsw_rs removed and internalized to src/core/index/hnsw_rs
|
|
@@ -141,9 +135,14 @@ candle-nn = "0.8"
|
|
|
141
135
|
candle-transformers = "0.8"
|
|
142
136
|
tokenizers = "0.21"
|
|
143
137
|
sha2 = "0.10"
|
|
138
|
+
cust = { version = "0.3", optional = true } # CUDA (requires CUDA SDK at compile time)
|
|
139
|
+
|
|
140
|
+
[target.'cfg(not(target_os = "macos"))'.dependencies]
|
|
141
|
+
opencl3 = { version = "0.12", default-features = false, features = ["dynamic"] } # Intel / OpenCL (dynamically loads at runtime)
|
|
144
142
|
|
|
145
143
|
[target.'cfg(target_os = "macos")'.dependencies]
|
|
146
|
-
metal = { version = "0.27.0"
|
|
144
|
+
metal = { version = "0.27.0" } # MPS
|
|
145
|
+
opencl3 = { version = "0.12", default-features = false, features = ["dynamic"] } # Intel / OpenCL
|
|
147
146
|
|
|
148
147
|
[target.'cfg(target_os = "linux")'.dependencies]
|
|
149
148
|
# rocm-smi = { version = "0.4.0", optional = true } # ROCm monitoring
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: hyperstreamdb
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.12
|
|
4
4
|
Classifier: Development Status :: 3 - Alpha
|
|
5
5
|
Classifier: Intended Audience :: Developers
|
|
6
6
|
Classifier: Programming Language :: Rust
|
|
@@ -19,7 +19,7 @@ Requires-Dist: numpy>=1.20.0
|
|
|
19
19
|
Requires-Dist: mps ; extra == 'all-gpu'
|
|
20
20
|
Requires-Dist: cuda ; extra == 'all-gpu'
|
|
21
21
|
Requires-Dist: rocm ; extra == 'all-gpu'
|
|
22
|
-
Requires-Dist: intel
|
|
22
|
+
Requires-Dist: intel ; extra == 'all-gpu'
|
|
23
23
|
Requires-Dist: pytest>=7.0 ; extra == 'dev'
|
|
24
24
|
Requires-Dist: pytest-asyncio>=0.21 ; extra == 'dev'
|
|
25
25
|
Requires-Dist: maturin>=1.7 ; extra == 'dev'
|
|
@@ -27,8 +27,7 @@ Requires-Dist: maturin>=1.7 ; extra == 'src'
|
|
|
27
27
|
Provides-Extra: all_gpu
|
|
28
28
|
Provides-Extra: cuda
|
|
29
29
|
Provides-Extra: dev
|
|
30
|
-
Provides-Extra:
|
|
31
|
-
Provides-Extra: intel_gpu
|
|
30
|
+
Provides-Extra: intel
|
|
32
31
|
Provides-Extra: mps
|
|
33
32
|
Provides-Extra: rocm
|
|
34
33
|
Provides-Extra: src
|
|
@@ -114,23 +113,25 @@ Upgrading to V3 enables row-level operations and enhanced tracking:
|
|
|
114
113
|
|
|
115
114
|
### Installation
|
|
116
115
|
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
git clone https://github.com/rla3rd/hyperstreamdb
|
|
120
|
-
cd hyperstreamdb
|
|
116
|
+
**Standard Install (CPU + OpenCL/Metal):**
|
|
117
|
+
The default package includes automatic hardware detection for Apple Metal, Intel OpenCL, and AMD ROCm.
|
|
121
118
|
|
|
122
|
-
|
|
123
|
-
pip install maturin
|
|
124
|
-
maturin develop
|
|
125
|
-
|
|
126
|
-
# Or install from PyPI (coming soon)
|
|
119
|
+
```bash
|
|
127
120
|
pip install hyperstreamdb
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
**CUDA Support (NVIDIA):**
|
|
124
|
+
CUDA requires the **CUDA Toolkit** to be installed at compile time. You can build from source using the `[cuda]` extra:
|
|
128
125
|
|
|
129
|
-
|
|
130
|
-
#
|
|
131
|
-
|
|
126
|
+
```bash
|
|
127
|
+
# Requires: CUDA Toolkit and Rust toolchain
|
|
128
|
+
pip install hyperstreamdb[cuda] --no-binary :all:
|
|
132
129
|
```
|
|
133
130
|
|
|
131
|
+
**Windows Users:**
|
|
132
|
+
HyperStreamDB is optimized for Linux/POSIX. Windows users should use **WSL2**.
|
|
133
|
+
|
|
134
|
+
|
|
134
135
|
### GPU Acceleration (Optional)
|
|
135
136
|
|
|
136
137
|
For GPU-accelerated vector operations, install the appropriate backend:
|
|
@@ -68,23 +68,25 @@ Upgrading to V3 enables row-level operations and enhanced tracking:
|
|
|
68
68
|
|
|
69
69
|
### Installation
|
|
70
70
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
git clone https://github.com/rla3rd/hyperstreamdb
|
|
74
|
-
cd hyperstreamdb
|
|
71
|
+
**Standard Install (CPU + OpenCL/Metal):**
|
|
72
|
+
The default package includes automatic hardware detection for Apple Metal, Intel OpenCL, and AMD ROCm.
|
|
75
73
|
|
|
76
|
-
|
|
77
|
-
pip install maturin
|
|
78
|
-
maturin develop
|
|
79
|
-
|
|
80
|
-
# Or install from PyPI (coming soon)
|
|
74
|
+
```bash
|
|
81
75
|
pip install hyperstreamdb
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
**CUDA Support (NVIDIA):**
|
|
79
|
+
CUDA requires the **CUDA Toolkit** to be installed at compile time. You can build from source using the `[cuda]` extra:
|
|
82
80
|
|
|
83
|
-
|
|
84
|
-
#
|
|
85
|
-
|
|
81
|
+
```bash
|
|
82
|
+
# Requires: CUDA Toolkit and Rust toolchain
|
|
83
|
+
pip install hyperstreamdb[cuda] --no-binary :all:
|
|
86
84
|
```
|
|
87
85
|
|
|
86
|
+
**Windows Users:**
|
|
87
|
+
HyperStreamDB is optimized for Linux/POSIX. Windows users should use **WSL2**.
|
|
88
|
+
|
|
89
|
+
|
|
88
90
|
### GPU Acceleration (Optional)
|
|
89
91
|
|
|
90
92
|
For GPU-accelerated vector operations, install the appropriate backend:
|
|
@@ -17,41 +17,41 @@ fn main() {
|
|
|
17
17
|
fs::write(&version_file, format!(r#"pub const VERSION: &str = "{}";"#, version))
|
|
18
18
|
.expect("Failed to write version.rs");
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
let target_os = env::var("CARGO_CFG_TARGET_OS").unwrap_or_default();
|
|
21
|
+
|
|
22
|
+
// CUDA kernel compilation - only when the cuda feature is explicitly enabled
|
|
23
|
+
// (MPS is handled by #[cfg(target_os = "macos")] in source code)
|
|
24
|
+
// (Intel/ROCm are handled by opencl3 which is always available)
|
|
25
|
+
if env::var("CARGO_FEATURE_CUDA").is_ok() && target_os != "macos" {
|
|
26
|
+
let has_nvcc = Command::new("nvcc").arg("--version").output().is_ok();
|
|
23
27
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
"inner_product",
|
|
36
|
-
"l1_distance",
|
|
37
|
-
"hamming_distance",
|
|
38
|
-
"jaccard_distance",
|
|
39
|
-
"kmeans_assignment",
|
|
40
|
-
];
|
|
28
|
+
if has_nvcc {
|
|
29
|
+
let out_dir = env::var("OUT_DIR").unwrap();
|
|
30
|
+
let kernels = vec![
|
|
31
|
+
"l2_distance",
|
|
32
|
+
"cosine_distance",
|
|
33
|
+
"inner_product",
|
|
34
|
+
"l1_distance",
|
|
35
|
+
"hamming_distance",
|
|
36
|
+
"jaccard_distance",
|
|
37
|
+
"kmeans_assignment",
|
|
38
|
+
];
|
|
41
39
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
let kernel_ptx = format!("{}/{}.ptx", out_dir, kernel_name);
|
|
40
|
+
for kernel_name in kernels {
|
|
41
|
+
let kernel_src = format!("src/core/index/cuda/{}.cu", kernel_name);
|
|
42
|
+
let kernel_ptx = format!("{}/{}.ptx", out_dir, kernel_name);
|
|
46
43
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
44
|
+
let status = Command::new("nvcc")
|
|
45
|
+
.args(&["-ptx", &kernel_src, "-o", &kernel_ptx])
|
|
46
|
+
.status()
|
|
47
|
+
.expect(&format!("Failed to execute nvcc for {}", kernel_name));
|
|
51
48
|
|
|
52
|
-
|
|
53
|
-
|
|
49
|
+
if !status.success() {
|
|
50
|
+
panic!("nvcc failed for {}", kernel_name);
|
|
51
|
+
}
|
|
54
52
|
}
|
|
53
|
+
} else {
|
|
54
|
+
panic!("CUDA feature enabled but nvcc not found. Install CUDA Toolkit or remove the 'cuda' feature.");
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
57
|
}
|
|
@@ -13,17 +13,54 @@ HyperStreamDB supports GPU acceleration for vector distance computations across
|
|
|
13
13
|
|
|
14
14
|
GPU acceleration provides 10x+ speedup for batch distance operations on large vector databases (100,000+ vectors).
|
|
15
15
|
|
|
16
|
+
## Installation
|
|
17
|
+
|
|
18
|
+
### Standard Install (PyPI)
|
|
19
|
+
|
|
20
|
+
The default `pip install` includes automatic runtime detection for **MPS** (macOS), **Intel OpenCL**, and **AMD ROCm (via OpenCL)**. No extra setup is needed — if the hardware and drivers are present, HyperStreamDB detects them automatically.
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
pip install hyperstreamdb
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
### CUDA Install (Source Build)
|
|
27
|
+
|
|
28
|
+
NVIDIA CUDA support requires the **CUDA Toolkit** to be installed on your system at compile time. You must build from source:
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
# Requires: CUDA Toolkit 11.0+ and Rust toolchain
|
|
32
|
+
pip install hyperstreamdb[cuda] --no-binary :all:
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Or clone and build directly:
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
git clone https://github.com/rla3rd/hyperstreamdb.git
|
|
39
|
+
cd hyperstreamdb
|
|
40
|
+
pip install -e ".[cuda]"
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
> **Note:** A future release will use runtime CUDA detection (via `cudarc`), eliminating the need for source builds.
|
|
44
|
+
|
|
16
45
|
## Quick Start
|
|
17
46
|
|
|
18
47
|
```python
|
|
19
48
|
import hyperstreamdb as hdb
|
|
20
49
|
|
|
21
50
|
# Auto-detect and use best available GPU backend
|
|
22
|
-
|
|
23
|
-
print(f"Using
|
|
24
|
-
|
|
25
|
-
#
|
|
26
|
-
|
|
51
|
+
device = hdb.Device("auto")
|
|
52
|
+
print(f"Using backend: {device.type}")
|
|
53
|
+
|
|
54
|
+
# Or pick a specific backend
|
|
55
|
+
device = hdb.Device("cuda") # NVIDIA (requires source build with CUDA)
|
|
56
|
+
device = hdb.Device("mps") # Apple Silicon (auto-detected on macOS)
|
|
57
|
+
device = hdb.Device("intel") # Intel OpenCL (auto-detected)
|
|
58
|
+
device = hdb.Device("rocm") # AMD OpenCL (auto-detected)
|
|
59
|
+
device = hdb.Device("cpu") # CPU fallback (always available)
|
|
60
|
+
|
|
61
|
+
# Check availability
|
|
62
|
+
print(hdb.Device.is_available("cuda")) # True if CUDA compiled in + driver present
|
|
63
|
+
print(hdb.Device.is_available("intel")) # True if Intel OpenCL driver present
|
|
27
64
|
```
|
|
28
65
|
|
|
29
66
|
## NVIDIA CUDA Setup
|
|
@@ -11,10 +11,22 @@ sys.path.insert(0, os.path.abspath('../../python'))
|
|
|
11
11
|
# -- Project information -----------------------------------------------------
|
|
12
12
|
# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information
|
|
13
13
|
|
|
14
|
+
# Read version from Cargo.toml (single source of truth)
|
|
15
|
+
_cargo_toml = os.path.join(os.path.dirname(__file__), '..', '..', 'Cargo.toml')
|
|
16
|
+
try:
|
|
17
|
+
import tomllib
|
|
18
|
+
with open(_cargo_toml, 'rb') as f:
|
|
19
|
+
_cargo = tomllib.load(f)
|
|
20
|
+
release = _cargo['package']['version']
|
|
21
|
+
except ModuleNotFoundError:
|
|
22
|
+
import re
|
|
23
|
+
with open(_cargo_toml, 'r') as f:
|
|
24
|
+
_match = re.search(r'^version\s*=\s*"([^"]+)"', f.read(), re.MULTILINE)
|
|
25
|
+
release = _match.group(1) if _match else '0.0.0'
|
|
26
|
+
|
|
14
27
|
project = 'HyperStreamDB'
|
|
15
28
|
copyright = '2026, HyperStream Team'
|
|
16
29
|
author = 'HyperStream Team'
|
|
17
|
-
release = '0.1.10'
|
|
18
30
|
|
|
19
31
|
# -- General configuration ---------------------------------------------------
|
|
20
32
|
# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
|
|
@@ -4,7 +4,7 @@ build-backend = "maturin"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "hyperstreamdb"
|
|
7
|
-
|
|
7
|
+
dynamic = ["version"]
|
|
8
8
|
description = "HyperStreamDB - Serverless Index-Streaming Database with Overlay Indexing"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.10"
|
|
@@ -44,9 +44,8 @@ dev = [
|
|
|
44
44
|
mps = [] # Apple Silicon (Metal)
|
|
45
45
|
cuda = [] # NVIDIA (CUDA)
|
|
46
46
|
rocm = [] # AMD (via OpenCL/ROCm)
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
all_gpu = ["mps", "cuda", "rocm", "intel_gpu"]
|
|
47
|
+
intel = [] # Intel (OpenCL)
|
|
48
|
+
all_gpu = ["mps", "cuda", "rocm", "intel"]
|
|
50
49
|
src = ["maturin>=1.7"]
|
|
51
50
|
|
|
52
51
|
[project.urls]
|
|
@@ -55,8 +54,9 @@ Repository = "https://github.com/rla3rd/hyperstreamdb"
|
|
|
55
54
|
|
|
56
55
|
[tool.maturin]
|
|
57
56
|
features = ["python"]
|
|
58
|
-
# Map
|
|
59
|
-
|
|
57
|
+
# Map pip extras to Cargo features for source builds
|
|
58
|
+
# e.g. pip install hyperstreamdb[cuda] --no-binary :all:
|
|
59
|
+
extra-features = { cuda = ["cuda"] }
|
|
60
60
|
module-name = "hyperstreamdb.hyperstreamdb"
|
|
61
61
|
python-source = "python"
|
|
62
62
|
# Build both the Rust library and Python bindings (multi-version compatible)
|