Home » Code » Eigen

Eigen

Eigen, here. This might have a vectorized exp(), log(), and sqrt() without needing MKL and ICC. Trying it out, it is remarkable that these folks with Eigen and then with Blaze figured out how to use C++ templates and  access the the SSE/AVX code generation. See for example this Eigen discussion, here, on the code generation for vector addition. This was not always the case. I can see why some folks might get excited about this. Eigen documentation seems to be very SSE based so I get the idea that it hasn’t been meticulously updated for Haswell, for example. I see Blaze documentation as being a little more up to date, but Blaze doesn’t have as many features as Eigen. Eigen reportedly will turn on MPI  internally so you code can run against all the cores in your server, for example. I have not seen Blaze claim to do that.

This is a very short guide on how to get started with Eigen. It has a dual purpose. It serves as a minimal introduction to the Eigen library for people who want to start coding as soon as possible. You can also read this page as the first part of the Tutorial, which explains the library in more detail; in this case you will continue with The Matrix class.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: