Comments (4)
We discovered there was a problem with the version of Eigen3 I had installed via https://github.com/eigenteam/eigen-git-mirror, corresponding to this commit from 17 days ago: https://github.com/eigenteam/eigen-git-mirror/tree/08eb1921b89b1d826f8b699bc2e54d68451b3751
This version had an issue with the EIGEN_COMP_PGI
environment variable, which was fixed (https://bitbucket.org/eigen/eigen/commits/bf5052da0fca417007983107ba836d1d1ae6ae0a) after a few days.
We fixed the problem using the default Ubuntu 18.04 version of Eigen (3.3.4) instead (or also the most recent version as of today: 7805e962d9293578332e8b54f13f4a65a5faee11
), by running sudo apt-get install libeigen3-dev
and setting EIGEN_DIR = /usr/include/eigen3
in the DeepMimicCore
Makefile
from deepmimic.
cool, thanks for the note!
from deepmimic.
The functions which get multiple definition errors are the following casting ones (static inline functions):
_mm_castpd_ps⚠ | x86-64 and sse2Casts a 128-bit floating-point vector of [2 x double] into a 128-bit floating-point vector of [4 x float].
-- | --
_mm_castpd_si128⚠ | x86-64 and sse2Casts a 128-bit floating-point vector of [2 x double] into a 128-bit integer vector.
_mm_castps_pd⚠ | x86-64 and sse2Casts a 128-bit floating-point vector of [4 x float] into a 128-bit floating-point vector of [2 x double].
_mm_castps_si128⚠ | x86-64 and sse2Casts a 128-bit floating-point vector of [4 x float] into a 128-bit integer vector.
_mm_castsi128_pd⚠ | x86-64 and sse2Casts a 128-bit integer vector into a 128-bit floating-point vector of [2 x double].
_mm_castsi128_ps⚠ | x86-64 and sse2Casts a 128-bit integer vector into a 128-bit floating-point vector of [4 x float].
Apparently they are doubly defined in h-files in both the following Eigen installation and Clang directories:
- /usr/local/include/eigen3/Eigen/src/Core/arch/SSE/PacketMath.h
- /usr/include/clang/6.0.0/include/emmintrin.h
Note: the definitions are different.
e.g., for _mm_castpd_ps
the definition of the function in the Clang directory is:
/// \brief Casts a 128-bit floating-point vector of [2 x double] into a 128-bit
/// floating-point vector of [4 x float].
///
/// \headerfile <x86intrin.h>
///
/// This intrinsic has no corresponding instruction.
///
/// \param __a
/// A 128-bit floating-point vector of [2 x double].
/// \returns A 128-bit floating-point vector of [4 x float] containing the same
/// bitwise pattern as the parameter.
static __inline__ __m128 __DEFAULT_FN_ATTRS
_mm_castpd_ps(__m128d __a)
{
return (__m128)__a;
}
On the other hand, the definitions in the Eigen directory are:
#if EIGEN_COMP_PGI < 1900
// PGI++ does not define the following intrinsics in C++ mode.
static inline __m128 _mm_castpd_ps (__m128d x) { return reinterpret_cast<__m128&>(x); }
static inline __m128i _mm_castpd_si128(__m128d x) { return reinterpret_cast<__m128i&>(x); }
static inline __m128d _mm_castps_pd (__m128 x) { return reinterpret_cast<__m128d&>(x); }
static inline __m128i _mm_castps_si128(__m128 x) { return reinterpret_cast<__m128i&>(x); }
static inline __m128 _mm_castsi128_ps(__m128i x) { return reinterpret_cast<__m128&>(x); }
static inline __m128d _mm_castsi128_pd(__m128i x) { return reinterpret_cast<__m128d&>(x); }
#endif
from deepmimic.
You're welcome!
from deepmimic.
Related Issues (20)
- On orientation/rotation state in DeepMimic. HOT 3
- The construction of the motion clips for AMP. HOT 5
- May I ask whether the visualization window during training can be closed to speed up sample collection
- AMP: Samples per update iteration, RSI, Number of parallel agents HOT 1
- Compile freeglut error in GCC 10.1.0
- Action value interpretation HOT 1
- Need help with python include path HOT 2
- Link path not working
- What are the time_lim arguments to mpi_run.py? HOT 2
- Camera Following HOT 1
- how to add a new terrain? HOT 1
- Issue with make python on Ubuntu 20.04 HOT 3
- when run a pre-trained policy , is it possible to set the input state/action change follow the input motion clips?
- Unable to display the screen correctly HOT 1
- Some questions about implementing ASI HOT 3
- Question | UE5 + this model, is it compatible?
- Format description of dog motion files
- deeppmimiccore.i 9009
- unbuntu 20.04,errors about glutInit occur when I run the DeepMimic.py HOT 1
- about train
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from deepmimic.