Deleted CUDA related codes, fixed JART CPU version.
Still not able to build, error relates to bit_line_maker.cu and std_function.h.
Details
I think I did everything correctly, and the CPU version is able to build now.
However, the CUDA side seems to have some unrelated problem?
And even the IBM:master branch has the same issue. I'm not sure whether this is an issue with my compiler setup. Could you check it on your side?
[ 1%] Building CXX object CMakeFiles/RPU_CPU.dir/src/rpucuda/rpu_JART_v1b_device.cpp.o
[ 2%] Building CXX object CMakeFiles/RPU_CPU.dir/src/rpucuda/rpu_buffered_transfer_device.cpp.o
[ 3%] Building CXX object CMakeFiles/RPU_CPU.dir/src/rpucuda/rpu_chopped_transfer_device.cpp.o
[ 5%] Building CXX object CMakeFiles/RPU_CPU.dir/src/rpucuda/rpu_constantstep_device.cpp.o
[ 6%] Building CXX object CMakeFiles/RPU_CPU.dir/src/rpucuda/rpu_dynamic_transfer_device.cpp.o
[ 7%] Building CXX object CMakeFiles/RPU_CPU.dir/src/rpucuda/rpu_expstep_device.cpp.o
[ 8%] Building CXX object CMakeFiles/RPU_CPU.dir/src/rpucuda/rpu_forward_backward_pass.cpp.o
[ 10%] Building CXX object CMakeFiles/RPU_CPU.dir/src/rpucuda/rpu_hidden_device.cpp.o
[ 11%] Building CXX object CMakeFiles/RPU_CPU.dir/src/rpucuda/rpu_linearstep_device.cpp.o
[ 12%] Building CXX object CMakeFiles/RPU_CPU.dir/src/rpucuda/rpu_mixedprec_device.cpp.o
[ 13%] Building CXX object CMakeFiles/RPU_CPU.dir/src/rpucuda/rpu_mixedprec_device_base.cpp.o
[ 15%] Building CXX object CMakeFiles/RPU_CPU.dir/src/rpucuda/rpu_mixedprec_int_device.cpp.o
[ 16%] Building CXX object CMakeFiles/RPU_CPU.dir/src/rpucuda/rpu_onesided_device.cpp.o
[ 17%] Building CXX object CMakeFiles/RPU_CPU.dir/src/rpucuda/rpu_piecewisestep_device.cpp.o
[ 18%] Building CXX object CMakeFiles/RPU_CPU.dir/src/rpucuda/rpu_powstep_device.cpp.o
[ 20%] Building CXX object CMakeFiles/RPU_CPU.dir/src/rpucuda/rpu_powstep_reference_device.cpp.o
[ 21%] Building CXX object CMakeFiles/RPU_CPU.dir/src/rpucuda/rpu_pulsed.cpp.o
[ 22%] Building CXX object CMakeFiles/RPU_CPU.dir/src/rpucuda/rpu_pulsed_device.cpp.o
[ 23%] Building CXX object CMakeFiles/RPU_CPU.dir/src/rpucuda/rpu_pulsed_meta_parameter.cpp.o
[ 25%] Building CXX object CMakeFiles/RPU_CPU.dir/src/rpucuda/rpu_simple_device.cpp.o
[ 26%] Building CXX object CMakeFiles/RPU_CPU.dir/src/rpucuda/rpu_softbounds_reference_device.cpp.o
[ 27%] Building CXX object CMakeFiles/RPU_CPU.dir/src/rpucuda/rpu_transfer_device.cpp.o
[ 28%] Building CXX object CMakeFiles/RPU_CPU.dir/src/rpucuda/rpu_vector_device.cpp.o
[ 30%] Building CXX object CMakeFiles/RPU_CPU.dir/src/rpucuda/rpu_weight_updater.cpp.o
[ 31%] Building CXX object CMakeFiles/RPU_CPU.dir/src/rpucuda/sparse_bit_line_maker.cpp.o
[ 32%] Building CXX object CMakeFiles/RPU_CPU.dir/src/rpucuda/utility_functions.cpp.o
[ 33%] Building CXX object CMakeFiles/RPU_CPU.dir/src/rpucuda/weight_clipper.cpp.o
[ 35%] Building CXX object CMakeFiles/RPU_CPU.dir/src/rpucuda/weight_drifter.cpp.o
[ 36%] Building CXX object CMakeFiles/RPU_CPU.dir/src/rpucuda/weight_modifier.cpp.o
[ 37%] Building CXX object CMakeFiles/RPU_CPU.dir/src/rpucuda/weight_remapper.cpp.o
[ 38%] Linking CXX static library libRPU_CPU.a
[ 43%] Built target RPU_CPU
[ 45%] Building CUDA object CMakeFiles/RPU_GPU.dir/src/rpucuda/cuda/bit_line_maker.cu.o
/usr/include/c++/11/bits/std_function.h:435:145: error: parameter packs not expanded with ‘...’:
435 | function(_Functor&& f)
| ^
/usr/include/c++/11/bits/std_function.h:435:145: note: ‘_ArgTypes’
/usr/include/c++/11/bits/std_function.h:530:146: error: parameter packs not expanded with ‘...’:
530 | operator=(_Functor&& f)
| ^
/usr/include/c++/11/bits/std_function.h:530:146: note: ‘_ArgTypes’
gmake[2]: [CMakeFiles/RPU_GPU.dir/build.make:77: CMakeFiles/RPU_GPU.dir/src/rpucuda/cuda/bit_line_maker.cu.o] Error 1
gmake[1]: [CMakeFiles/Makefile2:164: CMakeFiles/RPU_GPU.dir/all] Error 2
gmake: *** [Makefile:136: all] Error 2
Traceback (most recent call last):
File "/Users/zyu/virtual_env/aihwkit/lib/python3.10/site-packages/skbuild/setuptools_wrap.py", line 672, in setup
cmkr.make(make_args, install_target=cmake_install_target, env=env)
File "/Users/zyu/virtual_env/aihwkit/lib/python3.10/site-packages/skbuild/cmaker.py", line 696, in make
self.make_impl(clargs=clargs, config=config, source_dir=source_dir, install_target=install_target, env=env)
File "/Users/zyu/virtual_env/aihwkit/lib/python3.10/site-packages/skbuild/cmaker.py", line 741, in make_impl
raise SKBuildError(msg)
An error occurred while building with CMake.
Command:
/Users/zyu/virtual_env/aihwkit/lib/python3.10/site-packages/cmake/data/bin/cmake --build . --target install --config Release --
Install target:
install
Source directory:
/Users/zyu/aihwkit
Working directory:
/Users/zyu/aihwkit/_skbuild/linux-x86_64-3.10/cmake-build
Please check the install target is valid and see CMake's output for more information.
Related issues
Support a new device type based on JART V1b memristor model and test scripts for that. Details can be found at https://ieeexplore.ieee.org/document/10052010
Fixing the issues in #583 about building errors
Description
Deleted CUDA related codes, fixed JART CPU version. Still not able to build, error relates to bit_line_maker.cu and std_function.h.
Details
I think I did everything correctly, and the CPU version is able to build now.
However, the CUDA side seems to have some unrelated problem? And even the IBM:master branch has the same issue. I'm not sure whether this is an issue with my compiler setup. Could you check it on your side?
[ 1%] Building CXX object CMakeFiles/RPU_CPU.dir/src/rpucuda/rpu_JART_v1b_device.cpp.o [ 2%] Building CXX object CMakeFiles/RPU_CPU.dir/src/rpucuda/rpu_buffered_transfer_device.cpp.o [ 3%] Building CXX object CMakeFiles/RPU_CPU.dir/src/rpucuda/rpu_chopped_transfer_device.cpp.o [ 5%] Building CXX object CMakeFiles/RPU_CPU.dir/src/rpucuda/rpu_constantstep_device.cpp.o [ 6%] Building CXX object CMakeFiles/RPU_CPU.dir/src/rpucuda/rpu_dynamic_transfer_device.cpp.o [ 7%] Building CXX object CMakeFiles/RPU_CPU.dir/src/rpucuda/rpu_expstep_device.cpp.o [ 8%] Building CXX object CMakeFiles/RPU_CPU.dir/src/rpucuda/rpu_forward_backward_pass.cpp.o [ 10%] Building CXX object CMakeFiles/RPU_CPU.dir/src/rpucuda/rpu_hidden_device.cpp.o [ 11%] Building CXX object CMakeFiles/RPU_CPU.dir/src/rpucuda/rpu_linearstep_device.cpp.o [ 12%] Building CXX object CMakeFiles/RPU_CPU.dir/src/rpucuda/rpu_mixedprec_device.cpp.o [ 13%] Building CXX object CMakeFiles/RPU_CPU.dir/src/rpucuda/rpu_mixedprec_device_base.cpp.o [ 15%] Building CXX object CMakeFiles/RPU_CPU.dir/src/rpucuda/rpu_mixedprec_int_device.cpp.o [ 16%] Building CXX object CMakeFiles/RPU_CPU.dir/src/rpucuda/rpu_onesided_device.cpp.o [ 17%] Building CXX object CMakeFiles/RPU_CPU.dir/src/rpucuda/rpu_piecewisestep_device.cpp.o [ 18%] Building CXX object CMakeFiles/RPU_CPU.dir/src/rpucuda/rpu_powstep_device.cpp.o [ 20%] Building CXX object CMakeFiles/RPU_CPU.dir/src/rpucuda/rpu_powstep_reference_device.cpp.o [ 21%] Building CXX object CMakeFiles/RPU_CPU.dir/src/rpucuda/rpu_pulsed.cpp.o [ 22%] Building CXX object CMakeFiles/RPU_CPU.dir/src/rpucuda/rpu_pulsed_device.cpp.o [ 23%] Building CXX object CMakeFiles/RPU_CPU.dir/src/rpucuda/rpu_pulsed_meta_parameter.cpp.o [ 25%] Building CXX object CMakeFiles/RPU_CPU.dir/src/rpucuda/rpu_simple_device.cpp.o [ 26%] Building CXX object CMakeFiles/RPU_CPU.dir/src/rpucuda/rpu_softbounds_reference_device.cpp.o [ 27%] Building CXX object CMakeFiles/RPU_CPU.dir/src/rpucuda/rpu_transfer_device.cpp.o [ 28%] Building CXX object CMakeFiles/RPU_CPU.dir/src/rpucuda/rpu_vector_device.cpp.o [ 30%] Building CXX object CMakeFiles/RPU_CPU.dir/src/rpucuda/rpu_weight_updater.cpp.o [ 31%] Building CXX object CMakeFiles/RPU_CPU.dir/src/rpucuda/sparse_bit_line_maker.cpp.o [ 32%] Building CXX object CMakeFiles/RPU_CPU.dir/src/rpucuda/utility_functions.cpp.o [ 33%] Building CXX object CMakeFiles/RPU_CPU.dir/src/rpucuda/weight_clipper.cpp.o [ 35%] Building CXX object CMakeFiles/RPU_CPU.dir/src/rpucuda/weight_drifter.cpp.o [ 36%] Building CXX object CMakeFiles/RPU_CPU.dir/src/rpucuda/weight_modifier.cpp.o [ 37%] Building CXX object CMakeFiles/RPU_CPU.dir/src/rpucuda/weight_remapper.cpp.o [ 38%] Linking CXX static library libRPU_CPU.a [ 43%] Built target RPU_CPU [ 45%] Building CUDA object CMakeFiles/RPU_GPU.dir/src/rpucuda/cuda/bit_line_maker.cu.o /usr/include/c++/11/bits/std_function.h:435:145: error: parameter packs not expanded with ‘...’: 435 | function(_Functor&& f) | ^ /usr/include/c++/11/bits/std_function.h:435:145: note: ‘_ArgTypes’ /usr/include/c++/11/bits/std_function.h:530:146: error: parameter packs not expanded with ‘...’: 530 | operator=(_Functor&& f) | ^ /usr/include/c++/11/bits/std_function.h:530:146: note: ‘_ArgTypes’ gmake[2]: [CMakeFiles/RPU_GPU.dir/build.make:77: CMakeFiles/RPU_GPU.dir/src/rpucuda/cuda/bit_line_maker.cu.o] Error 1 gmake[1]: [CMakeFiles/Makefile2:164: CMakeFiles/RPU_GPU.dir/all] Error 2 gmake: *** [Makefile:136: all] Error 2 Traceback (most recent call last): File "/Users/zyu/virtual_env/aihwkit/lib/python3.10/site-packages/skbuild/setuptools_wrap.py", line 672, in setup cmkr.make(make_args, install_target=cmake_install_target, env=env) File "/Users/zyu/virtual_env/aihwkit/lib/python3.10/site-packages/skbuild/cmaker.py", line 696, in make self.make_impl(clargs=clargs, config=config, source_dir=source_dir, install_target=install_target, env=env) File "/Users/zyu/virtual_env/aihwkit/lib/python3.10/site-packages/skbuild/cmaker.py", line 741, in make_impl raise SKBuildError(msg)
An error occurred while building with CMake. Command: /Users/zyu/virtual_env/aihwkit/lib/python3.10/site-packages/cmake/data/bin/cmake --build . --target install --config Release -- Install target: install Source directory: /Users/zyu/aihwkit Working directory: /Users/zyu/aihwkit/_skbuild/linux-x86_64-3.10/cmake-build Please check the install target is valid and see CMake's output for more information.