stanfordnmbl / osim-rl

Reinforcement learning environments with musculoskeletal models
http://osim-rl.stanford.edu/
MIT License
877 stars 248 forks source link

Cant install opensim on an ibm powerai machine #188

Closed quickdra closed 5 years ago

quickdra commented 5 years ago

The environment successfully installs and works on windows. But recently i got access to a server with an ibm powerai architecture (Linux-64) with gpus. I tried building it from source following the instructions on the opensim documentation but got some errors there too. So when i type the command "conda create -n osim-rl -c kidzik opensim python=3.6.1", the error shows up as - the following packages are not available from current channels :

kidzik commented 5 years ago

It's unlikely that our conda builds will work on another architecture. But compiling from scratch should work, please let us know what errors exactly were you getting.

quickdra commented 5 years ago

So i was following the instructions from the following documentation - "https://github.com/opensim-org/opensim-core" (The last set of instructions for linux 16.04), the system actually runs linux 18. but i dont think thats causing the issue. The issue is after the command make -j8 for opensim-core/dependencies,

Makefile:127: recipe for target 'all' failed
make[3]: *** [all] Error 2
CMakeFiles/BTK.dir/build.make:111: recipe for target 'BTK/stamp/BTK-build' failed
make[2]: *** [BTK/stamp/BTK-build] Error 2
CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/BTK.dir/all' failed
make[1]: *** [CMakeFiles/BTK.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2

also im getting a bunch of warnings before that of the form

/root/opensim-core/dependencies/BTK/Utilities/eigen3/Eigen/src/Core/arch/AltiVec/PacketMath.h: In function 'Packet Eigen::inter    nal::ploadu(const typename Eigen::internal::unpacket_traits<Packet>::type*) [with Packet = __vector(4) int; typename Eigen::int    ernal::unpacket_traits<Packet>::type = int]':
/root/opensim-core/dependencies/BTK/Utilities/eigen3/Eigen/src/Core/arch/AltiVec/PacketMath.h:282:26: warning: vec_lvsl is depr    ecated for little endian; use assignment for unaligned loads and stores [-Wdeprecated]
   mask = vec_lvsl(0, from);                        // create the permute mask
                          ^
kidzik commented 5 years ago

@chrisdembia do you know by any chance what this might be or where should we seek help with BTK compilation on powerai architecture?

chrisdembia commented 5 years ago

The issue is in the Eigen library. I bet if we copied the source from a more recent release of Eigen, the warning would be addressed. I think BTK is using a fairly old version of Eigen.

quickdra commented 5 years ago

@kidzik So how should i proceed? Is there a version of BTK using a newer version of Eigen?

kidzik commented 5 years ago

Can you find what is the actual error? Warnings are not crushing the build. If you find it's similar to the warnings (it is in /root/opensim-core/dependencies/BTK/Utilities/eigen3/Eigen) then what Chris suggested should work. This will require:

quickdra commented 5 years ago

@kidzik I think you are right, this architecture isnt supported when i was redoing the whole process and going through the system output I came across this error message -
`[ 20%] Building CXX object Code/IO/CMakeFiles/BTKIO.dir/btkAcquisitionFileIOFactory_registration.cpp.o In file included from /root/opensim-core/dependencies/BTK/Code/IO/btkBinaryFileStream.h:42:0, from /root/opensim-core/dependencies/BTK/Code/IO/btkC3DFileIO.h:40, from /root/opensim-core/dependencies/BTK/Code/IO/btkAcquisitionFileIOFactory_registration.cpp:46: /root/opensim-core/dependencies/BTK/Code/IO/btkBinaryByteOrderFormat.h:58:6: error: #error Processor not supported

error Processor not supported

  ^

In file included from /root/opensim-core/dependencies/BTK/Code/IO/btkC3DFileIO.h:40:0, from /root/opensim-core/dependencies/BTK/Code/IO/btkAcquisitionFileIOFactory_registration.cpp:46: /root/opensim-core/dependencies/BTK/Code/IO/btkBinaryFileStream.h:72:4: error: #error Unknown processor type

error Unknown processor type

^

` so is there no hope for ppc64le? maybe i should consider other compute resources ?

kidzik commented 5 years ago

That might be harder to get around. In theory, our use of OpenSim does not require BTK, but still, for now, you must have it compiled while BTK is an abandoned project. Unfortunately, building a workaround might be more difficult than finding other resources. :/

quickdra commented 5 years ago

ok i get it... thanks a bunch guys @kidzik @chrisdembia , you have been a huge help!!!