openppl-public / ppl.cv

ppl.cv is a high-performance image processing library of openPPL supporting various platforms.
Apache License 2.0
484 stars 108 forks source link

Windows cuda build #81

Closed ctxqlxs closed 2 years ago

ctxqlxs commented 2 years ago

What are the problems?(snapshots or detailed error messages)

./build.bat -G "Visual Studio 16 2019" -A x64 -DHPCC_USE_X86_64=ON -DHPCC_USE_CUDA=ON -DPPLCV_BUILD_TESTS=OFF -DPPLCV_BUILD_BENCHMARK=OFF windows visual studio2019 编译 只生成了pplcommon_static.lib

Which version(commit id or tag) of ppl.cv is used?

main branch

What's the operating system ppl.cv runs on?

windows

What's the compiler and its version?

vs2019 amd 64

What are the commands used to build ppl.cv?

./build.bat -G "Visual Studio 16 2019" -A x64 -DHPCC_USE_X86_64=ON -DHPCC_USE_CUDA=ON -DPPLCV_BUILD_TESTS=OFF -DPPLCV_BUILD_BENCHMARK=OFF

What are the execution commands?

minimal code snippets for reproducing these problems(if necessary)

error

image image

ctxqlxs commented 2 years ago

cuda11.6 cmake 3.20.6

nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2022 NVIDIA Corporation Built on Thu_Feb_10_19:03:51_Pacific_Standard_Time_2022 Cuda compilation tools, release 11.6, V11.6.112 Build cuda_11.6.r11.6/compiler.30978841_0

jimurk commented 2 years ago

能把第一个错误相关error截屏发一下看看吗?

ctxqlxs commented 2 years ago

@jimurk 这是同一个error啊 第二个截图是用Visual studio IDE rebuild报错,点进去跟踪到的,实际上和第一个是一样的

ctxqlxs commented 2 years ago
D:\C++\local_manage_code\ppl.cv\src\ppl\cv\x86\morph_f32.cpp(525): message : 查看对正在编译的函数 模板 实例化“void ppl::cv::x86::morph_f32<ppl::cv::x86::DilateVecOp,3,3>(const int32_t,const in
t32_t,int32_t,const float *,int32_t,float *,ppl::cv::BorderType,float)”的引用 [D:\C++\local_manage_code\ppl.cv\pplcv-build\pplcv_static.vcxproj]
D:\C++\local_manage_code\ppl.cv\src\ppl\cv\x86\morph_f32.cpp(169,1): warning C4556: 内部即时参数“-8”的值超出“0 - 255”的范围 [D:\C++\local_manage_code\ppl.cv\pplcv-build\pplcv_static.vcxproj]
D:\C++\local_manage_code\ppl.cv\src\ppl\cv\x86\morph_f32.cpp(461): message : 查看对正在编译的函数 模板 实例化“void ppl::cv::x86::MorphRowLast<morphOp,3,3>(__m128 *,__m128 &,__m128 *,const floa
t *,int32_t,float *,int32_t,int32_t,int32_t,int32_t,float)”的引用 [D:\C++\local_manage_code\ppl.cv\pplcv-build\pplcv_static.vcxproj]
          with
          [
              morphOp=ppl::cv::x86::DilateVecOp
          ]
D:\C++\local_manage_code\ppl.cv\src\ppl\cv\x86\morph_f32.cpp(84,1): warning C4556: 内部即时参数“-16”的值超出“0 - 255”的范围 [D:\C++\local_manage_code\ppl.cv\pplcv-build\pplcv_static.vcxproj]
D:\C++\local_manage_code\ppl.cv\src\ppl\cv\x86\morph_f32.cpp(447): message : 查看对正在编译的函数 模板 实例化“void ppl::cv::x86::MorphRow<morphOp,4,3>(__m128 *,__m128 &,__m128 *,const float *,
int32_t,float *,int32_t,int32_t,int32_t,int32_t,float)”的引用 [D:\C++\local_manage_code\ppl.cv\pplcv-build\pplcv_static.vcxproj]
          with
          [
              morphOp=ppl::cv::x86::DilateVecOp
          ]
D:\C++\local_manage_code\ppl.cv\src\ppl\cv\x86\morph_f32.cpp(543): message : 查看对正在编译的函数 模板 实例化“void ppl::cv::x86::morph_f32<ppl::cv::x86::DilateVecOp,4,3>(const int32_t,const in
t32_t,int32_t,const float *,int32_t,float *,ppl::cv::BorderType,float)”的引用 [D:\C++\local_manage_code\ppl.cv\pplcv-build\pplcv_static.vcxproj]
D:\C++\local_manage_code\ppl.cv\src\ppl\cv\x86\morph_f32.cpp(169,1): warning C4556: 内部即时参数“-16”的值超出“0 - 255”的范围 [D:\C++\local_manage_code\ppl.cv\pplcv-build\pplcv_static.vcxproj
]
D:\C++\local_manage_code\ppl.cv\src\ppl\cv\x86\morph_f32.cpp(461): message : 查看对正在编译的函数 模板 实例化“void ppl::cv::x86::MorphRowLast<morphOp,4,3>(__m128 *,__m128 &,__m128 *,const floa
t *,int32_t,float *,int32_t,int32_t,int32_t,int32_t,float)”的引用 [D:\C++\local_manage_code\ppl.cv\pplcv-build\pplcv_static.vcxproj]
          with
          [
              morphOp=ppl::cv::x86::DilateVecOp
          ]
D:\C++\local_manage_code\ppl.cv\src\ppl\cv\cuda\utility\utility.hpp(170,32): error C2059: 语法错误:“:” (编译源文件 D:\C++\local_manage_code\ppl.cv\src\ppl\cv\cuda\utility\memory_pool.cpp
) [D:\C++\local_manage_code\ppl.cv\pplcv-build\pplcv_static.vcxproj]
D:\C++\local_manage_code\ppl.cv\src\ppl\cv\cuda\utility\utility.hpp(177,32): error C2059: 语法错误:“:” (编译源文件 D:\C++\local_manage_code\ppl.cv\src\ppl\cv\cuda\utility\memory_pool.cpp
) [D:\C++\local_manage_code\ppl.cv\pplcv-build\pplcv_static.vcxproj]
D:\C++\local_manage_code\ppl.cv\src\ppl\cv\cuda\utility\utility.hpp(184,36): error C2059: 语法错误:“:” (编译源文件 D:\C++\local_manage_code\ppl.cv\src\ppl\cv\cuda\utility\memory_pool.cpp
) [D:\C++\local_manage_code\ppl.cv\pplcv-build\pplcv_static.vcxproj]
D:\C++\local_manage_code\ppl.cv\src\ppl\cv\cuda\utility\utility.hpp(191,33): error C2059: 语法错误:“:” (编译源文件 D:\C++\local_manage_code\ppl.cv\src\ppl\cv\cuda\utility\memory_pool.cpp
) [D:\C++\local_manage_code\ppl.cv\pplcv-build\pplcv_static.vcxproj]
D:\C++\local_manage_code\ppl.cv\src\ppl\cv\cuda\utility\utility.hpp(198,37): error C2059: 语法错误:“:” (编译源文件 D:\C++\local_manage_code\ppl.cv\src\ppl\cv\cuda\utility\memory_pool.cpp
) [D:\C++\local_manage_code\ppl.cv\pplcv-build\pplcv_static.vcxproj]
D:\C++\local_manage_code\ppl.cv\src\ppl\cv\cuda\utility\utility.hpp(170,32): error C2059: 语法错误:“:” (编译源文件 D:\C++\local_manage_code\ppl.cv\src\ppl\cv\cuda\utility\use_memory_pool
.cpp) [D:\C++\local_manage_code\ppl.cv\pplcv-build\pplcv_static.vcxproj]
D:\C++\local_manage_code\ppl.cv\src\ppl\cv\cuda\utility\utility.hpp(177,32): error C2059: 语法错误:“:” (编译源文件 D:\C++\local_manage_code\ppl.cv\src\ppl\cv\cuda\utility\use_memory_pool
.cpp) [D:\C++\local_manage_code\ppl.cv\pplcv-build\pplcv_static.vcxproj]
D:\C++\local_manage_code\ppl.cv\src\ppl\cv\cuda\utility\utility.hpp(184,36): error C2059: 语法错误:“:” (编译源文件 D:\C++\local_manage_code\ppl.cv\src\ppl\cv\cuda\utility\use_memory_pool
.cpp) [D:\C++\local_manage_code\ppl.cv\pplcv-build\pplcv_static.vcxproj]
D:\C++\local_manage_code\ppl.cv\src\ppl\cv\cuda\utility\utility.hpp(191,33): error C2059: 语法错误:“:” (编译源文件 D:\C++\local_manage_code\ppl.cv\src\ppl\cv\cuda\utility\use_memory_pool
.cpp) [D:\C++\local_manage_code\ppl.cv\pplcv-build\pplcv_static.vcxproj]
D:\C++\local_manage_code\ppl.cv\src\ppl\cv\cuda\utility\utility.hpp(198,37): error C2059: 语法错误:“:” (编译源文件 D:\C++\local_manage_code\ppl.cv\src\ppl\cv\cuda\utility\use_memory_pool
.cpp) [D:\C++\local_manage_code\ppl.cv\pplcv-build\pplcv_static.vcxproj]

