Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Oneflow-Inc
oneflow
提交
4227343f
O
oneflow
项目概览
Oneflow-Inc
/
oneflow
上一次同步 接近 3 年
通知
13
Star
2733
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
O
oneflow
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
4227343f
编写于
8月 15, 2021
作者:
J
Juncheng
提交者:
GitHub
8月 15, 2021
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add cmake option USE_SYSTEM_NCCL (#5897)
* Add cmake option USE_SYSTEM_NCCL nccl target * rm mark_as_advanced
上级
8eee89d7
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
50 addition
and
33 deletion
+50
-33
cmake/third_party/nccl.cmake
cmake/third_party/nccl.cmake
+50
-33
未找到文件。
cmake/third_party/nccl.cmake
浏览文件 @
4227343f
include
(
ExternalProject
)
option
(
NCCL_STATIC
""
ON
)
if
(
OF_CUDA_LINK_DYNAMIC_LIBRARY
)
set
(
NCCL_STATIC OFF
)
set
(
NCCL_STATIC OFF
)
endif
()
set
(
NCCL_INSTALL_DIR
${
THIRD_PARTY_DIR
}
/nccl
)
set
(
NCCL_INCLUDE_DIR
${
NCCL_INSTALL_DIR
}
/include
)
set
(
NCCL_LIBRARY_DIR
${
NCCL_INSTALL_DIR
}
/lib
)
set
(
NCCL_URL https://github.com/NVIDIA/nccl/archive/refs/tags/v2.9.8-1.tar.gz
)
use_mirror
(
VARIABLE NCCL_URL URL
${
NCCL_URL
}
)
option
(
USE_SYSTEM_NCCL
""
OFF
)
set
(
NCCL_ROOT_DIR
""
CACHE PATH
"Folder contains NVIDIA NCCL"
)
if
(
WIN32
)
set
(
NCCL_LIBRARY_NAME
S
libnccl_static.lib
)
set
(
NCCL_LIBRARY_NAME libnccl_static.lib
)
else
()
if
(
NCCL_STATIC
)
set
(
NCCL_LIBRARY_NAME
S
libnccl_static.a
)
set
(
NCCL_LIBRARY_NAME libnccl_static.a
)
else
()
set
(
NCCL_LIBRARY_NAME
S
libnccl.so
)
set
(
NCCL_LIBRARY_NAME libnccl.so
)
endif
()
endif
()
foreach
(
LIBRARY_NAME
${
NCCL_LIBRARY_NAMES
}
)
list
(
APPEND NCCL_LIBRARIES
${
NCCL_LIBRARY_DIR
}
/
${
LIBRARY_NAME
}
)
endforeach
()
if
(
THIRD_PARTY
)
include
(
ProcessorCount
)
ProcessorCount
(
PROC_NUM
)
ExternalProject_Add
(
nccl
PREFIX nccl
URL
${
NCCL_URL
}
URL_MD5 9894dffc51d9d276f01286094ac220ac
UPDATE_COMMAND
""
CONFIGURE_COMMAND
""
BUILD_IN_SOURCE 1
BUILD_COMMAND make -j
${
PROC_NUM
}
src.build CUDA_HOME=
${
CUDA_TOOLKIT_ROOT_DIR
}
INSTALL_COMMAND make src.install PREFIX=
${
NCCL_INSTALL_DIR
}
BUILD_BYPRODUCTS
${
NCCL_LIBRARIES
}
)
endif
(
THIRD_PARTY
)
if
(
USE_SYSTEM_NCCL
)
include
(
FindPackageHandleStandardArgs
)
find_path
(
NCCL_INCLUDE_DIR nccl.h
HINTS
${
NCCL_ROOT_DIR
}
${
CUDA_TOOLKIT_ROOT_DIR
}
PATH_SUFFIXES cuda/include include
)
unset
(
NCCL_LIBRARY CACHE
)
find_library
(
NCCL_LIBRARY
${
NCCL_LIBRARY_NAME
}
HINTS
${
NCCL_ROOT_DIR
}
${
CUDA_TOOLKIT_ROOT_DIR
}
PATH_SUFFIXES lib lib64 cuda/lib cuda/lib64 lib/x64
)
find_package_handle_standard_args
(
NCCL DEFAULT_MSG NCCL_INCLUDE_DIR NCCL_LIBRARY
)
set
(
NCCL_LIBRARIES
${
NCCL_LIBRARY
}
)
add_custom_target
(
nccl
)
else
()
include
(
ExternalProject
)
set
(
NCCL_INSTALL_DIR
${
THIRD_PARTY_DIR
}
/nccl
)
set
(
NCCL_INCLUDE_DIR
${
NCCL_INSTALL_DIR
}
/include
)
set
(
NCCL_LIBRARY_DIR
${
NCCL_INSTALL_DIR
}
/lib
)
set
(
NCCL_URL https://github.com/NVIDIA/nccl/archive/refs/tags/v2.9.8-1.tar.gz
)
use_mirror
(
VARIABLE NCCL_URL URL
${
NCCL_URL
}
)
list
(
APPEND NCCL_LIBRARIES
${
NCCL_LIBRARY_DIR
}
/
${
NCCL_LIBRARY_NAME
}
)
if
(
THIRD_PARTY
)
include
(
ProcessorCount
)
ProcessorCount
(
PROC_NUM
)
ExternalProject_Add
(
nccl
PREFIX nccl
URL
${
NCCL_URL
}
URL_MD5 9894dffc51d9d276f01286094ac220ac
UPDATE_COMMAND
""
CONFIGURE_COMMAND
""
BUILD_IN_SOURCE 1
BUILD_COMMAND make -j
${
PROC_NUM
}
src.build CUDA_HOME=
${
CUDA_TOOLKIT_ROOT_DIR
}
INSTALL_COMMAND make src.install PREFIX=
${
NCCL_INSTALL_DIR
}
BUILD_BYPRODUCTS
${
NCCL_LIBRARIES
}
)
endif
(
THIRD_PARTY
)
endif
()
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录