GPU Detection
GPU Detection Utility for Milvus Index Selection Handle COSINE -> IP conversion for GPU indexes
detect_nvidia_gpu(config=None)
Detect if NVIDIA GPU is available and should be used.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
config
|
Hydra config object that may contain force_cpu_mode flag |
None
|
Returns:
Name | Type | Description |
---|---|---|
bool |
bool
|
True if GPU should be used, False if CPU should be used |
Source code in aiagents4pharma/talk2scholars/tools/pdf/utils/gpu_detection.py
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
|
get_optimal_index_config(has_gpu, embedding_dim=768, use_cosine=True)
Get optimal index and search parameters based on GPU availability.
IMPORTANT: GPU indexes don't support COSINE distance. When using GPU with COSINE, vectors must be normalized and IP distance used instead.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
has_gpu
|
bool
|
Whether NVIDIA GPU is available |
required |
embedding_dim
|
int
|
Dimension of embeddings |
768
|
use_cosine
|
bool
|
Whether to use cosine similarity (will be converted to IP for GPU) |
True
|
Returns:
Type | Description |
---|---|
Tuple[Dict[str, Any], Dict[str, Any]]
|
Tuple[Dict[str, Any], Dict[str, Any]]: (index_params, search_params) |
Source code in aiagents4pharma/talk2scholars/tools/pdf/utils/gpu_detection.py
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 |
|
log_index_configuration(index_params, search_params, use_cosine=True)
Log the selected index configuration for debugging.
Source code in aiagents4pharma/talk2scholars/tools/pdf/utils/gpu_detection.py
138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 |
|