D:\C++\local_manage_code\ppl.cv\pplcv-build>cmake --install . --config Release
-- Installing: D:/C++/local_manage_code/ppl.cv/pplcv-build/install/include/ppl/cv/x86/addweighted.h
-- Installing: D:/C++/local_manage_code/ppl.cv/pplcv-build/install/include/ppl/cv/x86/get_affine_transform.h
-- Installing: D:/C++/local_manage_code/ppl.cv/pplcv-build/install/include/ppl/cv/x86/get_rotation_matrix2d.h
-- Installing: D:/C++/local_manage_code/ppl.cv/pplcv-build/install/include/ppl/cv/x86/test.h
-- Installing: D:/C++/local_manage_code/ppl.cv/pplcv-build/install/include/ppl/common/x86/sysinfo.h
-- Installing: D:/C++/local_manage_code/ppl.cv/pplcv-build/install/include/ppl/common/allocator.h
-- Installing: D:/C++/local_manage_code/ppl.cv/pplcv-build/install/include/ppl/common/common.h
-- Installing: D:/C++/local_manage_code/ppl.cv/pplcv-build/install/include/ppl/common/compact_memory_manager.h
-- Installing: D:/C++/local_manage_code/ppl.cv/pplcv-build/install/include/ppl/common/file_mapping.h
-- Installing: D:/C++/local_manage_code/ppl.cv/pplcv-build/install/include/ppl/common/generic_cpu_allocator.h
-- Installing: D:/C++/local_manage_code/ppl.cv/pplcv-build/install/include/ppl/common/half.h
-- Installing: D:/C++/local_manage_code/ppl.cv/pplcv-build/install/include/ppl/common/lock_utils.h
-- Installing: D:/C++/local_manage_code/ppl.cv/pplcv-build/install/include/ppl/common/log.h
-- Installing: D:/C++/local_manage_code/ppl.cv/pplcv-build/install/include/ppl/common/object_pool.h
-- Installing: D:/C++/local_manage_code/ppl.cv/pplcv-build/install/include/ppl/common/retcode.h
-- Installing: D:/C++/local_manage_code/ppl.cv/pplcv-build/install/include/ppl/common/stripfilename.h
-- Installing: D:/C++/local_manage_code/ppl.cv/pplcv-build/install/include/ppl/common/sys.h
-- Installing: D:/C++/local_manage_code/ppl.cv/pplcv-build/install/include/ppl/common/types.h
-- Installing: D:/C++/local_manage_code/ppl.cv/pplcv-build/install/lib/pplcommon_static.lib
-- Installing: D:/C++/local_manage_code/ppl.cv/pplcv-build/install/lib/cmake/ppl/pplcommon-config.cmake
-- Up-to-date: D:/C++/local_manage_code/ppl.cv/pplcv-build/install/./include
jimurk commented 2 years ago

这个问题我修复并且在我们的window机器上测过了,你现在更新master就可以。

ctxqlxs commented 2 years ago

刚更新的吗?我稍后试试。

jimurk commented 2 years ago

嗯嗯,刚merge的

ctxqlxs commented 2 years ago

没有问题了,感谢大佬

jimurk commented 2 years ago

客气了,再有问题欢迎反馈。