ddemidov / amgcl

C++ library for solving large sparse linear systems with algebraic multigrid method
http://amgcl.readthedocs.org/
MIT License
728 stars 111 forks source link

Cuda Backend compile error on vs2017 with Cuda10.2 #180

Closed MakotoChiba closed 3 years ago

MakotoChiba commented 3 years ago

I'm trying to compile 'poisson3Db_cuda.cu' tutorial file for the test on visual studio 2017 with cuda10.2. But I get compile error on it. Even if I use cuda9.0, I have same error.

1>c:\program files\nvidia gpu computing toolkit\cuda\v10.2\include\thrust\system\detail\generic\for_each.h(66): error C2027: use of undefined type 'thrust::detail::STATIC_ASSERTION_FAILURE<false>'

If I comment out "Solver solve(A, prm, bprm)" and after, error is not happens. And I can compile builtin backend and work it. So, Do I need something for the cuda backend compile? Of course I use .cu file extension.

ddemidov commented 3 years ago

Can you please attach the complete build log?

MakotoChiba commented 3 years ago

Sorry, some part is not in English. Because my vs is not english mode currently.

1>------ ビルド開始: プロジェクト: aqm, 構成: Release 2021 x64 ------
1>GPU_amgcl.cu
1>Unknown compiler version - please run the configure tests and report the results
1>c:\program files\nvidia gpu computing toolkit\cuda\v10.2\include\cuda_runtime_api.h(3323): warning C4819: ファイルは、現在のコード ページ (932) で表示できない文字を含んでいます。データの損失を防ぐために、ファイルを Unicode 形式で保存してください。
1>c:\program files\nvidia gpu computing toolkit\cuda\v10.2\include\cuda_runtime_api.h(9348): warning C4819: ファイルは、現在のコード ページ (932) で表示できない文字を含んでいます。データの損失を防ぐために、ファイルを Unicode 形式で保存してください。
1>c:\program files\nvidia gpu computing toolkit\cuda\v10.2\include\cuda_fp16.h : warning C4819: ファイルは、現在のコード ページ (932) で表示できない文字を含んでいます。データの損失を防ぐために、ファイルを Unicode 形式で保存してください。
1>c:\makoto_Dev\aqm\gpu_functions\gpu_amgcl.cu(34): warning C4101: 'cols': ローカル変数は 1 度も使われていません。
1>c:\makoto_Dev\aqm\amgcl\amg.hpp(137): warning C4267: '初期化中': 'size_t' から 'unsigned int' に変換しました。データが失われているかもしれません。
1>c:\makoto_Dev\aqm\amgcl\amg.hpp(132): note: クラス テンプレート のメンバー関数 'amgcl::amg<Backend,amgcl::coarsening::smoothed_aggregation,amgcl::relaxation::spai0>::params::params(void)' のコンパイル中
1>c:\makoto_Dev\aqm\amgcl\make_solver.hpp(70): note: コンパイル対象の関数 テンプレート インスタンス化 'amgcl::amg<Backend,amgcl::coarsening::smoothed_aggregation,amgcl::relaxation::spai0>::params::params(void)' のリファレンスを確認してください
1>c:\makoto_Dev\aqm\amgcl\amg.hpp(174): note: コンパイル対象の クラス テンプレート インスタンス化 'amgcl::amg<Backend,amgcl::coarsening::smoothed_aggregation,amgcl::relaxation::spai0>::params' のリファレンスを確認してください
1>c:\makoto_Dev\aqm\amgcl\make_solver.hpp(49): note: コンパイル対象の クラス テンプレート インスタンス化 'amgcl::amg<Backend,amgcl::coarsening::smoothed_aggregation,amgcl::relaxation::spai0>' のリファレンスを確認してください
1>c:\makoto_Dev\aqm\gpu_functions\gpu_amgcl.cu(66): note: コンパイル対象の クラス テンプレート インスタンス化 'amgcl::make_solver<amgcl::amg<Backend,amgcl::coarsening::smoothed_aggregation,amgcl::relaxation::spai0>,amgcl::solver::bicgstab<Backend,amgcl::solver::detail::default_inner_product>>' のリファレンスを確認してください
1>c:\magicpictures_dev\boost_1_65_1\boost\bind\placeholders.hpp(54): note: コンパイル対象の クラス テンプレート インスタンス化 'boost::arg<9>' のリファレンスを確認してください
1>c:\magicpictures_dev\boost_1_65_1\boost\bind\placeholders.hpp(53): note: コンパイル対象の クラス テンプレート インスタンス化 'boost::arg<8>' のリファレンスを確認してください
1>c:\magicpictures_dev\boost_1_65_1\boost\bind\placeholders.hpp(52): note: コンパイル対象の クラス テンプレート インスタンス化 'boost::arg<7>' のリファレンスを確認してください
1>c:\magicpictures_dev\boost_1_65_1\boost\bind\placeholders.hpp(51): note: コンパイル対象の クラス テンプレート インスタンス化 'boost::arg<6>' のリファレンスを確認してください
1>c:\magicpictures_dev\boost_1_65_1\boost\bind\placeholders.hpp(50): note: コンパイル対象の クラス テンプレート インスタンス化 'boost::arg<5>' のリファレンスを確認してください
1>c:\magicpictures_dev\boost_1_65_1\boost\bind\placeholders.hpp(49): note: コンパイル対象の クラス テンプレート インスタンス化 'boost::arg<4>' のリファレンスを確認してください
1>c:\magicpictures_dev\boost_1_65_1\boost\bind\placeholders.hpp(48): note: コンパイル対象の クラス テンプレート インスタンス化 'boost::arg<3>' のリファレンスを確認してください
1>c:\magicpictures_dev\boost_1_65_1\boost\bind\placeholders.hpp(47): note: コンパイル対象の クラス テンプレート インスタンス化 'boost::arg<2>' のリファレンスを確認してください
1>c:\magicpictures_dev\boost_1_65_1\boost\bind\placeholders.hpp(46): note: コンパイル対象の クラス テンプレート インスタンス化 'boost::arg<1>' のリファレンスを確認してください
1>c:\makoto_Dev\aqm\amgcl\backend\builtin.hpp(338): warning C4244: '引数': 'P' から 'int' への変換です。データが失われる可能性があります。
1>        with
1>        [
1>            P=amgcl::backend::builtin<float>::index_type
1>        ]
1>c:\makoto_Dev\aqm\amgcl\amg.hpp(194): note: コンパイル対象の関数 テンプレート インスタンス化 'void amgcl::backend::sort_rows<float,amgcl::backend::builtin<real>::index_type,col_t>(amgcl::backend::crs<float,col_t,col_t> &)' のリファレンスを確認してください
1>        with
1>        [
1>            real=float,
1>            col_t=amgcl::backend::builtin<float>::index_type
1>        ]
1>c:\makoto_Dev\aqm\amgcl\make_solver.hpp(100): note: コンパイル対象の関数 テンプレート インスタンス化 'amgcl::amg<Backend,amgcl::coarsening::smoothed_aggregation,amgcl::relaxation::spai0>::amg<Matrix>(const Matrix &,const amgcl::amg<Backend,amgcl::coarsening::smoothed_aggregation,amgcl::relaxation::spai0>::params &,const amgcl::backend::cuda<float,amgcl::solver::cuda_skyline_lu<real>>::params &)' のリファレンスを確認してください
1>        with
1>        [
1>            Matrix=std::tuple<ptrdiff_t &,std::vector<ptrdiff_t,std::allocator<ptrdiff_t>> &,std::vector<ptrdiff_t,std::allocator<ptrdiff_t>> &,std::vector<float,std::allocator<float>> &>,
1>            real=float
1>        ]
1>c:\makoto_Dev\aqm\amgcl\make_solver.hpp(98): note: コンパイル対象の関数 テンプレート インスタンス化 'amgcl::amg<Backend,amgcl::coarsening::smoothed_aggregation,amgcl::relaxation::spai0>::amg<Matrix>(const Matrix &,const amgcl::amg<Backend,amgcl::coarsening::smoothed_aggregation,amgcl::relaxation::spai0>::params &,const amgcl::backend::cuda<float,amgcl::solver::cuda_skyline_lu<real>>::params &)' のリファレンスを確認してください
1>        with
1>        [
1>            Matrix=std::tuple<ptrdiff_t &,std::vector<ptrdiff_t,std::allocator<ptrdiff_t>> &,std::vector<ptrdiff_t,std::allocator<ptrdiff_t>> &,std::vector<float,std::allocator<float>> &>,
1>            real=float
1>        ]
1>c:\makoto_Dev\aqm\gpu_functions\gpu_amgcl.cu(71): note: コンパイル対象の関数 テンプレート インスタンス化 'amgcl::make_solver<amgcl::amg<Backend,amgcl::coarsening::smoothed_aggregation,amgcl::relaxation::spai0>,amgcl::solver::bicgstab<Backend,amgcl::solver::detail::default_inner_product>>::make_solver<std::tuple<ptrdiff_t &,std::vector<ptrdiff_t,std::allocator<_Ty>> &,std::vector<_Ty,std::allocator<_Ty>> &,std::vector<float,std::allocator<float>> &>>(const Matrix &,const amgcl::make_solver<amgcl::amg<Backend,amgcl::coarsening::smoothed_aggregation,amgcl::relaxation::spai0>,amgcl::solver::bicgstab<Backend,amgcl::solver::detail::default_inner_product>>::params &,const amgcl::backend::cuda<float,amgcl::solver::cuda_skyline_lu<real>>::params &)' のリファレンスを確認してください
1>        with
1>        [
1>            _Ty=ptrdiff_t,
1>            Matrix=std::tuple<ptrdiff_t &,std::vector<ptrdiff_t,std::allocator<ptrdiff_t>> &,std::vector<ptrdiff_t,std::allocator<ptrdiff_t>> &,std::vector<float,std::allocator<float>> &>,
1>            real=float
1>        ]
1>c:\makoto_Dev\aqm\gpu_functions\gpu_amgcl.cu(71): note: コンパイル対象の関数 テンプレート インスタンス化 'amgcl::make_solver<amgcl::amg<Backend,amgcl::coarsening::smoothed_aggregation,amgcl::relaxation::spai0>,amgcl::solver::bicgstab<Backend,amgcl::solver::detail::default_inner_product>>::make_solver<std::tuple<ptrdiff_t &,std::vector<ptrdiff_t,std::allocator<_Ty>> &,std::vector<_Ty,std::allocator<_Ty>> &,std::vector<float,std::allocator<float>> &>>(const Matrix &,const amgcl::make_solver<amgcl::amg<Backend,amgcl::coarsening::smoothed_aggregation,amgcl::relaxation::spai0>,amgcl::solver::bicgstab<Backend,amgcl::solver::detail::default_inner_product>>::params &,const amgcl::backend::cuda<float,amgcl::solver::cuda_skyline_lu<real>>::params &)' のリファレンスを確認してください
1>        with
1>        [
1>            _Ty=ptrdiff_t,
1>            Matrix=std::tuple<ptrdiff_t &,std::vector<ptrdiff_t,std::allocator<ptrdiff_t>> &,std::vector<ptrdiff_t,std::allocator<ptrdiff_t>> &,std::vector<float,std::allocator<float>> &>,
1>            real=float
1>        ]
1>c:\makoto_Dev\aqm\amgcl\coarsening\tentative_prolongation.hpp(173): warning C4267: '引数': 'size_t' から 'int' に変換しました。データが失われているかもしれません。
1>c:\makoto_Dev\aqm\amgcl\coarsening\smoothed_aggregation.hpp(145): note: コンパイル対象の関数 テンプレート インスタンス化 'std::shared_ptr<amgcl::backend::crs<float,amgcl::backend::builtin<real>::index_type,col_t>> amgcl::coarsening::tentative_prolongation<Matrix>(size_t,size_t,const std::vector<ptrdiff_t,std::allocator<_Ty>>,amgcl::coarsening::nullspace_params &,int)' のリファレンスを確認してください
1>        with
1>        [
1>            real=float,
1>            col_t=amgcl::backend::builtin<float>::index_type,
1>            Matrix=amgcl::backend::crs<float,amgcl::backend::builtin<float>::index_type,amgcl::backend::builtin<float>::index_type>,
1>            _Ty=ptrdiff_t
1>        ]
1>c:\makoto_Dev\aqm\amgcl\amg.hpp(322): note: コンパイル対象の関数 テンプレート インスタンス化 'std::tuple<std::shared_ptr<amgcl::backend::crs<float,amgcl::backend::builtin<real>::index_type,col_t>>,std::shared_ptr<amgcl::backend::crs<float,col_t,col_t>>> amgcl::coarsening::smoothed_aggregation<Backend>::transfer_operators<_Ty2>(const Matrix &)' のリファレンスを確認してください
1>        with
1>        [
1>            real=float,
1>            col_t=amgcl::backend::builtin<float>::index_type,
1>            Backend=Backend,
1>            _Ty2=amgcl::backend::crs<float,amgcl::backend::builtin<float>::index_type,amgcl::backend::builtin<float>::index_type>,
1>            Matrix=amgcl::backend::crs<float,amgcl::backend::builtin<float>::index_type,amgcl::backend::builtin<float>::index_type>
1>        ]
1>c:\makoto_Dev\aqm\amgcl\amg.hpp(322): note: コンパイル対象の関数 テンプレート インスタンス化 'std::tuple<std::shared_ptr<amgcl::backend::crs<float,amgcl::backend::builtin<real>::index_type,col_t>>,std::shared_ptr<amgcl::backend::crs<float,col_t,col_t>>> amgcl::coarsening::smoothed_aggregation<Backend>::transfer_operators<_Ty2>(const Matrix &)' のリファレンスを確認してください
1>        with
1>        [
1>            real=float,
1>            col_t=amgcl::backend::builtin<float>::index_type,
1>            Backend=Backend,
1>            _Ty2=amgcl::backend::crs<float,amgcl::backend::builtin<float>::index_type,amgcl::backend::builtin<float>::index_type>,
1>            Matrix=amgcl::backend::crs<float,amgcl::backend::builtin<float>::index_type,amgcl::backend::builtin<float>::index_type>
1>        ]
1>c:\makoto_Dev\aqm\amgcl\amg.hpp(317): note: クラス テンプレート のメンバー関数 'std::shared_ptr<amgcl::backend::crs<float,amgcl::backend::builtin<real>::index_type,col_t>> amgcl::amg<Backend,amgcl::coarsening::smoothed_aggregation,amgcl::relaxation::spai0>::level::step_down(std::shared_ptr<amgcl::backend::crs<float,col_t,col_t>>,amgcl::coarsening::smoothed_aggregation<Backend> &,const amgcl::backend::cuda<real,amgcl::solver::cuda_skyline_lu<real>>::params &)' のコンパイル中
1>        with
1>        [
1>            real=float,
1>            col_t=amgcl::backend::builtin<float>::index_type,
1>            Backend=Backend
1>        ]
1>c:\makoto_Dev\aqm\amgcl\amg.hpp(392): note: コンパイル対象の関数 テンプレート インスタンス化 'std::shared_ptr<amgcl::backend::crs<float,amgcl::backend::builtin<real>::index_type,col_t>> amgcl::amg<Backend,amgcl::coarsening::smoothed_aggregation,amgcl::relaxation::spai0>::level::step_down(std::shared_ptr<amgcl::backend::crs<float,col_t,col_t>>,amgcl::coarsening::smoothed_aggregation<Backend> &,const amgcl::backend::cuda<real,amgcl::solver::cuda_skyline_lu<real>>::params &)' のリファレンスを確認してください
1>        with
1>        [
1>            real=float,
1>            col_t=amgcl::backend::builtin<float>::index_type,
1>            Backend=Backend
1>        ]
1>c:\program files (x86)\microsoft visual studio\2017\professional\vc\tools\msvc\14.16.27023\include\list(362): note: コンパイル対象の クラス テンプレート インスタンス化 'amgcl::amg<Backend,amgcl::coarsening::smoothed_aggregation,amgcl::relaxation::spai0>::level' のリファレンスを確認してください
1>c:\program files (x86)\microsoft visual studio\2017\professional\vc\tools\msvc\14.16.27023\include\list(605): note: コンパイル対象の クラス テンプレート インスタンス化 'std::_List_node<_Ty,std::_Default_allocator_traits<_Alloc>::void_pointer>' のリファレンスを確認してください
1>        with
1>        [
1>            _Ty=amgcl::amg<Backend,amgcl::coarsening::smoothed_aggregation,amgcl::relaxation::spai0>::level,
1>            _Alloc=std::allocator<amgcl::amg<Backend,amgcl::coarsening::smoothed_aggregation,amgcl::relaxation::spai0>::level>
1>        ]
1>c:\program files (x86)\microsoft visual studio\2017\professional\vc\tools\msvc\14.16.27023\include\list(604): note: クラス テンプレート のメンバー関数 'void std::_List_alloc<std::_List_base_types<_Ty,_Alloc>>::_Freeheadnode(std::_List_node<_Ty,std::_Default_allocator_traits<_Alloc>::void_pointer> *)' のコンパイル中
1>        with
1>        [
1>            _Ty=amgcl::amg<Backend,amgcl::coarsening::smoothed_aggregation,amgcl::relaxation::spai0>::level,
1>            _Alloc=std::allocator<amgcl::amg<Backend,amgcl::coarsening::smoothed_aggregation,amgcl::relaxation::spai0>::level>
1>        ]
1>c:\program files (x86)\microsoft visual studio\2017\professional\vc\tools\msvc\14.16.27023\include\list(480): note: コンパイル対象の関数 テンプレート インスタンス化 'void std::_List_alloc<std::_List_base_types<_Ty,_Alloc>>::_Freeheadnode(std::_List_node<_Ty,std::_Default_allocator_traits<_Alloc>::void_pointer> *)' のリファレンスを確認してください
1>        with
1>        [
1>            _Ty=amgcl::amg<Backend,amgcl::coarsening::smoothed_aggregation,amgcl::relaxation::spai0>::level,
1>            _Alloc=std::allocator<amgcl::amg<Backend,amgcl::coarsening::smoothed_aggregation,amgcl::relaxation::spai0>::level>
1>        ]
1>c:\program files (x86)\microsoft visual studio\2017\professional\vc\tools\msvc\14.16.27023\include\list(689): note: コンパイル対象の クラス テンプレート インスタンス化 'std::_List_alloc<std::_List_base_types<_Ty,_Alloc>>' のリファレンスを確認してください
1>        with
1>        [
1>            _Ty=amgcl::amg<Backend,amgcl::coarsening::smoothed_aggregation,amgcl::relaxation::spai0>::level,
1>            _Alloc=std::allocator<amgcl::amg<Backend,amgcl::coarsening::smoothed_aggregation,amgcl::relaxation::spai0>::level>
1>        ]
1>c:\program files (x86)\microsoft visual studio\2017\professional\vc\tools\msvc\14.16.27023\include\list(740): note: コンパイル対象の クラス テンプレート インスタンス化 'std::_List_buy<_Ty,_Alloc>' のリファレンスを確認してください
1>        with
1>        [
1>            _Ty=amgcl::amg<Backend,amgcl::coarsening::smoothed_aggregation,amgcl::relaxation::spai0>::level,
1>            _Alloc=std::allocator<amgcl::amg<Backend,amgcl::coarsening::smoothed_aggregation,amgcl::relaxation::spai0>::level>
1>        ]
1>c:\makoto_Dev\aqm\amgcl\amg.hpp(369): note: コンパイル対象の クラス テンプレート インスタンス化 'std::list<amgcl::amg<Backend,amgcl::coarsening::smoothed_aggregation,amgcl::relaxation::spai0>::level,std::allocator<_Ty>>' のリファレンスを確認してください
1>        with
1>        [
1>            _Ty=amgcl::amg<Backend,amgcl::coarsening::smoothed_aggregation,amgcl::relaxation::spai0>::level
1>        ]
1>c:\makoto_Dev\aqm\amgcl\coarsening\tentative_prolongation.hpp(187): warning C4267: '引数': 'size_t' から 'int' に変換しました。データが失われているかもしれません。
1>c:\makoto_Dev\aqm\amgcl\coarsening\tentative_prolongation.hpp(187): warning C4244: '=': 'value_type' から 'value_type' への変換です。データが失われる可能性があります。
1>        with
1>        [
1>            value_type=double
1>        ]
1>c:\makoto_Dev\aqm\amgcl\backend\cuda.hpp(343): warning C4267: '引数': 'size_t' から 'int' に変換しました。データが失われているかもしれません。
1>c:\makoto_Dev\aqm\amgcl\backend\cuda.hpp(338): note: クラス テンプレート のメンバー関数 'void amgcl::backend::cuda_matrix<real>::fill_matrix(size_t,size_t,const ptrdiff_t *,const ptrdiff_t *,const float *)' のコンパイル中
1>        with
1>        [
1>            real=float
1>        ]
1>c:\makoto_Dev\aqm\amgcl\backend\cuda.hpp(263): note: コンパイル対象の関数 テンプレート インスタンス化 'void amgcl::backend::cuda_matrix<real>::fill_matrix(size_t,size_t,const ptrdiff_t *,const ptrdiff_t *,const float *)' のリファレンスを確認してください
1>        with
1>        [
1>            real=float
1>        ]
1>c:\program files (x86)\microsoft visual studio\2017\professional\vc\tools\msvc\14.16.27023\include\type_traits(1350): note: コンパイル対象の クラス テンプレート インスタンス化 'amgcl::backend::cuda_matrix<real>' のリファレンスを確認してください
1>        with
1>        [
1>            real=float
1>        ]
1>c:\program files (x86)\microsoft visual studio\2017\professional\vc\tools\msvc\14.16.27023\include\type_traits(1357): note: コンパイル対象の クラス テンプレート インスタンス化 'std::aligned_union<1,_Ty>' のリファレンスを確認してください
1>        with
1>        [
1>            _Ty=amgcl::backend::cuda_matrix<float>
1>        ]
1>c:\program files (x86)\microsoft visual studio\2017\professional\vc\tools\msvc\14.16.27023\include\memory(1820): note: コンパイル対象の エイリアス テンプレート インスタンス化 'std::aligned_union_t<1,amgcl::backend::cuda_matrix<real>>' のリファレンスを確認してください
1>        with
1>        [
1>            real=float
1>        ]
1>c:\program files (x86)\microsoft visual studio\2017\professional\vc\tools\msvc\14.16.27023\include\memory(1866): note: コンパイル対象の クラス テンプレート インスタンス化 'std::_Ref_count_obj<_Ty>' のリファレンスを確認してください
1>        with
1>        [
1>            _Ty=amgcl::backend::cuda_matrix<float>
1>        ]
1>c:\makoto_Dev\aqm\amgcl\backend\cuda.hpp(425): note: コンパイル対象の関数 テンプレート インスタンス化 'std::shared_ptr<amgcl::backend::cuda_matrix<real>> std::make_shared<amgcl::backend::cuda_matrix<real>,size_t,size_t,__int64*&,__int64*&,float*&,const cusparseHandle_t&>(size_t &&,size_t &&,__int64 *&,__int64 *&,float *&,const cusparseHandle_t &)' のリファレンスを確認してください
1>        with
1>        [
1>            real=float
1>        ]
1>c:\makoto_Dev\aqm\amgcl\backend\cuda.hpp(422): note: クラス テンプレート のメンバー関数 'std::shared_ptr<amgcl::backend::cuda_matrix<real>> amgcl::backend::cuda<real,amgcl::solver::cuda_skyline_lu<real>>::copy_matrix(std::shared_ptr<amgcl::backend::crs<float,amgcl::backend::builtin<real>::index_type,col_t>>,const amgcl::backend::cuda<real,amgcl::solver::cuda_skyline_lu<real>>::params &)' のコンパイル中
1>        with
1>        [
1>            real=float,
1>            col_t=amgcl::backend::builtin<float>::index_type
1>        ]
1>c:\makoto_Dev\aqm\amgcl\amg.hpp(357): note: コンパイル対象の関数 テンプレート インスタンス化 'std::shared_ptr<amgcl::backend::cuda_matrix<real>> amgcl::backend::cuda<real,amgcl::solver::cuda_skyline_lu<real>>::copy_matrix(std::shared_ptr<amgcl::backend::crs<float,amgcl::backend::builtin<real>::index_type,col_t>>,const amgcl::backend::cuda<real,amgcl::solver::cuda_skyline_lu<real>>::params &)' のリファレンスを確認してください
1>        with
1>        [
1>            real=float,
1>            col_t=amgcl::backend::builtin<float>::index_type
1>        ]
1>c:\makoto_Dev\aqm\gpu_functions\gpu_amgcl.cu(60): note: コンパイル対象の クラス テンプレート インスタンス化 'amgcl::backend::cuda<float,amgcl::solver::cuda_skyline_lu<real>>' のリファレンスを確認してください
1>        with
1>        [
1>            real=float
1>        ]
1>c:\makoto_Dev\aqm\amgcl\detail\spgemm.hpp(123): warning C4244: '引数': 'Idx' から 'int' への変換です。データが失われる可能性があります。
1>c:\makoto_Dev\aqm\amgcl\backend\builtin.hpp(389): note: コンパイル対象の関数 テンプレート インスタンス化 'void amgcl::backend::spgemm_saad<amgcl::backend::crs<float,amgcl::backend::builtin<real>::index_type,col_t>,amgcl::backend::crs<float,col_t,col_t>,_Ty2>(const AMatrix &,const BMatrix &,CMatrix &,bool)' のリファレンスを確認してください
1>        with
1>        [
1>            real=float,
1>            col_t=amgcl::backend::builtin<float>::index_type,
1>            _Ty2=amgcl::backend::crs<float,amgcl::backend::builtin<float>::index_type,amgcl::backend::builtin<float>::index_type>,
1>            AMatrix=amgcl::backend::crs<float,amgcl::backend::builtin<float>::index_type,amgcl::backend::builtin<float>::index_type>,
1>            BMatrix=amgcl::backend::crs<float,amgcl::backend::builtin<float>::index_type,amgcl::backend::builtin<float>::index_type>,
1>            CMatrix=amgcl::backend::crs<float,amgcl::backend::builtin<float>::index_type,amgcl::backend::builtin<float>::index_type>
1>        ]
1>c:\makoto_Dev\aqm\amgcl\coarsening\detail\galerkin.hpp(46): note: コンパイル対象の関数 テンプレート インスタンス化 'std::shared_ptr<amgcl::backend::crs<float,amgcl::backend::builtin<real>::index_type,col_t>> amgcl::backend::product<float,amgcl::backend::builtin<real>::index_type,col_t>(const amgcl::backend::crs<float,col_t,col_t> &,const amgcl::backend::crs<float,col_t,col_t> &,bool)' のリファレンスを確認してください
1>        with
1>        [
1>            real=float,
1>            col_t=amgcl::backend::builtin<float>::index_type
1>        ]
1>c:\makoto_Dev\aqm\amgcl\coarsening\smoothed_aggregation.hpp(244): note: コンパイル対象の関数 テンプレート インスタンス化 'std::shared_ptr<amgcl::backend::crs<float,amgcl::backend::builtin<real>::index_type,col_t>> amgcl::coarsening::detail::galerkin<Matrix>(const Matrix &,const Matrix &,const Matrix &)' のリファレンスを確認してください
1>        with
1>        [
1>            real=float,
1>            col_t=amgcl::backend::builtin<float>::index_type,
1>            Matrix=amgcl::backend::crs<float,amgcl::backend::builtin<float>::index_type,amgcl::backend::builtin<float>::index_type>
1>        ]
1>c:\makoto_Dev\aqm\amgcl\amg.hpp(338): note: コンパイル対象の関数 テンプレート インスタンス化 'std::shared_ptr<amgcl::backend::crs<float,amgcl::backend::builtin<real>::index_type,col_t>> amgcl::coarsening::smoothed_aggregation<Backend>::coarse_operator<_Ty2>(const Matrix &,const Matrix &,const Matrix &) const' のリファレンスを確認してください
1>        with
1>        [
1>            real=float,
1>            col_t=amgcl::backend::builtin<float>::index_type,
1>            Backend=Backend,
1>            _Ty2=amgcl::backend::crs<float,amgcl::backend::builtin<float>::index_type,amgcl::backend::builtin<float>::index_type>,
1>            Matrix=amgcl::backend::crs<float,amgcl::backend::builtin<float>::index_type,amgcl::backend::builtin<float>::index_type>
1>        ]
1>c:\makoto_Dev\aqm\amgcl\amg.hpp(338): note: コンパイル対象の関数 テンプレート インスタンス化 'std::shared_ptr<amgcl::backend::crs<float,amgcl::backend::builtin<real>::index_type,col_t>> amgcl::coarsening::smoothed_aggregation<Backend>::coarse_operator<_Ty2>(const Matrix &,const Matrix &,const Matrix &) const' のリファレンスを確認してください
1>        with
1>        [
1>            real=float,
1>            col_t=amgcl::backend::builtin<float>::index_type,
1>            Backend=Backend,
1>            _Ty2=amgcl::backend::crs<float,amgcl::backend::builtin<float>::index_type,amgcl::backend::builtin<float>::index_type>,
1>            Matrix=amgcl::backend::crs<float,amgcl::backend::builtin<float>::index_type,amgcl::backend::builtin<float>::index_type>
1>        ]
1>c:\makoto_Dev\aqm\amgcl\solver\skyline_lu.hpp(100): warning C4267: '初期化中': 'size_t' から 'int' に変換しました。データが失われているかもしれません。
1>c:\makoto_Dev\aqm\amgcl\backend\cuda.hpp(67): note: コンパイル対象の関数 テンプレート インスタンス化 'amgcl::solver::skyline_lu<float,amgcl::reorder::cuthill_mckee<false>>::skyline_lu<_Ty2>(const Matrix &,const amgcl::solver::skyline_lu<float,amgcl::reorder::cuthill_mckee<false>>::params &)' のリファレンスを確認してください
1>        with
1>        [
1>            _Ty2=amgcl::backend::crs<float,amgcl::backend::builtin<float>::index_type,amgcl::backend::builtin<float>::index_type>,
1>            Matrix=amgcl::backend::crs<float,amgcl::backend::builtin<float>::index_type,amgcl::backend::builtin<float>::index_type>
1>        ]
1>c:\makoto_Dev\aqm\amgcl\backend\cuda.hpp(66): note: コンパイル対象の関数 テンプレート インスタンス化 'amgcl::solver::skyline_lu<float,amgcl::reorder::cuthill_mckee<false>>::skyline_lu<_Ty2>(const Matrix &,const amgcl::solver::skyline_lu<float,amgcl::reorder::cuthill_mckee<false>>::params &)' のリファレンスを確認してください
1>        with
1>        [
1>            _Ty2=amgcl::backend::crs<float,amgcl::backend::builtin<float>::index_type,amgcl::backend::builtin<float>::index_type>,
1>            Matrix=amgcl::backend::crs<float,amgcl::backend::builtin<float>::index_type,amgcl::backend::builtin<float>::index_type>
1>        ]
1>c:\program files (x86)\microsoft visual studio\2017\professional\vc\tools\msvc\14.16.27023\include\memory(1801): note: コンパイル対象の関数 テンプレート インスタンス化 'amgcl::solver::cuda_skyline_lu<real>::cuda_skyline_lu<std::shared_ptr<amgcl::backend::crs<float,amgcl::backend::builtin<real>::index_type,col_t>>,amgcl::backend::cuda<real,amgcl::solver::cuda_skyline_lu<real>>::params>(const Matrix &,const Params &)' のリファレンスを確認してください
1>        with
1>        [
1>            real=float,
1>            col_t=amgcl::backend::builtin<float>::index_type,
1>            Matrix=std::shared_ptr<amgcl::backend::crs<float,amgcl::backend::builtin<float>::index_type,amgcl::backend::builtin<float>::index_type>>,
1>            Params=amgcl::backend::cuda<float,amgcl::solver::cuda_skyline_lu<float>>::params
1>        ]
1>c:\program files (x86)\microsoft visual studio\2017\professional\vc\tools\msvc\14.16.27023\include\memory(1801): note: コンパイル対象の関数 テンプレート インスタンス化 'amgcl::solver::cuda_skyline_lu<real>::cuda_skyline_lu<std::shared_ptr<amgcl::backend::crs<float,amgcl::backend::builtin<real>::index_type,col_t>>,amgcl::backend::cuda<real,amgcl::solver::cuda_skyline_lu<real>>::params>(const Matrix &,const Params &)' のリファレンスを確認してください
1>        with
1>        [
1>            real=float,
1>            col_t=amgcl::backend::builtin<float>::index_type,
1>            Matrix=std::shared_ptr<amgcl::backend::crs<float,amgcl::backend::builtin<float>::index_type,amgcl::backend::builtin<float>::index_type>>,
1>            Params=amgcl::backend::cuda<float,amgcl::solver::cuda_skyline_lu<float>>::params
1>        ]
1>c:\program files (x86)\microsoft visual studio\2017\professional\vc\tools\msvc\14.16.27023\include\memory(1866): note: コンパイル対象の関数 テンプレート インスタンス化 'std::_Ref_count_obj<_Ty>::_Ref_count_obj<std::shared_ptr<amgcl::backend::crs<float,amgcl::backend::builtin<real>::index_type,col_t>>&,const amgcl::backend::cuda<real,amgcl::solver::cuda_skyline_lu<real>>::params&>(std::shared_ptr<amgcl::backend::crs<float,col_t,col_t>> &,const amgcl::backend::cuda<real,amgcl::solver::cuda_skyline_lu<real>>::params &)' のリファレンスを確認してください
1>        with
1>        [
1>            _Ty=amgcl::solver::cuda_skyline_lu<float>,
1>            real=float,
1>            col_t=amgcl::backend::builtin<float>::index_type
1>        ]
1>c:\program files (x86)\microsoft visual studio\2017\professional\vc\tools\msvc\14.16.27023\include\memory(1866): note: コンパイル対象の関数 テンプレート インスタンス化 'std::_Ref_count_obj<_Ty>::_Ref_count_obj<std::shared_ptr<amgcl::backend::crs<float,amgcl::backend::builtin<real>::index_type,col_t>>&,const amgcl::backend::cuda<real,amgcl::solver::cuda_skyline_lu<real>>::params&>(std::shared_ptr<amgcl::backend::crs<float,col_t,col_t>> &,const amgcl::backend::cuda<real,amgcl::solver::cuda_skyline_lu<real>>::params &)' のリファレンスを確認してください
1>        with
1>        [
1>            _Ty=amgcl::solver::cuda_skyline_lu<float>,
1>            real=float,
1>            col_t=amgcl::backend::builtin<float>::index_type
1>        ]
1>c:\makoto_Dev\aqm\amgcl\backend\cuda.hpp(453): note: コンパイル対象の関数 テンプレート インスタンス化 'std::shared_ptr<amgcl::solver::cuda_skyline_lu<real>> std::make_shared<amgcl::solver::cuda_skyline_lu<real>,std::shared_ptr<amgcl::backend::crs<float,amgcl::backend::builtin<real>::index_type,col_t>>&,const amgcl::backend::cuda<real,amgcl::solver::cuda_skyline_lu<real>>::params&>(std::shared_ptr<amgcl::backend::crs<float,col_t,col_t>> &,const amgcl::backend::cuda<real,amgcl::solver::cuda_skyline_lu<real>>::params &)' のリファレンスを確認してください
1>        with
1>        [
1>            real=float,
1>            col_t=amgcl::backend::builtin<float>::index_type
1>        ]
1>c:\makoto_Dev\aqm\amgcl\backend\cuda.hpp(452): note: クラス テンプレート のメンバー関数 'std::shared_ptr<amgcl::solver::cuda_skyline_lu<real>> amgcl::backend::cuda<real,amgcl::solver::cuda_skyline_lu<real>>::create_solver(std::shared_ptr<amgcl::backend::crs<float,amgcl::backend::builtin<real>::index_type,col_t>>,const amgcl::backend::cuda<real,amgcl::solver::cuda_skyline_lu<real>>::params &)' のコンパイル中
1>        with
1>        [
1>            real=float,
1>            col_t=amgcl::backend::builtin<float>::index_type
1>        ]
1>c:\makoto_Dev\aqm\amgcl\amg.hpp(355): note: コンパイル対象の関数 テンプレート インスタンス化 'std::shared_ptr<amgcl::solver::cuda_skyline_lu<real>> amgcl::backend::cuda<real,amgcl::solver::cuda_skyline_lu<real>>::create_solver(std::shared_ptr<amgcl::backend::crs<float,amgcl::backend::builtin<real>::index_type,col_t>>,const amgcl::backend::cuda<real,amgcl::solver::cuda_skyline_lu<real>>::params &)' のリファレンスを確認してください
1>        with
1>        [
1>            real=float,
1>            col_t=amgcl::backend::builtin<float>::index_type
1>        ]
1>c:\makoto_Dev\aqm\amgcl\solver\skyline_lu.hpp(120): warning C4244: '初期化中': '__int64' から 'int' への変換です。データが失われる可能性があります。
1>c:\makoto_Dev\aqm\amgcl\solver\skyline_lu.hpp(157): warning C4244: '初期化中': '__int64' から 'int' への変換です。データが失われる可能性があります。
1>c:\makoto_Dev\aqm\amgcl\detail\spgemm.hpp(230): warning C4244: '初期化中': 'const Idx' から 'int' への変換です。データが失われる可能性があります。
1>        with
1>        [
1>            Idx=__int64
1>        ]
1>c:\makoto_Dev\aqm\amgcl\detail\spgemm.hpp(472): note: コンパイル対象の関数 テンプレート インスタンス化 'Idx amgcl::backend::prod_row_width<__int64>(const Idx *,const Idx *,const Idx *,const Idx *,Idx *,Idx *,Idx *)' のリファレンスを確認してください
1>        with
1>        [
1>            Idx=__int64
1>        ]
1>c:\makoto_Dev\aqm\amgcl\backend\builtin.hpp(387): note: コンパイル対象の関数 テンプレート インスタンス化 'void amgcl::backend::spgemm_rmerge<amgcl::backend::crs<float,amgcl::backend::builtin<real>::index_type,col_t>,amgcl::backend::crs<float,col_t,col_t>,_Ty2>(const AMatrix &,const BMatrix &,CMatrix &)' のリファレンスを確認してください
1>        with
1>        [
1>            real=float,
1>            col_t=amgcl::backend::builtin<float>::index_type,
1>            _Ty2=amgcl::backend::crs<float,amgcl::backend::builtin<float>::index_type,amgcl::backend::builtin<float>::index_type>,
1>            AMatrix=amgcl::backend::crs<float,amgcl::backend::builtin<float>::index_type,amgcl::backend::builtin<float>::index_type>,
1>            BMatrix=amgcl::backend::crs<float,amgcl::backend::builtin<float>::index_type,amgcl::backend::builtin<float>::index_type>,
1>            CMatrix=amgcl::backend::crs<float,amgcl::backend::builtin<float>::index_type,amgcl::backend::builtin<float>::index_type>
1>        ]
1>c:\makoto_Dev\aqm\amgcl\detail\spgemm.hpp(231): warning C4244: '初期化中': 'const Idx' から 'int' への変換です。データが失われる可能性があります。
1>        with
1>        [
1>            Idx=__int64
1>        ]
1>c:\makoto_Dev\aqm\amgcl\reorder\cuthill_mckee.hpp(124): warning C4244: '=': 'ptrdiff_t' から '_Ty' への変換です。データが失われる可能性があります。
1>        with
1>        [
1>            _Ty=int
1>        ]
1>c:\makoto_Dev\aqm\amgcl\solver\skyline_lu.hpp(102): note: コンパイル対象の関数 テンプレート インスタンス化 'void amgcl::reorder::cuthill_mckee<false>::get<Matrix,std::vector<int,std::allocator<_Ty>>>(const Matrix &,Vector &)' のリファレンスを確認してください
1>        with
1>        [
1>            Matrix=amgcl::backend::crs<float,amgcl::backend::builtin<float>::index_type,amgcl::backend::builtin<float>::index_type>,
1>            _Ty=int,
1>            Vector=std::vector<int,std::allocator<int>>
1>        ]
1>c:\makoto_Dev\aqm\amgcl\solver\skyline_lu.hpp(102): note: コンパイル対象の関数 テンプレート インスタンス化 'void amgcl::reorder::cuthill_mckee<false>::get<Matrix,std::vector<int,std::allocator<_Ty>>>(const Matrix &,Vector &)' のリファレンスを確認してください
1>        with
1>        [
1>            Matrix=amgcl::backend::crs<float,amgcl::backend::builtin<float>::index_type,amgcl::backend::builtin<float>::index_type>,
1>            _Ty=int,
1>            Vector=std::vector<int,std::allocator<int>>
1>        ]
1>c:\makoto_Dev\aqm\amgcl\backend\cuda.hpp(67): note: コンパイル対象の関数 テンプレート インスタンス化 'amgcl::solver::skyline_lu<float,amgcl::reorder::cuthill_mckee<false>>::skyline_lu<_Ty2>(const Matrix &,const amgcl::solver::skyline_lu<float,amgcl::reorder::cuthill_mckee<false>>::params &)' のリファレンスを確認してください
1>        with
1>        [
1>            _Ty2=amgcl::backend::crs<float,amgcl::backend::builtin<float>::index_type,amgcl::backend::builtin<float>::index_type>,
1>            Matrix=amgcl::backend::crs<float,amgcl::backend::builtin<float>::index_type,amgcl::backend::builtin<float>::index_type>
1>        ]
1>c:\makoto_Dev\aqm\amgcl\backend\cuda.hpp(66): note: コンパイル対象の関数 テンプレート インスタンス化 'amgcl::solver::skyline_lu<float,amgcl::reorder::cuthill_mckee<false>>::skyline_lu<_Ty2>(const Matrix &,const amgcl::solver::skyline_lu<float,amgcl::reorder::cuthill_mckee<false>>::params &)' のリファレンスを確認してください
1>        with
1>        [
1>            _Ty2=amgcl::backend::crs<float,amgcl::backend::builtin<float>::index_type,amgcl::backend::builtin<float>::index_type>,
1>            Matrix=amgcl::backend::crs<float,amgcl::backend::builtin<float>::index_type,amgcl::backend::builtin<float>::index_type>
1>        ]
1>c:\makoto_Dev\aqm\amgcl\reorder\cuthill_mckee.hpp(149): warning C4244: '=': 'ptrdiff_t' から '_Ty' への変換です。データが失われる可能性があります。
1>        with
1>        [
1>            _Ty=int
1>        ]
1>c:\makoto_Dev\aqm\amgcl\reorder\cuthill_mckee.hpp(173): warning C4244: '=': 'ptrdiff_t' から '_Ty' への変換です。データが失われる可能性があります。
1>        with
1>        [
1>            _Ty=int
1>        ]
1>c:\program files\nvidia gpu computing toolkit\cuda\v10.2\include\thrust\system\detail\generic\for_each.h(66): error C2027: 認識できない型 'thrust::detail::STATIC_ASSERTION_FAILURE<false>' が使われています。
1>c:\program files\nvidia gpu computing toolkit\cuda\v10.2\include\thrust\system\detail\generic\for_each.h(66): note: 'thrust::detail::STATIC_ASSERTION_FAILURE<false>' の宣言を確認してください
1>c:\program files\nvidia gpu computing toolkit\cuda\v10.2\include\thrust\detail\for_each.inl(71): note: コンパイル対象の関数 テンプレート インスタンス化 'InputIterator thrust::system::detail::generic::for_each_n<thrust::cuda_cub::tag,InputIterator,Size,UnaryFunction>(thrust::execution_policy<thrust::cuda_cub::tag> &,InputIterator,Size,UnaryFunction)' のリファレンスを確認してください
1>        with
1>        [
1>            InputIterator=thrust::device_ptr<float>,
1>            Size=unsigned __int64,
1>            UnaryFunction=thrust::detail::device_generate_functor<thrust::detail::fill_functor<float>>
1>        ]
1>c:\program files\nvidia gpu computing toolkit\cuda\v10.2\include\thrust\system\detail\generic\generate.inl(92): note: コンパイル対象の関数 テンプレート インスタンス化 'InputIterator thrust::for_each_n<DerivedPolicy,OutputIterator,Size,thrust::detail::device_generate_functor<Generator>>(const thrust::detail::execution_policy_base<DerivedPolicy> &,InputIterator,Size,UnaryFunction)' のリファレンスを確認してください
1>        with
1>        [
1>            InputIterator=thrust::device_ptr<float>,
1>            DerivedPolicy=thrust::cuda_cub::tag,
1>            OutputIterator=thrust::device_ptr<float>,
1>            Size=unsigned __int64,
1>            Generator=thrust::detail::fill_functor<float>,
1>            UnaryFunction=thrust::detail::device_generate_functor<thrust::detail::fill_functor<float>>
1>        ]
1>c:\program files\nvidia gpu computing toolkit\cuda\v10.2\include\thrust\detail\generate.inl(60): note: コンパイル対象の関数 テンプレート インスタンス化 'OutputIterator thrust::system::detail::generic::generate_n<thrust::cuda_cub::tag,OutputIterator,Size,Generator>(thrust::execution_policy<thrust::cuda_cub::tag> &,OutputIterator,Size,Generator)' のリファレンスを確認してください
1>        with
1>        [
1>            OutputIterator=thrust::device_ptr<float>,
1>            Size=unsigned __int64,
1>            Generator=thrust::detail::fill_functor<float>
1>        ]
1>c:\program files\nvidia gpu computing toolkit\cuda\v10.2\include\thrust\system\detail\generic\fill.h(41): note: コンパイル対象の関数 テンプレート インスタンス化 'OutputIterator thrust::generate_n<DerivedPolicy,OutputIterator,Size,thrust::detail::fill_functor<T>>(const thrust::detail::execution_policy_base<DerivedPolicy> &,OutputIterator,Size,Generator)' のリファレンスを確認してください
1>        with
1>        [
1>            OutputIterator=thrust::device_ptr<float>,
1>            DerivedPolicy=thrust::cuda_cub::tag,
1>            Size=unsigned __int64,
1>            T=float,
1>            Generator=thrust::detail::fill_functor<float>
1>        ]
1>c:\program files\nvidia gpu computing toolkit\cuda\v10.2\include\thrust\detail\fill.inl(54): note: コンパイル対象の関数 テンプレート インスタンス化 'OutputIterator thrust::system::detail::generic::fill_n<thrust::cuda_cub::tag,OutputIterator,Size,T>(thrust::execution_policy<thrust::cuda_cub::tag> &,OutputIterator,Size,const T &)' のリファレンスを確認してください
1>        with
1>        [
1>            OutputIterator=thrust::device_ptr<float>,
1>            Size=unsigned __int64,
1>            T=float
1>        ]
1>c:\program files\nvidia gpu computing toolkit\cuda\v10.2\include\thrust\system\detail\generic\uninitialized_fill.inl(74): note: コンパイル対象の関数 テンプレート インスタンス化 'OutputIterator thrust::fill_n<DerivedPolicy,ForwardIterator,Size,T>(const thrust::detail::execution_policy_base<DerivedPolicy> &,OutputIterator,Size,const T &)' のリファレンスを確認してください
1>        with
1>        [
1>            OutputIterator=thrust::device_ptr<float>,
1>            DerivedPolicy=thrust::cuda_cub::tag,
1>            ForwardIterator=thrust::device_ptr<float>,
1>            Size=unsigned __int64,
1>            T=float
1>        ]
1>c:\program files\nvidia gpu computing toolkit\cuda\v10.2\include\thrust\system\detail\generic\uninitialized_fill.inl(127): note: コンパイル対象の関数 テンプレート インスタンス化 'ForwardIterator thrust::system::detail::generic::detail::uninitialized_fill_n<thrust::cuda_cub::tag,ForwardIterator,Size,T>(thrust::execution_policy<thrust::cuda_cub::tag> &,ForwardIterator,Size,const T &,thrust::detail::true_type)' のリファレンスを確認してください
1>        with
1>        [
1>            ForwardIterator=thrust::device_ptr<float>,
1>            Size=unsigned __int64,
1>            T=float
1>        ]
1>c:\program files\nvidia gpu computing toolkit\cuda\v10.2\include\thrust\detail\uninitialized_fill.inl(54): note: コンパイル対象の関数 テンプレート インスタンス化 'ForwardIterator thrust::system::detail::generic::uninitialized_fill_n<thrust::cuda_cub::tag,ForwardIterator,Size,T>(thrust::execution_policy<thrust::cuda_cub::tag> &,ForwardIterator,Size,const T &)' のリファレンスを確認してください
1>        with
1>        [
1>            ForwardIterator=thrust::device_ptr<float>,
1>            Size=unsigned __int64,
1>            T=float
1>        ]
1>c:\program files\nvidia gpu computing toolkit\cuda\v10.2\include\thrust\detail\allocator\default_construct_range.inl(94): note: コンパイル対象の関数 テンプレート インスタンス化 'ForwardIterator thrust::uninitialized_fill_n<DerivedPolicy,Pointer,Size,float>(const thrust::detail::execution_policy_base<DerivedPolicy> &,ForwardIterator,Size,const T &)' のリファレンスを確認してください
1>        with
1>        [
1>            ForwardIterator=thrust::device_ptr<float>,
1>            DerivedPolicy=thrust::cuda_cub::tag,
1>            Pointer=thrust::device_ptr<float>,
1>            Size=unsigned __int64,
1>            T=float
1>        ]
1>c:\program files\nvidia gpu computing toolkit\cuda\v10.2\include\thrust\detail\allocator\default_construct_range.inl(105): note: コンパイル対象の関数 テンプレート インスタンス化 'void thrust::detail::allocator_traits_detail::default_construct_range<Allocator,Pointer,Size>(Allocator &,Pointer,Size)' のリファレンスを確認してください
1>        with
1>        [
1>            Allocator=thrust::device_allocator<float>,
1>            Pointer=thrust::device_ptr<float>,
1>            Size=unsigned __int64
1>        ]
1>c:\program files\nvidia gpu computing toolkit\cuda\v10.2\include\thrust\detail\contiguous_storage.inl(251): note: コンパイル対象の関数 テンプレート インスタンス化 'void thrust::detail::default_construct_range<thrust::device_allocator<T>,Base,unsigned __int64>(Allocator &,Pointer,Size)' のリファレンスを確認してください
1>        with
1>        [
1>            T=float,
1>            Base=thrust::device_ptr<float>,
1>            Allocator=thrust::device_allocator<float>,
1>            Pointer=thrust::device_ptr<float>,
1>            Size=unsigned __int64
1>        ]
1>c:\program files\nvidia gpu computing toolkit\cuda\v10.2\include\thrust\detail\contiguous_storage.inl(250): note: クラス テンプレート のメンバー関数 'void thrust::detail::contiguous_storage<T,Alloc>::default_construct_n(thrust::detail::normal_iterator<thrust::device_ptr<T>>,unsigned __int64)' のコンパイル中
1>        with
1>        [
1>            T=float,
1>            Alloc=thrust::device_allocator<float>
1>        ]
1>c:\program files\nvidia gpu computing toolkit\cuda\v10.2\include\thrust\detail\vector_base.inl(220): note: コンパイル対象の関数 テンプレート インスタンス化 'void thrust::detail::contiguous_storage<T,Alloc>::default_construct_n(thrust::detail::normal_iterator<thrust::device_ptr<T>>,unsigned __int64)' のリファレンスを確認してください
1>        with
1>        [
1>            T=float,
1>            Alloc=thrust::device_allocator<float>
1>        ]
1>c:\program files\nvidia gpu computing toolkit\cuda\v10.2\include\thrust\detail\vector_base.inl(390): note: クラス テンプレート のメンバー関数 'thrust::device_reference<T> thrust::detail::vector_base<T,Alloc>::operator [](unsigned __int64)' のコンパイル中
1>        with
1>        [
1>            T=float,
1>            Alloc=thrust::device_allocator<float>
1>        ]
1>c:\makoto_Dev\aqm\amgcl\backend\cuda.hpp(343): note: コンパイル対象の関数 テンプレート インスタンス化 'thrust::device_reference<T> thrust::detail::vector_base<T,Alloc>::operator [](unsigned __int64)' のリファレンスを確認してください
1>        with
1>        [
1>            T=float,
1>            Alloc=thrust::device_allocator<float>
1>        ]
1>c:\program files\nvidia gpu computing toolkit\cuda\v10.2\include\thrust\detail\vector_base.inl(62): note: クラス テンプレート のメンバー関数 'thrust::detail::vector_base<T,Alloc>::vector_base(unsigned __int64)' のコンパイル中
1>        with
1>        [
1>            T=float,
1>            Alloc=thrust::device_allocator<float>
1>        ]
1>c:\program files\nvidia gpu computing toolkit\cuda\v10.2\include\thrust\device_vector.h(95): note: コンパイル対象の関数 テンプレート インスタンス化 'thrust::detail::vector_base<T,Alloc>::vector_base(unsigned __int64)' のリファレンスを確認してください
1>        with
1>        [
1>            T=float,
1>            Alloc=thrust::device_allocator<float>
1>        ]
1>c:\program files\nvidia gpu computing toolkit\cuda\v10.2\include\thrust\detail\vector_base.inl(557): note: クラス テンプレート のメンバー関数 'thrust::detail::vector_base<T,Alloc>::~vector_base(void)' のコンパイル中
1>        with
1>        [
1>            T=float,
1>            Alloc=thrust::device_allocator<float>
1>        ]
1>c:\program files\nvidia gpu computing toolkit\cuda\v10.2\include\thrust\device_vector.h(87): note: コンパイル対象の関数 テンプレート インスタンス化 'thrust::detail::vector_base<T,Alloc>::~vector_base(void)' のリファレンスを確認してください
1>        with
1>        [
1>            T=float,
1>            Alloc=thrust::device_allocator<float>
1>        ]
1>c:\program files\nvidia gpu computing toolkit\cuda\v10.2\include\thrust\device_vector.h(57): note: コンパイル対象の クラス テンプレート インスタンス化 'thrust::detail::vector_base<T,Alloc>' のリファレンスを確認してください
1>        with
1>        [
1>            T=float,
1>            Alloc=thrust::device_allocator<float>
1>        ]
1>c:\program files (x86)\microsoft visual studio\2017\professional\vc\tools\msvc\14.16.27023\include\type_traits(1350): note: コンパイル対象の クラス テンプレート インスタンス化 'thrust::device_vector<real,thrust::device_allocator<T>>' のリファレンスを確認してください
1>        with
1>        [
1>            real=float,
1>            T=float
1>        ]
1>c:\program files (x86)\microsoft visual studio\2017\professional\vc\tools\msvc\14.16.27023\include\type_traits(1357): note: コンパイル対象の クラス テンプレート インスタンス化 'std::aligned_union<1,_Ty>' のリファレンスを確認してください
1>        with
1>        [
1>            _Ty=thrust::device_vector<float,thrust::device_allocator<float>>
1>        ]
1>c:\program files (x86)\microsoft visual studio\2017\professional\vc\tools\msvc\14.16.27023\include\memory(1820): note: コンパイル対象の エイリアス テンプレート インスタンス化 'std::aligned_union_t<1,thrust::device_vector<real,thrust::device_allocator<T>>>' のリファレンスを確認してください
1>        with
1>        [
1>            real=float,
1>            T=float
1>        ]
1>c:\program files (x86)\microsoft visual studio\2017\professional\vc\tools\msvc\14.16.27023\include\memory(1866): note: コンパイル対象の クラス テンプレート インスタンス化 'std::_Ref_count_obj<_Ty>' のリファレンスを確認してください
1>        with
1>        [
1>            _Ty=thrust::device_vector<float,thrust::device_allocator<float>>
1>        ]
1>c:\makoto_Dev\aqm\amgcl\backend\cuda.hpp(446): note: コンパイル対象の関数 テンプレート インスタンス化 'std::shared_ptr<thrust::device_vector<real,thrust::device_allocator<T>>> std::make_shared<thrust::device_vector<T,thrust::device_allocator<T>>,size_t&>(size_t &)' のリファレンスを確認してください
1>        with
1>        [
1>            real=float,
1>            T=float
1>        ]
1>c:\makoto_Dev\aqm\amgcl\backend\cuda.hpp(445): note: クラス テンプレート のメンバー関数 'std::shared_ptr<thrust::device_vector<real,thrust::device_allocator<T>>> amgcl::backend::cuda<real,amgcl::solver::cuda_skyline_lu<T>>::create_vector(size_t,const amgcl::backend::cuda<real,amgcl::solver::cuda_skyline_lu<T>>::params &)' のコンパイル中
1>        with
1>        [
1>            real=float,
1>            T=float
1>        ]
1>c:\makoto_Dev\aqm\amgcl\solver\bicgstab.hpp(121): note: コンパイル対象の関数 テンプレート インスタンス化 'std::shared_ptr<thrust::device_vector<real,thrust::device_allocator<T>>> amgcl::backend::cuda<real,amgcl::solver::cuda_skyline_lu<T>>::create_vector(size_t,const amgcl::backend::cuda<real,amgcl::solver::cuda_skyline_lu<T>>::params &)' のリファレンスを確認してください
1>        with
1>        [
1>            real=float,
1>            T=float
1>        ]
1>プロジェクト "aqm.vcxproj" のビルドが終了しました -- 失敗。
========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ==========
ddemidov commented 3 years ago

Are you able to compile some simple example using thrust on your system? Something like

hello_thrust.cu:

#include <iostream>
#include <thrust/device_vector.h>

int main() {
    thrust::device_vector<double> v(16);
    thrust::fill(v.begin(), v.end(), 4.2);
    for(size_t i = 0; i < 3; ++i) {
        std::cout << v[i] << std::endl;
    }
}
MakotoChiba commented 3 years ago

Thanks, I found the problem in the compiler. I don't know why but, that .cu file type is not cuda in it. Once I fixed it, I can compile it. BTW, after this problem, I tried to use Eigen matrix with cuda backend, but I got other problem with it. I got " error : more than one instance of overloaded function “__hadd” matches the argument list:" But I add this patch to the eigen, I fixed it too. https://gitlab.com/libeigen/eigen/-/issues/1526

thanks