Skip to content

Conversation

@mayya-sharipova
Copy link
Contributor

@mayya-sharipova mayya-sharipova commented Dec 17, 2025

  • Replaces the merge-wait polling with an explicit force-merge operation
  • Removes parallel search and indexing
  • Optimizes indexing performance by disabling merge throttling and refresh intervals

For GPU indexing pass the following params.json file to a rally run:

params.json

{
  "vector_index_type" : "hnsw",   
  "initial_indexing_bulk_indexing_clients" : 8,
  "mapping_type" : "vectors-only-with-docid",
  "initial_indexing_corpora" : "openai_initial_indexing_base64",  
  "parallel_indexing_corpora": "openai_parallel_indexing_base64"
}

Run with:

./rally race ...--runtime-jdk=25 --track-params=params.json --on-error=abort


Rally setup

vim ~/.rally/rally.ini

...
[system]
env.name = local
passenv = PATH,LD_LIBRARY_PATH


An example of running openai_vector track

params.json

{
  "vector_index_type" : "hnsw",   
  "initial_indexing_bulk_indexing_clients" : 8,
  "initial_indexing_corpora" : "openai_initial_indexing_base64",  
  "parallel_indexing_corpora": "openai_parallel_indexing_base64"
}
./rally race --track-path /home/ubuntu/elastic/rally-tracks/openai_vector \
--pipeline from-sources \
--revision current \
--car "16gheap" \
--user-tags "tag:openai_vector_gpu" \
--report-file /home/ubuntu/elastic/benchmarks/rally_results/openai_vector_gpu.md \
--runtime-jdk=25   \
--track-params=/home/ubuntu/elastic/benchmarks/rally/params.json \
--on-error=abort

To compare with CPU based index disable gpu indexing with --car-params="additional_cluster_settings:{'vectors.indexing.use_gpu':true}":

./rally race --track-path /home/ubuntu/elastic/rally-tracks/openai_vector \
      --pipeline from-sources \
      --revision current \
      --car "16gheap" \
      --user-tags "tag:openai_vector_cpu" \
      --report-file /home/ubuntu/elastic/benchmarks/rally_results/openai_vector_cpu.md \
      --runtime-jdk=25 \
      --track-params=/home/ubuntu/elastic/benchmarks/rally/params.json \
      --car-params='{"additional_cluster_settings": {"vectors.indexing.use_gpu": false}}' \
      --on-error=abort

Troubleshoot

  • Check ~/.rally/benchmarks/races/ /rally-node-0/logs/server/rally-benchmark.log. If you see similar output in the elasticsearch server logs:
    [o.e.x.g.GPUSupport ] [elasticsearch-0] Found compatible GPU [NVIDIA L4] (id: [0])

it means your setup is successful, and Elasticsearch can use GPU. If you don’t see this line from GPUSupport, you should see an explanation why elasticsearch can’t use your GPU device.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant