STEllAR-GROUP / phylanx

An Asynchronous Distributed C++ Array Processing Toolkit
Boost Software License 1.0
75 stars 76 forks source link

slice does not work in als_csv and als_csv_distributed #1268

Open NanmiaoWu opened 3 years ago

NanmiaoWu commented 3 years ago

I am using a latest stable hpx, master of phylanx (commit bda8c0dabe91e89a81c53c7da4ae92b9147870b3 with 1257 patch), and latest blaze.

When I try to run als_csv_distributed, the error is shown as follows:


{version}: V1.6.0-trunk (AGAS: V3.0), Git: 0caa31baa7
{boost}: V1.72.0
{build-type}: debug
{date}: Sep 27 2020 20:52:04
{platform}: linux
{compiler}: GNU C++ version 9.3.0
{stdlib}: GNU libstdc++ version 20200422
{env}: 67 entries:

{stack-trace}: 19 frames:
0x7fcaf8a75837  : hpx::detail::custom_exception_info(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) [0xf2] in /home/nanmiao/Documents/project/dev/install/hpx_Debug/lib/libhpxd.so.1
0x7fcaf88d9c5c  : /home/nanmiao/Documents/project/dev/install/hpx_Debug/lib/libhpxd.so.1(+0xbcac5c) [0x7fcaf88d9c5c] in /home/nanmiao/Documents/project/dev/install/hpx_Debug/lib/libhpxd.so.1
0x7fcaf6f5189f  : /home/nanmiao/Documents/project/dev/install/hpx_Debug/lib/libhpx_cored.so(+0x25589f) [0x7fcaf6f5189f] in /home/nanmiao/Documents/project/dev/install/hpx_Debug/lib/libhpx_cored.so
0x7fcaf6f4ebc4  : std::__exception_ptr::exception_ptr hpx::detail::construct_custom_exception<hpx::exception>(hpx::exception const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) [0x9f] in /home/nanmiao/Documents/project/dev/install/hpx_Debug/lib/libhpx_cored.so
0x7fcaf6f4c615  : std::__exception_ptr::exception_ptr hpx::detail::get_exception<hpx::exception>(hpx::exception const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) [0x86] in /home/nanmiao/Documents/project/dev/install/hpx_Debug/lib/libhpx_cored.so
0x7fcaf6f4d01c  : void hpx::detail::throw_exception<hpx::exception>(hpx::exception const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long) [0x8d] in /home/nanmiao/Documents/project/dev/install/hpx_Debug/lib/libhpx_cored.so
0x7fcaf6f57ca0  : hpx::detail::throw_exception(hpx::error, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long) [0xb3] in /home/nanmiao/Documents/project/dev/install/hpx_Debug/lib/libhpx_cored.so
0x7fcaffa6d309  : phylanx::ir::node_data<double> phylanx::execution_tree::slice2d_basic_basic<double, blaze::CustomMatrix<double, (blaze::AlignmentFlag)1, (blaze::PaddingFlag)1, false, blaze::GroupTag<0ul>, blaze::DynamicMatrix<double, false, blaze::AlignedAllocator<double>, blaze::GroupTag<0ul> > >, phylanx::execution_tree::detail::slice_identity<double> >(blaze::CustomMatrix<double, (blaze::AlignmentFlag)1, (blaze::PaddingFlag)1, false, blaze::GroupTag<0ul>, blaze::DynamicMatrix<double, false, blaze::AlignedAllocator<double>, blaze::GroupTag<0ul> > >&&, phylanx::ir::slicing_indices const&, phylanx::ir::slicing_indices const&, phylanx::execution_tree::detail::slice_identity<double> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, phylanx::execution_tree::eval_context const&) [0x46a] in /home/nanmiao/Documents/project/dev/src/phylanx/build_phylanx_Debug/lib/libhpx_phylanxd.so.0
0x7fcaffa2829e  : phylanx::ir::node_data<double> phylanx::execution_tree::slice2d<double, blaze::CustomMatrix<double, (blaze::AlignmentFlag)1, (blaze::PaddingFlag)1, false, blaze::GroupTag<0ul>, blaze::DynamicMatrix<double, false, blaze::AlignedAllocator<double>, blaze::GroupTag<0ul> > >, phylanx::execution_tree::detail::slice_identity<double> >(blaze::CustomMatrix<double, (blaze::AlignmentFlag)1, (blaze::PaddingFlag)1, false, blaze::GroupTag<0ul>, blaze::DynamicMatrix<double, false, blaze::AlignedAllocator<double>, blaze::GroupTag<0ul> > >&&, phylanx::ir::slicing_indices const&, phylanx::execution_tree::primitive_argument_type const&, phylanx::execution_tree::detail::slice_identity<double> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, phylanx::execution_tree::eval_context const&) [0x153] in /home/nanmiao/Documents/project/dev/src/phylanx/build_phylanx_Debug/lib/libhpx_phylanxd.so.0
0x7fcaffa094fb  : phylanx::ir::node_data<double> phylanx::execution_tree::slice2d<double, blaze::CustomMatrix<double, (blaze::AlignmentFlag)1, (blaze::PaddingFlag)1, false, blaze::GroupTag<0ul>, blaze::DynamicMatrix<double, false, blaze::AlignedAllocator<double>, blaze::GroupTag<0ul> > >, phylanx::execution_tree::detail::slice_identity<double> >(blaze::CustomMatrix<double, (blaze::AlignmentFlag)1, (blaze::PaddingFlag)1, false, blaze::GroupTag<0ul>, blaze::DynamicMatrix<double, false, blaze::AlignedAllocator<double>, blaze::GroupTag<0ul> > >&&, phylanx::execution_tree::primitive_argument_type const&, phylanx::execution_tree::primitive_argument_type const&, phylanx::execution_tree::detail::slice_identity<double> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, phylanx::execution_tree::eval_context const&) [0x153] in /home/nanmiao/Documents/project/dev/src/phylanx/build_phylanx_Debug/lib/libhpx_phylanxd.so.0
0x7fcaff9fb1d8  : phylanx::ir::node_data<double> phylanx::execution_tree::slice2d_extract2d<double>(phylanx::ir::node_data<double> const&, phylanx::execution_tree::primitive_argument_type const&, phylanx::execution_tree::primitive_argument_type const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, phylanx::execution_tree::eval_context const&) [0x80] in /home/nanmiao/Documents/project/dev/src/phylanx/build_phylanx_Debug/lib/libhpx_phylanxd.so.0
0x7fcaff9f4483  : phylanx::ir::node_data<double> phylanx::execution_tree::slice_extract<double>(phylanx::ir::node_data<double> const&, phylanx::execution_tree::primitive_argument_type const&, phylanx::execution_tree::primitive_argument_type const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, phylanx::execution_tree::eval_context const&) [0x26a] in /home/nanmiao/Documents/project/dev/src/phylanx/build_phylanx_Debug/lib/libhpx_phylanxd.so.0
0x7fcaff9ed7c9  : phylanx::execution_tree::slice(phylanx::execution_tree::primitive_argument_type const&, phylanx::execution_tree::primitive_argument_type const&, phylanx::execution_tree::primitive_argument_type const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, phylanx::execution_tree::eval_context const&) [0x17f] in /home/nanmiao/Documents/project/dev/src/phylanx/build_phylanx_Debug/lib/libhpx_phylanxd.so.0
0x7fcae2e63f3b  : /home/nanmiao/Documents/project/dev/src/phylanx/build_phylanx_Debug/lib/phylanx/libphylanx_matrixopsd.so(+0x549ef3b) [0x7fcae2e63f3b] in /home/nanmiao/Documents/project/dev/src/phylanx/build_phylanx_Debug/lib/phylanx/libphylanx_matrixopsd.so
0x7fcae2e69340  : /home/nanmiao/Documents/project/dev/src/phylanx/build_phylanx_Debug/lib/phylanx/libphylanx_matrixopsd.so(+0x54a4340) [0x7fcae2e69340] in /home/nanmiao/Documents/project/dev/src/phylanx/build_phylanx_Debug/lib/phylanx/libphylanx_matrixopsd.so
0x7fcae2e691a9  : /home/nanmiao/Documents/project/dev/src/phylanx/build_phylanx_Debug/lib/phylanx/libphylanx_matrixopsd.so(+0x54a41a9) [0x7fcae2e691a9] in /home/nanmiao/Documents/project/dev/src/phylanx/build_phylanx_Debug/lib/phylanx/libphylanx_matrixopsd.so
0x7fcae2e69025  : /home/nanmiao/Documents/project/dev/src/phylanx/build_phylanx_Debug/lib/phylanx/libphylanx_matrixopsd.so(+0x54a4025) [0x7fcae2e69025] in /home/nanmiao/Documents/project/dev/src/phylanx/build_phylanx_Debug/lib/phylanx/libphylanx_matrixopsd.so
0x7fcae2e689f4  : /home/nanmiao/Documents/project/dev/src/phylanx/build_phylanx_Debug/lib/phylanx/libphylanx_matrixopsd.so(+0x54a39f4) [0x7fcae2e689f4] in /home/nanmiao/Documents/project/dev/src/phylanx/build_phylanx_Debug/lib/phylanx/libphylanx_matrixopsd.so
0x7fcae2e6854d  : /home/nanmiao/Documents/project/dev/src/phylanx/build_phylanx_Debug/lib/phylanx/libphylanx_matrixopsd.so(+0x54a354d) [0x7fcae2e6854d] in /home/nanmiao/Documents/project/dev/src/phylanx/build_phylanx_Debug/lib/phylanx/libphylanx_matrixopsd.so
{locality-id}: 0
{hostname}: [ ]
{process-id}: 54224
{os-thread}: 31, worker-thread#0
{thread-id}: 00000000800088b0
{thread-description}: phylanx_primitive_eval_action
{state}: state_running
{auxinfo}: 
{file}: /home/nanmiao/Documents/project/dev/src/phylanx/phylanx/execution_tree/primitives/slice_node_data_2d.hpp
{line}: 86
{function}: phylanx::execution_tree::slice2d_basic_basic
{what}: 
<stack frames>
  [1]: <unknown>: <unknown>:: (PhySL)
  [2]: read_r(5, 12): lambda:: (PhySL)
  [3]: read_r(7, 13): slice:: (PhySL)

cannot extract the requested matrix elements: HPX(bad_parameter)

APEX Finalizing...
terminate called after throwing an instance of 'hpx::detail::exception_with_info<hpx::exception>'
  what():  
<stack frames>
  [1]: <unknown>: <unknown>:: (PhySL)
  [2]: read_r(5, 12): lambda:: (PhySL)
  [3]: read_r(7, 13): slice:: (PhySL)

cannot extract the requested matrix elements: HPX(bad_parameter)
NanmiaoWu commented 3 years ago

@taless474 got similar error cannot find slice in the symbol table. She can run it on Windows after she manually copies libgcc_s_seh-1.dll, libgfortran-5.dll, liblapack.dll, libquadmath-0.dll,libwinpthread-1.dll,openblas.dll into bin folder.

hkaiser commented 3 years ago

@NanmiaoWu you certainly have to make sure that all the libraries are available at runtime that you make your build depend on (lapack, etc.) Setting LD_LIBRARY_PATH (or similar on Windows) to the corresponding binaries should work, no need to copy all the files.

@taless474 I don't understand why you need the gcc exception handling on Windows. I thought you were building using MSVC?

hkaiser commented 3 years ago

@NanmiaoWu also, the error message 'cannot extract the requested matrix elements' is generated whenever the indices provided are either out of bounds of the array they are applied to or if the upper boundary of an index range is larger then the lower range (i.e. the index set is empty). Please verify the indices you use wrt the array sizes they are applied to.