Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » U++ Library support » U++ Library : Other (not classified elsewhere) » Eigen updated
Eigen updated [message #53851] Sat, 09 May 2020 11:03 Go to next message
koldo is currently offline  koldo
Messages: 3404
Registered: August 2008
Senior Veteran
From 2018 Eigen algebra library had no new version, and since interesting improvements have been accumulated, we have updated to the last master commit.
This commit has not given any compilation or functioning problems. However, please check your applications just in case.


Best regards
Iñaki
Re: Eigen updated [message #53854 is a reply to message #53851] Sat, 09 May 2020 15:17 Go to previous messageGo to next message
Novo is currently offline  Novo
Messages: 1378
Registered: December 2006
Ultimate Contributor
koldo wrote on Sat, 09 May 2020 05:03
From 2018 Eigen algebra library had no new version, and since interesting improvements have been accumulated, we have updated to the last master commit.
This commit has not given any compilation or functioning problems. However, please check your applications just in case.

And reference/Eigen_demo is broken with CLANG on Linux.


Regards,
Novo
Re: Eigen updated [message #53859 is a reply to message #53854] Sat, 09 May 2020 19:26 Go to previous messageGo to next message
koldo is currently offline  koldo
Messages: 3404
Registered: August 2008
Senior Veteran
Quote:
And reference/Eigen_demo is broken with CLANG on Linux.
Bad luck. I do not have CLANG in Linux. I will try to install it. With GCC in Linux and with CLANG in Windows there is no problem. Thank you for reporting.


Best regards
Iñaki

[Updated on: Sat, 09 May 2020 19:26]

Report message to a moderator

Re: Eigen updated [message #53860 is a reply to message #53859] Sat, 09 May 2020 19:35 Go to previous messageGo to next message
koldo is currently offline  koldo
Messages: 3404
Registered: August 2008
Senior Veteran
I have just compiled and run Eigen_demo in Ubuntu 18.04 with CLANG and GCC and works perfectly.

Best regards
Iñaki

[Updated on: Sat, 09 May 2020 19:35]

Report message to a moderator

Re: Eigen updated [message #53861 is a reply to message #53860] Sat, 09 May 2020 20:08 Go to previous messageGo to next message
Novo is currently offline  Novo
Messages: 1378
Registered: December 2006
Ultimate Contributor
koldo wrote on Sat, 09 May 2020 13:35
I have just compiled and run Eigen_demo in Ubuntu 18.04 with CLANG and GCC and works perfectly.

Ubuntu 20.04
./umk reference Eigen_demo CLANG -bus
Running full rebuild now ...
I was getting this:
BLITZ: eigen_demo.cpp non-linear.cpp fft.cpp
In file included from /home/ssg/.local/soft/bb-worker/worker/upp/build/.cache/upp.out/Eigen_demo/CLANG.Debug.Debug_Full.Main.Shared/Eigen_demo$blitz.cpp:7:
/home/ssg/.local/soft/bb-worker/worker/upp/build/reference/Eigen_demo/non-linear.cpp:26:9: error: reference to 'Vector' is ambiguous
        static Vector<double> _x, _y;
               ^
/home/ssg/.local/soft/bb-worker/worker/upp/build/uppsrc/Core/Vcont.h:104:7: note: candidate found by name lookup is 'Upp::Vector'
class Vector : public MoveableAndDeepCopyOption< Vector<T> > {
      ^
/home/ssg/.local/soft/bb-worker/worker/upp/build/uppsrc/plugin/Eigen/Eigen/src/Core/Matrix.h:549:1: note: candidate found by name lookup is 'Eigen::Vector'
using Vector = Matrix<Type, Size, 1>;
^
In file included from /home/ssg/.local/soft/bb-worker/worker/upp/build/.cache/upp.out/Eigen_demo/CLANG.Debug.Debug_Full.Main.Shared/Eigen_demo$blitz.cpp:7:
/home/ssg/.local/soft/bb-worker/worker/upp/build/reference/Eigen_demo/non-linear.cpp:46:1: error: reference to 'Vector' is ambiguous
Vector<double> Thurber_functor::_x, Thurber_functor::_y;
^
/home/ssg/.local/soft/bb-worker/worker/upp/build/uppsrc/Core/Vcont.h:104:7: note: candidate found by name lookup is 'Upp::Vector'
class Vector : public MoveableAndDeepCopyOption< Vector<T> > {
      ^
/home/ssg/.local/soft/bb-worker/worker/upp/build/uppsrc/plugin/Eigen/Eigen/src/Core/Matrix.h:549:1: note: candidate found by name lookup is 'Eigen::Vector'
using Vector = Matrix<Type, Size, 1>;
^
2 errors generated.
Eigen_demo: 3 file(s) built in (0:12.87), 4291 msecs / file
There were errors. (0:13.04)


Regards,
Novo
Re: Eigen updated [message #53862 is a reply to message #53861] Sat, 09 May 2020 20:15 Go to previous messageGo to next message
Novo is currently offline  Novo
Messages: 1378
Registered: December 2006
Ultimate Contributor
After full rebuild:
reference/ScatterDraw_Demo
./umk reference ScatterDraw_Demo CLANG -bus
ScatterDraw_Demo.cpp
/home/ssg/.local/soft/bb-worker/worker/upp/build/reference/ScatterDraw_Demo/ScatterDraw_Demo.cpp:16:2: error: reference to 'Vector' is ambiguous
        Vector<Pointf> s1;
        ^
/home/ssg/.local/soft/bb-worker/worker/upp/build/uppsrc/Core/Vcont.h:104:7: note: candidate found by name lookup is 'Upp::Vector'
class Vector : public MoveableAndDeepCopyOption< Vector<T> > {
      ^
/home/ssg/.local/soft/bb-worker/worker/upp/build/uppsrc/plugin/Eigen/Eigen/src/Core/Matrix.h:549:1: note: candidate found by name lookup is 'Eigen::Vector'
using Vector = Matrix<Type, Size, 1>;
^
1 error generated.
ScatterDraw_Demo: 1 file(s) built in (0:01.08), 1088 msecs / file
ScatterDraw: 8 file(s) built in (0:08.75), 1094 msecs / file
There were errors. (0:09.92)
program finished with exit code 1

It is still broken ...


Regards,
Novo
Re: Eigen updated [message #53867 is a reply to message #53862] Sat, 09 May 2020 22:59 Go to previous messageGo to next message
Novo is currently offline  Novo
Messages: 1378
Registered: December 2006
Ultimate Contributor
I double-checked that with TheIDE against GIT rev. 1189b35
The problem is reproducible.


Regards,
Novo
Re: Eigen updated [message #53869 is a reply to message #53867] Sat, 09 May 2020 23:56 Go to previous messageGo to next message
koldo is currently offline  koldo
Messages: 3404
Registered: August 2008
Senior Veteran
Dear Novo

Yes, there was other problem. I forgot that I have also added VectorXd data access to ScatterDraw, so it should have to be also fully checked. Now it is done and, I think it is finally solved. Thank you!


Best regards
Iñaki
Re: Eigen updated [message #53870 is a reply to message #53869] Sun, 10 May 2020 01:37 Go to previous messageGo to next message
Novo is currently offline  Novo
Messages: 1378
Registered: December 2006
Ultimate Contributor
No problem.
Do not thank me, thank a build automation system Rolling Eyes


Regards,
Novo
Re: Eigen updated [message #53871 is a reply to message #53870] Sun, 10 May 2020 08:56 Go to previous messageGo to next message
koldo is currently offline  koldo
Messages: 3404
Registered: August 2008
Senior Veteran
Laughing From now on I will use it not partially, but massively.

Best regards
Iñaki
Re: Eigen updated [message #53924 is a reply to message #53862] Fri, 15 May 2020 13:44 Go to previous messageGo to next message
coolman is currently offline  coolman
Messages: 118
Registered: April 2006
Location: Czech Republic
Experienced Member
Novo wrote on Sat, 09 May 2020 20:15
After full rebuild:
...
/home/ssg/.local/soft/bb-worker/worker/upp/build/reference/ScatterDraw_Demo/ScatterDraw_Demo.cpp:16:2: error: reference to 'Vector' is ambiguous
        Vector<Pointf> s1;
        ^
/home/ssg/.local/soft/bb-worker/worker/upp/build/uppsrc/Core/Vcont.h:104:7: note: candidate found by name lookup is 'Upp::Vector'
class Vector : public MoveableAndDeepCopyOption< Vector<T> > {
      ^
/home/ssg/.local/soft/bb-worker/worker/upp/build/uppsrc/plugin/Eigen/Eigen/src/Core/Matrix.h:549:1: note: candidate found by name lookup is 'Eigen::Vector'
using Vector = Matrix<Type, Size, 1>;
^
1 error generated.
...

It is still broken ...


Hi,

There is similar problem with Array in my personal application. And when you are using SQL the Select is ambiguous too. Build on Ubuntu 18.04 CLANG.

BR, Radek
Re: Eigen updated [message #53930 is a reply to message #53924] Fri, 15 May 2020 18:25 Go to previous messageGo to next message
Didier is currently offline  Didier
Messages: 694
Registered: November 2008
Location: France
Contributor
Hello Radek,

I had the same problem last week : it was my application that had problems.
The problem was the use of 'using namespace Upp' in some header files ... which leads to these ambiguity errors

Maybe it's the same for you

[Updated on: Fri, 15 May 2020 18:26]

Report message to a moderator

Re: Eigen updated [message #53931 is a reply to message #53930] Fri, 15 May 2020 19:39 Go to previous messageGo to next message
koldo is currently offline  koldo
Messages: 3404
Registered: August 2008
Senior Veteran
Didier wrote on Fri, 15 May 2020 18:25
Hello Radek,

I had the same problem last week : it was my application that had problems.
The problem was the use of 'using namespace Upp' in some header files ... which leads to these ambiguity errors

Maybe it's the same for you
I agree with Didier. Please try to put #include <ScatterDraw/ScatterDraw.h> before using namespace Upp;, and tell us if this solves the problem.


Best regards
Iñaki
Re: Eigen updated [message #53932 is a reply to message #53931] Fri, 15 May 2020 20:04 Go to previous messageGo to next message
coolman is currently offline  coolman
Messages: 118
Registered: April 2006
Location: Czech Republic
Experienced Member
koldo wrote on Fri, 15 May 2020 19:39
Didier wrote on Fri, 15 May 2020 18:25
Hello Radek,

I had the same problem last week : it was my application that had problems.
The problem was the use of 'using namespace Upp' in some header files ... which leads to these ambiguity errors

Maybe it's the same for you
I agree with Didier. Please try to put #include <ScatterDraw/ScatterDraw.h> before using namespace Upp;, and tell us if this solves the problem.


Hi,

I don't use 'using namespace Upp' in header files. Only in code files after all includes.

BR, Radek
Re: Eigen updated [message #53933 is a reply to message #53932] Fri, 15 May 2020 22:28 Go to previous messageGo to next message
Didier is currently offline  Didier
Messages: 694
Registered: November 2008
Location: France
Contributor
I think it still is the source of you're problem.
In my case I removed ALL the 'using namespace Upp' (in header and in .cpp files) and replaced them with 'namespace Upp { }'

[Updated on: Fri, 15 May 2020 22:29]

Report message to a moderator

Re: Eigen updated [message #53937 is a reply to message #53933] Sat, 16 May 2020 08:20 Go to previous messageGo to next message
coolman is currently offline  coolman
Messages: 118
Registered: April 2006
Location: Czech Republic
Experienced Member
Hi,

Problem was with the include of <ScatterCtrl/ScatterCtrl.h> and <ScatterCtrl/PieCtrl.h>. They were in a wrong place. The 'using namespace Upp;' was correct.

Thanks, Radek
Re: Eigen updated [message #53988 is a reply to message #53851] Wed, 20 May 2020 00:19 Go to previous messageGo to next message
Klugier is currently offline  Klugier
Messages: 1085
Registered: September 2012
Location: Poland, Kraków
Senior Contributor
Hello Koldo,

If I may suggest something, I would never use unstable code in the production environment. By introducing nightly build you risk all the problems resulting from this fact. One of that problem is that library can let you down at the most inopportune moment. I think Eigen is one of that libraries with the well establish release cycle and we should respect it. The same thing is true for Upp. You can hit the moment when some important thing doesn't work like we want to. The best example for that is initial GTK 3 port.

Currently, we have 3.3.7 and they are working hard to bring 3.4 or 3.3.8. In my opinion you should be patient and wait for that release. It will happen sooner or later. I highly recommend to revert current master version and back to stable 3.3.7.

Sincerely,
Klugier


U++ - one framework to rule them all.

[Updated on: Wed, 20 May 2020 02:01]

Report message to a moderator

Re: Eigen updated [message #54001 is a reply to message #53988] Wed, 20 May 2020 12:56 Go to previous messageGo to next message
koldo is currently offline  koldo
Messages: 3404
Registered: August 2008
Senior Veteran
Dear Klugier

I think you're totally disoriented as to the cause of this problem.

On the one hand, although the problem appeared when updating Eigen, it was actually because of adding a new option, dependent on Eigen, to ScatterDraw.
In other words, this problem would have appeared even if Eigen had not been updated.

Moreover, the update was made immediately after Mirek announced the official release of version 2020.1.

Finally, the problem was minimal and quickly resolved.


Best regards
Iñaki
Re: Eigen updated [message #54009 is a reply to message #54001] Wed, 20 May 2020 18:42 Go to previous messageGo to next message
Novo is currently offline  Novo
Messages: 1378
Registered: December 2006
Ultimate Contributor
I'm sorry to say this, but Eigen_demo is broken again. This time after Mirek's commit.

template<> EIGEN_STRONG_INLINE Packet16b pset1<Packet16b>(const bool&    from) { return _mm_set1_epi8(static_cast<char>(from)); }
                                                                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ssg/.local/soft/bb-worker/worker/upp/build/uppsrc/plugin/Eigen/Eigen/src/Core/arch/SSE/PacketMath.h:227:93: error: use of undeclared identifier '_mm_castsi128_ps'; did you mean 'Upp::_mm_castsi128_ps'?
template<> EIGEN_STRONG_INLINE Packet4f pset1frombits<Packet4f>(unsigned int from) { return _mm_castsi128_ps(pset1<Packet4i>(from)); }
                                                                                            ^~~~~~~~~~~~~~~~
                                                                                            Upp::_mm_castsi128_ps
/usr/lib/llvm-10/lib/clang/10.0.0/include/emmintrin.h:4930:1: note: 'Upp::_mm_castsi128_ps' declared here
_mm_castsi128_ps(__m128i __a)
^
In file included from /home/ssg/.local/soft/bb-worker/worker/upp/build/uppsrc/plugin/Eigen/Eigen.cpp:2:
In file included from /home/ssg/.local/soft/bb-worker/worker/upp/build/uppsrc/plugin/Eigen/Eigen.h:19:
In file included from /home/ssg/.local/soft/bb-worker/worker/upp/build/uppsrc/plugin/Eigen/Eigen/Eigen:1:
In file included from /home/ssg/.local/soft/bb-worker/worker/upp/build/uppsrc/plugin/Eigen/Eigen/Dense:1:
In file included from /home/ssg/.local/soft/bb-worker/worker/upp/build/uppsrc/plugin/Eigen/Eigen/Core:193:
/home/ssg/.local/soft/bb-worker/worker/upp/build/uppsrc/plugin/Eigen/Eigen/src/Core/arch/SSE/PacketMath.h:227:110: error: cannot initialize a parameter of type 'Upp::__m128i' (vector of 2 'long long' values) with an rvalue of type 'Eigen::internal::Packet4i' (aka 'int')
template<> EIGEN_STRONG_INLINE Packet4f pset1frombits<Packet4f>(unsigned int from) { return _mm_castsi128_ps(pset1<Packet4i>(from)); }
                                                                                                             ^~~~~~~~~~~~~~~~~~~~~
/usr/lib/llvm-10/lib/clang/10.0.0/include/emmintrin.h:4930:26: note: passing argument to parameter '__a' here
_mm_castsi128_ps(__m128i __a)
                         ^
In file included from /home/ssg/.local/soft/bb-worker/worker/upp/build/uppsrc/plugin/Eigen/Eigen.cpp:2:
In file included from /home/ssg/.local/soft/bb-worker/worker/upp/build/uppsrc/plugin/Eigen/Eigen.h:19:
In file included from /home/ssg/.local/soft/bb-worker/worker/upp/build/uppsrc/plugin/Eigen/Eigen/Eigen:1:
In file included from /home/ssg/.local/soft/bb-worker/worker/upp/build/uppsrc/plugin/Eigen/Eigen/Dense:1:
In file included from /home/ssg/.local/soft/bb-worker/worker/upp/build/uppsrc/plugin/Eigen/Eigen/Core:193:
/home/ssg/.local/soft/bb-worker/worker/upp/build/uppsrc/plugin/Eigen/Eigen/src/Core/arch/SSE/PacketMath.h:229:79: error: use of undeclared identifier '_mm_setzero_ps'; did you mean 'Upp::_mm_setzero_ps'?
template<> EIGEN_STRONG_INLINE Packet4f pzero(const Packet4f& /*a*/) { return _mm_setzero_ps(); }
                                                                              ^~~~~~~~~~~~~~
                                                                              Upp::_mm_setzero_ps
/usr/lib/llvm-10/lib/clang/10.0.0/include/xmmintrin.h:1903:1: note: 'Upp::_mm_setzero_ps' declared here
_mm_setzero_ps(void)
^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
plugin/Eigen: 1 file(s) built in (0:00.88), 886 msecs / file
Eigen_demo: 3 file(s) built in (0:00.91), 305 msecs / file


Regards,
Novo
Re: Eigen updated [message #54016 is a reply to message #54009] Thu, 21 May 2020 15:12 Go to previous messageGo to previous message
koldo is currently offline  koldo
Messages: 3404
Registered: August 2008
Senior Veteran
Thank you Novo

Yes, the new version of Core/Ops.h adds an #include <smmintrin.h> that declares __m128i, but in some way smashes the rest of references to __m128i in other include files. And Eigen uses vectorisation.

I am working for hours on it... I will try to solve the problem.
(And this is not because of Eigen's new version Smile )


Best regards
Iñaki
Previous Topic: [Proposal] Blur algorithm (fast box blur with gaussian approximation)
Next Topic: Set mouse position
Goto Forum:
  


Current Time: Fri Dec 13 22:41:52 CET 2024

Total time taken to generate the page: 0.01800 seconds