Skip to content

Instantly share code, notes, and snippets.

@glyh
Created January 7, 2025 10:21
Show Gist options
  • Save glyh/e0c263b62b36e16727924411b79b2af3 to your computer and use it in GitHub Desktop.
Save glyh/e0c263b62b36e16727924411b79b2af3 to your computer and use it in GitHub Desktop.
template inlining memleak
mkdir -p build/Release
cd build/Release && cmake -DCMAKE_BUILD_TYPE=Release -DUSE_CUDA=OFF -DUSE_BANG=OFF -DUSE_KUNLUN=OFF -DUSE_ASCEND=OFF -DUSE_BACKTRACE=ON -DBUILD_TEST=ON -DBUILD_DIST=OFF -DBUILD_NNET=OFF ../.. && make -j8
Configuring for Release build.
-- Found Python: /sbin/python3.13 (found version "3.13.1") found components: Interpreter Development Development.Module Development.Embed
CMake Deprecation Warning at 3rd-party/pybind11/CMakeLists.txt:8 (cmake_minimum_required):
Compatibility with CMake < 3.10 will be removed from a future version of
CMake.
/home/lyh/PullGround/InfiniTensor/src/core/op_type.cc:6:18:
Update the VERSION argument <min> value. Or, use the <min>...<max> syntax
to tell CMake that the project requires at least <min> but has been updated
to work with policies introduced by <max> or earlier.
error: ‘LayerNormalization’ is not a member of ‘infini::OpT
ype’
-- pybind11 v2.10.3
CMake Deprecation Warning at 3rd-party/nlohmann_json_cmake_fetchcontent/CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 3.10 will be removed from a future version of
CMake.
| ^~~~
Update the VERSION argument <min> value. Or, use the <min>...<max> syntax
to tell CMake that the project requires at least <min> but has been updated
to work with policies introduced by <max> or earlier.
note: in definition of macro ‘CASE’
6 | case OpType::NAME:
-- Using the single-header code from /home/lyh/PullGround/InfiniTensor/3rd-party/nlohmann_json_cmake_fetchcontent/single_include/
CMake Deprecation Warning at 3rd-party/googletest/CMakeLists.txt:4 (cmake_minimum_required):
Compatibility with CMake < 3.10 will be removed from a future version of
CMake.
6 | case OpType::NAME:
Update the VERSION argument <min> value. Or, use the <min>...<max> syntax
to tell CMake that the project requires at least <min> but has been updated
to work with policies introduced by <max> or earlier.
| ^~~~~~~~~~~
/home/lyh/PullGround/InfiniTensor/src/core/op_type.cc:6:18:
CMake Deprecation Warning at 3rd-party/googletest/googletest/CMakeLists.txt:49 (cmake_minimum_required):
Compatibility with CMake < 3.10 will be removed from a future version of
CMake.
error: ‘Log’ is not a member of ‘infini::OpType’
Update the VERSION argument <min> value. Or, use the <min>...<max> syntax
to tell CMake that the project requires at least <min> but has been updated
to work with policies introduced by <max> or earlier.
-- Found Python: /sbin/python3.13 (found version "3.13.1") found components: Interpreter
CMake Deprecation Warning at 3rd-party/backward-cpp/CMakeLists.txt:23 (cmake_minimum_required):
Compatibility with CMake < 3.10 will be removed from a future version of
CMake.
Update the VERSION argument <min> value. Or, use the <min>...<max> syntax
to tell CMake that the project requires at least <min> but has been updated
to work with policies introduced by <max> or earlier.
-- Could NOT find libdwarf (missing: LIBDWARF_LIBRARY LIBDWARF_INCLUDE_DIR)
-- Configuring done (0.1s)
-- Generating done (0.0s)
-- Build files have been written to: /home/lyh/PullGround/InfiniTensor/build/Release 96 | CASE(LpNormalization);
make[1]: Entering directory '/home/lyh/PullGround/InfiniTensor/build/Release'
[ 1%] Built target backward
[ 2%] Built target backward_object
[ 3%] Built target gtest
[ 3%] Building CXX object CMakeFiles/InfiniTensor.dir/src/core/graph_handler.cc.o
[ 5%] Building CXX object CMakeFiles/InfiniTensor.dir/src/core/dummy_mutator.cc.o
[ 5%] Building CXX object CMakeFiles/InfiniTensor.dir/src/core/graph.cc.o
[ 5%] Building CXX object CMakeFiles/InfiniTensor.dir/src/core/lazy_allocator.cc.o
[ 6%] Building CXX object CMakeFiles/InfiniTensor.dir/src/core/blob.cc.o
[ 6%] Building CXX object CMakeFiles/InfiniTensor.dir/src/core/op_type.cc.o
[ 7%] Building CXX object CMakeFiles/InfiniTensor.dir/src/core/graph_match.cc.o
[ 8%] Built target gtest_main
[ 9%] Building CXX object CMakeFiles/InfiniTensor.dir/src/core/operator.cc.o
[ 9%] Building CXX object CMakeFiles/InfiniTensor.dir/src/core/perf_engine.cc.o
[ 10%] Building CXX object CMakeFiles/InfiniTensor.dir/src/core/runtime.cc.o
[ 11%] Building CXX object CMakeFiles/InfiniTensor.dir/src/core/search_engine.cc.o
[ 11%] Building CXX object CMakeFiles/InfiniTensor.dir/src/core/tensor.cc.o
[ 12%] Building CXX object CMakeFiles/InfiniTensor.dir/src/core/tensor_base.cc.o
[ 12%] Building CXX object CMakeFiles/InfiniTensor.dir/src/ffi/ffi_embed.cc.o
[ 13%] Building CXX object CMakeFiles/InfiniTensor.dir/src/ffi/ffi_infinitensor.cc.o
[ 14%] Building CXX object CMakeFiles/InfiniTensor.dir/src/kernels/cpu/concat.cc.o
[ 14%] Building CXX object CMakeFiles/InfiniTensor.dir/src/kernels/cpu/conv.cc.o
[ 15%] Building CXX object CMakeFiles/InfiniTensor.dir/src/kernels/cpu/conv3d.cc.o
[ 15%] Building CXX object CMakeFiles/InfiniTensor.dir/src/kernels/cpu/element_wise.cc.o
[ 16%] Building CXX object CMakeFiles/InfiniTensor.dir/src/kernels/cpu/matmul.cc.o
[ 17%] Building CXX object CMakeFiles/InfiniTensor.dir/src/kernels/cpu/membound.cc.o
[ 17%] Building CXX object CMakeFiles/InfiniTensor.dir/src/kernels/cpu/pooling.cc.o
[ 18%] Building CXX object CMakeFiles/InfiniTensor.dir/src/kernels/cpu/reshape.cc.o
[ 19%] Building CXX object CMakeFiles/InfiniTensor.dir/src/kernels/cpu/split.cc.o
[ 19%] Building CXX object CMakeFiles/InfiniTensor.dir/src/kernels/cpu/transpose.cc.o
[ 20%] Building CXX object CMakeFiles/InfiniTensor.dir/src/kernels/cpu/unary.cc.o
[ 20%] Building CXX object CMakeFiles/InfiniTensor.dir/src/operators/G2BMM.cc.o
[ 21%] Building CXX object CMakeFiles/InfiniTensor.dir/src/operators/GBMM.cc.o
[ 22%] Building CXX object CMakeFiles/InfiniTensor.dir/src/operators/activation_backward.cc.o
[ 22%] Building CXX object CMakeFiles/InfiniTensor.dir/src/operators/all_gather.cc.o
[ 23%] Building CXX object CMakeFiles/InfiniTensor.dir/src/operators/all_reduce.cc.o
[ 23%] Building CXX object CMakeFiles/InfiniTensor.dir/src/operators/attention_kvcache.cc.o
[ 24%] Building CXX object CMakeFiles/InfiniTensor.dir/src/operators/batch_norm.cc.o
[ 25%] Building CXX object CMakeFiles/InfiniTensor.dir/src/operators/broadcast.cc.o
[ 25%] Building CXX object CMakeFiles/InfiniTensor.dir/src/operators/concat.cc.o
[ 26%] Building CXX object CMakeFiles/InfiniTensor.dir/src/operators/conv.cc.o
In file included from /usr/include/c++/14.2.1/string:51,
from /home/lyh/PullGround/InfiniTensor/include/core/op_type.h:6,
from /home/lyh/PullGround/InfiniTensor/include/core/operator.h:3,
from /home/lyh/PullGround/InfiniTensor/include/operators/batch_norm.h:2,
from /home/lyh/PullGround/InfiniTensor/src/operators/batch_norm.cc:1:
In static member function ‘static _Up* std::__copy_move<_IsMove, true, std::random_access_iterator_tag>::__copy_m(_Tp*, _Tp*, _Up*) [with _Tp = const int; _Up = int; bool _IsMove = false]’,
inlined from ‘_OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false; _II = const int*; _OI = int*]’ at /usr/include/c++/14.2.1/bits/stl_algobase.h:521:30,
inlined from ‘_OI std::__copy_move_a1(_II, _II, _OI) [with bool _IsMove = false; _II = const int*; _OI = int*]’ at /usr/include/c++/14.2.1/bits/stl_algobase.h:548:42,
inlined from ‘_OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = false; _II = __gnu_cxx::__normal_iterator<const int*, vector<int> >; _OI = int*]’ at /usr/include/c++/14.2.1/bits/stl_algobase.h:555:31,
inlined from ‘_OI std::copy(_II, _II, _OI) [with _II = __gnu_cxx::__normal_iterator<const int*, vector<int> >; _OI = int*]’ at /usr/include/c++/14.2.1/bits/stl_algobase.h:651:7,
inlined from ‘static _ForwardIterator std::__uninitialized_copy<true>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const int*, std::vector<int> >; _ForwardIterator = int*]’ at /usr/include/c++/14.2.1/bits/stl_uninitialized.h:147:27,
inlined from ‘_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const int*, vector<int> >; _ForwardIterator = int*]’ at /usr/include/c++/14.2.1/bits/stl_uninitialized.h:185:15,
inlined from ‘_ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, allocator<_Tp>&) [with _InputIterator = __gnu_cxx::__normal_iterator<const int*, vector<int> >; _ForwardIterator = int*; _Tp = int]’ at /usr/include/c++/14.2.1/bits/stl_uninitialized.h:373:37,
inlined from ‘std::vector<_Tp, _Alloc>::vector(const std::vector<_Tp, _Alloc>&) [with _Tp = int; _Alloc = std::allocator<int>]’ at /usr/include/c++/14.2.1/bits/stl_vector.h:606:31,
inlined from ‘infini::Shape infini::TensorObj::getDims() const’ at /home/lyh/PullGround/InfiniTensor/include/core/tensor.h:36:36,
inlined from ‘virtual std::optional<std::vector<std::vector<int> > > infini::BatchNormObj::inferShape(const infini::TensorVec&)’ at /home/lyh/PullGround/InfiniTensor/src/operators/batch_norm.cc:23:5:
/usr/include/c++/14.2.1/bits/stl_algobase.h:452:30: error: ‘void* __builtin_memmove(void*, const void*, long unsigned int)’ forming offset 4 is out of the bounds [0, 4] [-Werror=array-bounds=]
452 | __builtin_memmove(__result, __first, sizeof(_Tp) * _Num);
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In static member function ‘static _Up* std::__copy_move<_IsMove, true, std::random_access_iterator_tag>::__copy_m(_Tp*, _Tp*, _Up*) [with _Tp = const int; _Up = int; bool _IsMove = false]’,
inlined from ‘_OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false; _II = const int*; _OI = int*]’ at /usr/include/c++/14.2.1/bits/stl_algobase.h:521:30,
inlined from ‘_OI std::__copy_move_a1(_II, _II, _OI) [with bool _IsMove = false; _II = const int*; _OI = int*]’ at /usr/include/c++/14.2.1/bits/stl_algobase.h:548:42,
inlined from ‘_OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = false; _II = __gnu_cxx::__normal_iterator<const int*, vector<int> >; _OI = int*]’ at /usr/include/c++/14.2.1/bits/stl_algobase.h:555:31,
inlined from ‘_OI std::copy(_II, _II, _OI) [with _II = __gnu_cxx::__normal_iterator<const int*, vector<int> >; _OI = int*]’ at /usr/include/c++/14.2.1/bits/stl_algobase.h:651:7,
inlined from ‘static _ForwardIterator std::__uninitialized_copy<true>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const int*, std::vector<int> >; _ForwardIterator = int*]’ at /usr/include/c++/14.2.1/bits/stl_uninitialized.h:147:27,
inlined from ‘_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const int*, vector<int> >; _ForwardIterator = int*]’ at /usr/include/c++/14.2.1/bits/stl_uninitialized.h:185:15,
inlined from ‘_ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, allocator<_Tp>&) [with _InputIterator = __gnu_cxx::__normal_iterator<const int*, vector<int> >; _ForwardIterator = int*; _Tp = int]’ at /usr/include/c++/14.2.1/bits/stl_uninitialized.h:373:37,
inlined from ‘std::vector<_Tp, _Alloc>::vector(const std::vector<_Tp, _Alloc>&) [with _Tp = int; _Alloc = std::allocator<int>]’ at /usr/include/c++/14.2.1/bits/stl_vector.h:606:31,
inlined from ‘infini::Shape infini::TensorObj::getDims() const’ at /home/lyh/PullGround/InfiniTensor/include/core/tensor.h:36:36,
inlined from ‘virtual std::optional<std::vector<std::vector<int> > > infini::BatchNormObj::inferShape(const infini::TensorVec&)’ at /home/lyh/PullGround/InfiniTensor/src/operators/batch_norm.cc:24:5:
/usr/include/c++/14.2.1/bits/stl_algobase.h:452:30: error: ‘void* __builtin_memmove(void*, const void*, long unsigned int)’ forming offset 4 is out of the bounds [0, 4] [-Werror=array-bounds=]
452 | __builtin_memmove(__result, __first, sizeof(_Tp) * _Num);
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In static member function ‘static _Up* std::__copy_move<_IsMove, true, std::random_access_iterator_tag>::__copy_m(_Tp*, _Tp*, _Up*) [with _Tp = const int; _Up = int; bool _IsMove = false]’,
inlined from ‘_OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false; _II = const int*; _OI = int*]’ at /usr/include/c++/14.2.1/bits/stl_algobase.h:521:30,
inlined from ‘_OI std::__copy_move_a1(_II, _II, _OI) [with bool _IsMove = false; _II = const int*; _OI = int*]’ at /usr/include/c++/14.2.1/bits/stl_algobase.h:548:42,
inlined from ‘_OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = false; _II = __gnu_cxx::__normal_iterator<const int*, vector<int> >; _OI = int*]’ at /usr/include/c++/14.2.1/bits/stl_algobase.h:555:31,
inlined from ‘_OI std::copy(_II, _II, _OI) [with _II = __gnu_cxx::__normal_iterator<const int*, vector<int> >; _OI = int*]’ at /usr/include/c++/14.2.1/bits/stl_algobase.h:651:7,
inlined from ‘static _ForwardIterator std::__uninitialized_copy<true>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const int*, std::vector<int> >; _ForwardIterator = int*]’ at /usr/include/c++/14.2.1/bits/stl_uninitialized.h:147:27,
inlined from ‘_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const int*, vector<int> >; _ForwardIterator = int*]’ at /usr/include/c++/14.2.1/bits/stl_uninitialized.h:185:15,
inlined from ‘_ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, allocator<_Tp>&) [with _InputIterator = __gnu_cxx::__normal_iterator<const int*, vector<int> >; _ForwardIterator = int*; _Tp = int]’ at /usr/include/c++/14.2.1/bits/stl_uninitialized.h:373:37,
inlined from ‘std::vector<_Tp, _Alloc>::vector(const std::vector<_Tp, _Alloc>&) [with _Tp = int; _Alloc = std::allocator<int>]’ at /usr/include/c++/14.2.1/bits/stl_vector.h:606:31,
inlined from ‘infini::Shape infini::TensorObj::getDims() const’ at /home/lyh/PullGround/InfiniTensor/include/core/tensor.h:36:36,
inlined from ‘virtual std::optional<std::vector<std::vector<int> > > infini::BatchNormObj::inferShape(const infini::TensorVec&)’ at /home/lyh/PullGround/InfiniTensor/src/operators/batch_norm.cc:25:5:
/usr/include/c++/14.2.1/bits/stl_algobase.h:452:30: error: ‘void* __builtin_memmove(void*, const void*, long unsigned int)’ forming offset 4 is out of the bounds [0, 4] [-Werror=array-bounds=]
452 | __builtin_memmove(__result, __first, sizeof(_Tp) * _Num);
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In static member function ‘static _Up* std::__copy_move<_IsMove, true, std::random_access_iterator_tag>::__copy_m(_Tp*, _Tp*, _Up*) [with _Tp = const int; _Up = int; bool _IsMove = false]’,
inlined from ‘_OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false; _II = const int*; _OI = int*]’ at /usr/include/c++/14.2.1/bits/stl_algobase.h:521:30,
inlined from ‘_OI std::__copy_move_a1(_II, _II, _OI) [with bool _IsMove = false; _II = const int*; _OI = int*]’ at /usr/include/c++/14.2.1/bits/stl_algobase.h:548:42,
inlined from ‘_OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = false; _II = __gnu_cxx::__normal_iterator<const int*, vector<int> >; _OI = int*]’ at /usr/include/c++/14.2.1/bits/stl_algobase.h:555:31,
inlined from ‘_OI std::copy(_II, _II, _OI) [with _II = __gnu_cxx::__normal_iterator<const int*, vector<int> >; _OI = int*]’ at /usr/include/c++/14.2.1/bits/stl_algobase.h:651:7,
inlined from ‘static _ForwardIterator std::__uninitialized_copy<true>::__uninit_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const int*, std::vector<int> >; _ForwardIterator = int*]’ at /usr/include/c++/14.2.1/bits/stl_uninitialized.h:147:27,
inlined from ‘_ForwardIterator std::uninitialized_copy(_InputIterator, _InputIterator, _ForwardIterator) [with _InputIterator = __gnu_cxx::__normal_iterator<const int*, vector<int> >; _ForwardIterator = int*]’ at /usr/include/c++/14.2.1/bits/stl_uninitialized.h:185:15,
inlined from ‘_ForwardIterator std::__uninitialized_copy_a(_InputIterator, _InputIterator, _ForwardIterator, allocato | ^~~~
r<_Tp>&) [with _InputIterator = __gnu_cxx::__normal_iterator<const int*, vector<int> >; _ForwardIterator = int*; _Tp = int]’ at /usr/include/c++/14.2.1/bits/stl_uninitialized.h:373:37,
inlined from ‘std::vector<_Tp, _Alloc>::vector(const std::vector<_Tp, _Alloc>&) [with _Tp = int; _Alloc = std::allocator<int>]’ at /usr/include/c++/14.2.1/bits/stl_vector.h:606:31, \
inlined from ‘infini::Shape infini::TensorObj::getDims() const’ at /home/lyh/PullGround/InfiniTensor/include/core/tensor.h:36:36,
inlined from ‘virtual std::optional<std::vector<std::vector<int> > > infini::BatchNormObj::inferShape(const infini::TensorVec&)’ at /home/lyh/PullGround/InfiniTensor/src/operators/batch_norm.cc:26:5:
/usr/include/c++/14.2.1/bits/stl_algobase.h:452:30: error: ‘void* __builtin_memmove(void*, const void*, long unsigned int)’ forming offset 4 is out of the bounds [0, 4] [-Werror=array-bounds=]
452 | __builtin_memmove(__result, __first, sizeof(_Tp) * _Num);
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 27%] Building CXX object CMakeFiles/InfiniTensor.dir/src/operators/det.cc.o
cc1plus: all warnings being treated as errors
make[3]: *** [CMakeFiles/InfiniTensor.dir/build.make:555: CMakeFiles/InfiniTensor.dir/src/operators/batch_norm.cc.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[2]: *** [CMakeFiles/Makefile2:326: CMakeFiles/InfiniTensor.dir/all] Error 2
make[1]: *** [Makefile:146: all] Error 2
make[1]: Leaving directory '/home/lyh/PullGround/InfiniTensor/build/Release'
make: *** [Makefile:45: build] Error 2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment