From a539c3244641920aa2e4b20ffecb973c49771474 Mon Sep 17 00:00:00 2001 From: Tamas Bela Feher Date: Tue, 21 May 2024 23:47:18 +0200 Subject: [PATCH] Replace too long index file name with hash in ANN bench (#2280) Too long index file name would lead to a crash while calling the index serialization routines. Such long filenames can occur if we try to specialize many parameters for CAGRA ann index. This PR fixes the issue by replacing the long index file name with a hash. Drawback is the filename will not be descriptive. Authors: - Tamas Bela Feher (https://github.com/tfeher) - Corey J. Nolet (https://github.com/cjnolet) Approvers: - Corey J. Nolet (https://github.com/cjnolet) URL: https://github.com/rapidsai/raft/pull/2280 --- .../raft-ann-bench/src/raft-ann-bench/run/__main__.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/python/raft-ann-bench/src/raft-ann-bench/run/__main__.py b/python/raft-ann-bench/src/raft-ann-bench/run/__main__.py index 52d536c2e8..c34377d733 100644 --- a/python/raft-ann-bench/src/raft-ann-bench/run/__main__.py +++ b/python/raft-ann-bench/src/raft-ann-bench/run/__main__.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2023, NVIDIA CORPORATION. +# Copyright (c) 2023-2024, NVIDIA CORPORATION. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -553,10 +553,14 @@ def add_algo_group(group_list): index["build_param"], conf_file["dataset"]["dims"] ): continue - + index_filename = ( + index_name + if len(index_name) < 128 + else str(hash(index_name)) + ) index["name"] = index_name index["file"] = os.path.join( - args.dataset_path, args.dataset, "index", index_name + args.dataset_path, args.dataset, "index", index_filename ) index["search_params"] = [] all_search_params = itertools.product(*search_param_lists)