aboutsummaryrefslogtreecommitdiffstats
path: root/build/scripts/link_dyn_lib.py
diff options
context:
space:
mode:
authorpg <pg@yandex-team.com>2024-08-06 22:59:44 +0300
committerpg <pg@yandex-team.com>2024-08-06 23:11:09 +0300
commit045f1ade465bf5af64ef1ceeeb94e23294c33437 (patch)
treef6257186d6c6673c5b54131eb016309e2b47f93b /build/scripts/link_dyn_lib.py
parentb42c0ae657e48443d35b4efe6d66127febe004d8 (diff)
downloadydb-045f1ade465bf5af64ef1ceeeb94e23294c33437.tar.gz
b6ee53f9af602a963f352ed37c717dead1f8cef3
Diffstat (limited to 'build/scripts/link_dyn_lib.py')
-rw-r--r--build/scripts/link_dyn_lib.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/build/scripts/link_dyn_lib.py b/build/scripts/link_dyn_lib.py
index 3b7c0d3e51..72937544b6 100644
--- a/build/scripts/link_dyn_lib.py
+++ b/build/scripts/link_dyn_lib.py
@@ -7,6 +7,7 @@ import optparse
import pipes
import thinlto_cache
+import link_exe
from process_whole_archive_option import ProcessWholeArchiveOption
from fix_py2_protobuf import fix_py2
@@ -215,6 +216,10 @@ def parse_args():
parser.add_option('--linker-output')
parser.add_option('--musl', action='store_true')
parser.add_option('--dynamic-cuda', action='store_true')
+ parser.add_option('--cuda-architectures',
+ help='List of supported CUDA architectures, separated by ":" (e.g. "sm_52:compute_70:lto_90a"')
+ parser.add_option('--nvprune-exe')
+ parser.add_option('--objcopy-exe')
parser.add_option('--whole-archive-peers', action='append')
parser.add_option('--whole-archive-libs', action='append')
parser.add_option('--custom-step')
@@ -237,6 +242,10 @@ if __name__ == '__main__':
cmd = fix_cmd_for_musl(cmd)
if opts.dynamic_cuda:
cmd = fix_cmd_for_dynamic_cuda(cmd)
+ else:
+ cuda_manager = link_exe.CUDAManager(opts.cuda_architectures, opts.nvprune_exe)
+ cmd = link_exe.process_cuda_libraries_by_nvprune(cmd, cuda_manager, opts.build_root)
+ cmd = link_exe.process_cuda_libraries_by_objcopy(cmd, opts.build_root, opts.objcopy_exe)
cmd = ProcessWholeArchiveOption(opts.arch, opts.whole_archive_peers, opts.whole_archive_libs).construct_cmd(cmd)
thinlto_cache.preprocess(opts, cmd)