Toggle navigation
Toggle navigation
此项目
正在载入...
Sign in
xuning
/
sherpaonnx
转到一个项目
Toggle navigation
项目
群组
代码片段
帮助
Toggle navigation pinning
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
Fangjun Kuang
2023-07-05 18:18:31 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Committed by
GitHub
2023-07-05 18:18:31 +0800
Commit
a40697f63388b1f0f0f18f7d28093799efacbb6d
a40697f6
1 parent
1f02f7c3
Fix building for GPU support. (#195)
隐藏空白字符变更
内嵌
并排对比
正在显示
10 个修改的文件
包含
78 行增加
和
23 行删除
CMakeLists.txt
cmake/asio.cmake
cmake/cargs.cmake
cmake/googletest.cmake
cmake/json.cmake
cmake/kaldi-native-fbank.cmake
cmake/onnxruntime.cmake
cmake/portaudio.cmake
cmake/pybind11.cmake
cmake/websocketpp.cmake
CMakeLists.txt
查看文件 @
a40697f
...
...
@@ -58,6 +58,15 @@ if(SHERPA_ONNX_ENABLE_JNI AND NOT BUILD_SHARED_LIBS)
set
(
BUILD_SHARED_LIBS ON CACHE BOOL
""
FORCE
)
endif
()
if
(
SHERPA_ONNX_ENABLE_GPU
)
message
(
WARNING
"\
Compiling for NVIDIA GPU is enabled. Please make sure cudatoolkit
is installed on your system. Otherwise, you will get errors at runtime.
Hint: You don't need sudo permission to install CUDA toolkit. Please refer to
https://k2-fsa.github.io/k2/installation/cuda-cudnn.html
to install CUDA toolkit if you have not installed it."
)
endif
()
if
(
BUILD_SHARED_LIBS AND MSVC
)
set
(
CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON
)
endif
()
...
...
cmake/asio.cmake
查看文件 @
a40697f
...
...
@@ -19,6 +19,7 @@ function(download_asio)
if
(
EXISTS
${
f
}
)
set
(
asio_URL
"
${
f
}
"
)
file
(
TO_CMAKE_PATH
"
${
asio_URL
}
"
asio_URL
)
message
(
STATUS
"Found local downloaded asio:
${
asio_URL
}
"
)
set
(
asio_URL2
)
break
()
endif
()
...
...
cmake/cargs.cmake
查看文件 @
a40697f
...
...
@@ -18,6 +18,7 @@ function(download_cargs)
if
(
EXISTS
${
f
}
)
set
(
cargs_URL
"
${
f
}
"
)
file
(
TO_CMAKE_PATH
"
${
cargs_URL
}
"
cargs_URL
)
message
(
STATUS
"Found local downloaded cargs:
${
cargs_URL
}
"
)
break
()
endif
()
endforeach
()
...
...
cmake/googletest.cmake
查看文件 @
a40697f
...
...
@@ -19,6 +19,7 @@ function(download_googltest)
if
(
EXISTS
${
f
}
)
set
(
googletest_URL
"
${
f
}
"
)
file
(
TO_CMAKE_PATH
"
${
googletest_URL
}
"
googletest_URL
)
message
(
STATUS
"Found local downloaded googletest:
${
googletest_URL
}
"
)
set
(
googletest_URL2
)
break
()
endif
()
...
...
cmake/json.cmake
查看文件 @
a40697f
...
...
@@ -19,6 +19,7 @@ function(download_json)
if
(
EXISTS
${
f
}
)
set
(
json_URL
"
${
f
}
"
)
file
(
TO_CMAKE_PATH
"
${
json_URL
}
"
json_URL
)
message
(
STATUS
"Found local downloaded json:
${
json_URL
}
"
)
set
(
json_URL2
)
break
()
endif
()
...
...
cmake/kaldi-native-fbank.cmake
查看文件 @
a40697f
...
...
@@ -23,6 +23,7 @@ function(download_kaldi_native_fbank)
if
(
EXISTS
${
f
}
)
set
(
kaldi_native_fbank_URL
"
${
f
}
"
)
file
(
TO_CMAKE_PATH
"
${
kaldi_native_fbank_URL
}
"
kaldi_native_fbank_URL
)
message
(
STATUS
"Found local downloaded kaldi-native-fbank:
${
kaldi_native_fbank_URL
}
"
)
set
(
kaldi_native_fbank_URL2
)
break
()
endif
()
...
...
cmake/onnxruntime.cmake
查看文件 @
a40697f
...
...
@@ -34,7 +34,17 @@ function(download_onnxruntime)
# ./include
# It contains all the needed header files
if
(
SHERPA_ONNX_ENABLE_GPU
)
set
(
onnxruntime_URL
"https://github.com/microsoft/onnxruntime/releases/download/v1.14.1/onnxruntime-linux-x64-gpu-1.14.1.tgz"
)
set
(
onnxruntime_URL
"https://github.com/microsoft/onnxruntime/releases/download/v1.14.0/onnxruntime-linux-x64-gpu-1.14.0.tgz"
)
set
(
onnxruntime_URL2
"https://huggingface.co/csukuangfj/sherpa-onnx-cmake-deps/resolve/main/onnxruntime-linux-x64-gpu-1.14.0.tgz"
)
set
(
onnxruntime_HASH
"SHA256=d28fd59be62b9749071e2997c237b42f8e52661ae4d12862f77aa934750ead21"
)
set
(
possible_file_locations
$ENV{HOME}/Downloads/onnxruntime-linux-x64-gpu-1.14.0.tgz
${
PROJECT_SOURCE_DIR
}
/onnxruntime-linux-x64-gpu-1.14.0.tgz
${
PROJECT_BINARY_DIR
}
/onnxruntime-linux-x64-gpu-1.14.0.tgz
/tmp/onnxruntime-linux-x64-gpu-1.14.0.tgz
/star-fj/fangjun/download/github/onnxruntime-linux-x64-gpu-1.14.0.tgz
)
endif
()
# After downloading, it contains:
# ./lib/libonnxruntime.so.1.14.1
...
...
@@ -77,6 +87,10 @@ function(download_onnxruntime)
set
(
onnxruntime_URL
"https://github.com/microsoft/onnxruntime/releases/download/v1.14.0/onnxruntime-win-x86-1.14.0.zip"
)
set
(
onnxruntime_URL2
"https://huggingface.co/csukuangfj/sherpa-onnx-cmake-deps/resolve/main/onnxruntime-win-x86-1.14.0.zip"
)
set
(
onnxruntime_HASH
"SHA256=4214b130db602cbf31a6f26f25377ab077af0cf03c4ddd4651283e1fb68f56cf"
)
if
(
SHERPA_ONNX_ENABLE_GPU
)
message
(
FATAL_ERROR
"GPU support for Win32 is not supported!"
)
endif
()
else
()
# If you don't have access to the Internet,
# please pre-download onnxruntime
...
...
@@ -92,6 +106,18 @@ function(download_onnxruntime)
set
(
onnxruntime_URL
"https://github.com/microsoft/onnxruntime/releases/download/v1.14.0/onnxruntime-win-x64-1.14.0.zip"
)
set
(
onnxruntime_URL2
"https://huggingface.co/csukuangfj/sherpa-onnx-cmake-deps/resolve/main/onnxruntime-win-x64-1.14.0.zip"
)
set
(
onnxruntime_HASH
"SHA256=300eafef456748cde2743ee08845bd40ff1bab723697ff934eba6d4ce3519620"
)
if
(
SHERPA_ONNX_ENABLE_GPU
)
set
(
onnxruntime_URL
"https://github.com/microsoft/onnxruntime/releases/download/v1.14.0/onnxruntime-win-x64-gpu-1.14.0.zip"
)
set
(
onnxruntime_URL2
"https://huggingface.co/csukuangfj/sherpa-onnx-cmake-deps/resolve/main/onnxruntime-win-x64-gpu-1.14.0.zip"
)
set
(
onnxruntime_HASH
"SHA256=b42aac412ec96db92c182b9c8b02190da00072a5efc4adcbecf9b62e933c30d3"
)
set
(
possible_file_locations
$ENV{HOME}/Downloads/onnxruntime-win-x64-gpu-1.14.0.zip
${
PROJECT_SOURCE_DIR
}
/onnxruntime-win-x64-gpu-1.14.0.zip
${
PROJECT_BINARY_DIR
}
/onnxruntime-win-x64-gpu-1.14.0.zip
/tmp/onnxruntime-win-x64-gpu-1.14.0.zip
)
endif
()
endif
()
# After downloading, it contains:
# ./lib/onnxruntime.{dll,lib,pdb}
...
...
@@ -105,28 +131,22 @@ function(download_onnxruntime)
message
(
FATAL_ERROR
"Only support Linux, macOS, and Windows at present. Will support other OSes later"
)
endif
()
if
(
NOT SHERPA_ONNX_ENABLE_GPU
)
foreach
(
f IN LISTS possible_file_locations
)
if
(
EXISTS
${
f
}
)
set
(
onnxruntime_URL
"
${
f
}
"
)
file
(
TO_CMAKE_PATH
"
${
onnxruntime_URL
}
"
onnxruntime_URL
)
set
(
onnxruntime_URL2
)
break
()
endif
()
endforeach
()
foreach
(
f IN LISTS possible_file_locations
)
if
(
EXISTS
${
f
}
)
set
(
onnxruntime_URL
"
${
f
}
"
)
file
(
TO_CMAKE_PATH
"
${
onnxruntime_URL
}
"
onnxruntime_URL
)
message
(
STATUS
"Found local downloaded onnxruntime:
${
onnxruntime_URL
}
"
)
set
(
onnxruntime_URL2
)
break
()
endif
()
endforeach
()
FetchContent_Declare
(
onnxruntime
URL
${
onnxruntime_URL
}
${
onnxruntime_URL2
}
URL_HASH
${
onnxruntime_HASH
}
)
else
()
FetchContent_Declare
(
onnxruntime
URL
${
onnxruntime_URL
}
)
endif
()
FetchContent_Declare
(
onnxruntime
URL
${
onnxruntime_URL
}
${
onnxruntime_URL2
}
URL_HASH
${
onnxruntime_HASH
}
)
FetchContent_GetProperties
(
onnxruntime
)
if
(
NOT onnxruntime_POPULATED
)
...
...
@@ -150,7 +170,7 @@ function(download_onnxruntime)
INTERFACE_INCLUDE_DIRECTORIES
"
${
onnxruntime_SOURCE_DIR
}
/include"
)
if
(
SHERPA_ONNX_ENABLE_GPU
)
if
(
SHERPA_ONNX_ENABLE_GPU
AND NOT WIN32
)
find_library
(
location_onnxruntime_cuda_lib onnxruntime_providers_cuda
PATHS
"
${
onnxruntime_SOURCE_DIR
}
/lib"
...
...
@@ -172,6 +192,24 @@ function(download_onnxruntime)
DESTINATION
${
CMAKE_BINARY_DIR
}
/bin/
${
CMAKE_BUILD_TYPE
}
)
if
(
SHERPA_ONNX_ENABLE_GPU
)
add_library
(
onnxruntime_providers_cuda SHARED IMPORTED
)
set_target_properties
(
onnxruntime_providers_cuda PROPERTIES
IMPORTED_LOCATION
${
location_onnxruntime
}
INTERFACE_INCLUDE_DIRECTORIES
"
${
onnxruntime_SOURCE_DIR
}
/include"
)
set_property
(
TARGET onnxruntime_providers_cuda
PROPERTY
IMPORTED_IMPLIB
"
${
onnxruntime_SOURCE_DIR
}
/lib/onnxruntime_providers_cuda.lib"
)
file
(
COPY
${
onnxruntime_SOURCE_DIR
}
/lib/onnxruntime_providers_cuda.dll
DESTINATION
${
CMAKE_BINARY_DIR
}
/bin/
${
CMAKE_BUILD_TYPE
}
)
endif
()
endif
()
if
(
UNIX AND NOT APPLE
)
...
...
cmake/portaudio.cmake
查看文件 @
a40697f
...
...
@@ -20,6 +20,7 @@ function(download_portaudio)
if
(
EXISTS
${
f
}
)
set
(
portaudio_URL
"
${
f
}
"
)
file
(
TO_CMAKE_PATH
"
${
portaudio_URL
}
"
portaudio_URL
)
message
(
STATUS
"Found local downloaded portaudio:
${
portaudio_URL
}
"
)
set
(
portaudio_URL2
)
break
()
endif
()
...
...
cmake/pybind11.cmake
查看文件 @
a40697f
...
...
@@ -19,6 +19,7 @@ function(download_pybind11)
if
(
EXISTS
${
f
}
)
set
(
pybind11_URL
"
${
f
}
"
)
file
(
TO_CMAKE_PATH
"
${
pybind11_URL
}
"
pybind11_URL
)
message
(
STATUS
"Found local downloaded pybind11:
${
pybind11_URL
}
"
)
set
(
pybind11_URL2
)
break
()
endif
()
...
...
cmake/websocketpp.cmake
查看文件 @
a40697f
...
...
@@ -20,6 +20,7 @@ function(download_websocketpp)
if
(
EXISTS
${
f
}
)
set
(
websocketpp_URL
"
${
f
}
"
)
file
(
TO_CMAKE_PATH
"
${
websocketpp_URL
}
"
websocketpp_URL
)
message
(
STATUS
"Found local downloaded websocketpp:
${
websocketpp_URL
}
"
)
set
(
websocketpp_URL2
)
break
()
endif
()
...
...
请
注册
或
登录
后发表评论