<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic c++ Project - where to start? in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/c-Project-where-to-start/m-p/778377#M1251</link>
    <description>Hello everybody,&lt;BR /&gt;I just want to make an addition to this thread just in case anybody has the same "question" and finds this thread.&lt;BR /&gt;So I've found a really great c++ library, called "Flens", you can find it here:&lt;BR /&gt;&lt;A title="Flens" href="http://flens.sourceforge.net/index.html"&gt;http://flens.sourceforge.net/index.html&lt;/A&gt;&lt;BR /&gt;This is exactly what I was looking for, you can create simply (dense and sparse) matrices and it has a nice concept of "viewing" just single parts of a matrix, which is even better in my case then deleting rows / columns completely.&lt;BR /&gt;And the intention of the authors is to give a kind of interface to BLAS or MKL, so the matrix types are compatible with it. It even has an implementation of basic functions like vector / matrix multiplication, which calls BLAS/MKL functions under the hood. And you can compile flens directly against MKL so it uses MKL for these implemented functions.&lt;BR /&gt;Really great, I think that's a wonderful thing. The tutorial is really nice, the documentation is even better and it's *free* (as in freedom) ;), it's under BSD license.&lt;BR /&gt;So enough of this advertising now...&lt;BR /&gt;Cheers&lt;BR /&gt;matse</description>
    <pubDate>Thu, 04 Aug 2011 21:00:09 GMT</pubDate>
    <dc:creator>matse</dc:creator>
    <dc:date>2011-08-04T21:00:09Z</dc:date>
    <item>
      <title>c++ Project - where to start?</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/c-Project-where-to-start/m-p/778374#M1248</link>
      <description>Hello,&lt;BR /&gt;I'm new to this forum and have just "discovered" IMKL. Up to now I have only used eigen 3 ( &lt;A href="http://eigen.tuxfamily.org/index.php?title=Main_Page" target="_blank"&gt;http://eigen.tuxfamily.org/index.php?title=Main_Page&lt;/A&gt; ), which was really easy to handle, but because of performance issues I had to look for alternatives and I guess the IMKL is a very good library.&lt;BR /&gt;&lt;BR /&gt;Unfortunately I didn't find much information in the manual of the IMKL on how to use it and I have some basic questions:&lt;BR /&gt;- I want to start simple, so I guess there is no "Matrix" Class or anything like that in IMKL, so I primarily just call functions - that's it?&lt;BR /&gt;&lt;BR /&gt;- With what kind types do I have to call the IMKL functions - e.g. is a Matrix just a two-dimensional array?&lt;BR /&gt;&lt;BR /&gt;- Can I perform basic math operations on my matrices like deleting rows/columns and so on?&lt;BR /&gt;&lt;BR /&gt;- How are sparse matrices that are compatible to the IMKL defined and can you recommend me maybe a predefined class that I can use?&lt;BR /&gt;&lt;BR /&gt;- Are there any basic c++ examples available? (Didn't find any myself)&lt;BR /&gt;&lt;BR /&gt;Thanks for your help!&lt;BR /&gt;matse</description>
      <pubDate>Tue, 02 Aug 2011 21:13:37 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/c-Project-where-to-start/m-p/778374#M1248</guid>
      <dc:creator>matse</dc:creator>
      <dc:date>2011-08-02T21:13:37Z</dc:date>
    </item>
    <item>
      <title>c++ Project - where to start?</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/c-Project-where-to-start/m-p/778375#M1249</link>
      <description>Hi Matse,&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;For the moment, MKL is a library providing C/Fortran interfaces only. It means that you can call MKL functions from your C++ program, but MKL doesn't provide any classes to deal with matrices. Instead, it operates with data arrays which represents matrices and other input/output data.&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;If we talk about dense matrices - they are represented as one-dimensional array (pointer to float/doubles) which stores the matrix in column-major order (column-by-column in memory).&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Re sparse matrices MKL provides a variety of standard sparse formats like CSR/CSC/COO etc.&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;For more details, please refer to online-documentation:&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;A href="http://software.intel.com/en-us/articles/intel-math-kernel-library-documentation/"&gt;http://software.intel.com/en-us/articles/intel-math-kernel-library-documentation&lt;/A&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;A href="http://software.intel.com/sites/products/documentation/hpc/mkl/mklman/index.htm"&gt;http://software.intel.com/sites/products/documentation/hpc/mkl/mklman/index.htm&lt;/A&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Regards,&lt;/DIV&gt;&lt;DIV&gt;Konstantin&lt;/DIV&gt;</description>
      <pubDate>Wed, 03 Aug 2011 04:24:15 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/c-Project-where-to-start/m-p/778375#M1249</guid>
      <dc:creator>Konstantin_A_Intel</dc:creator>
      <dc:date>2011-08-03T04:24:15Z</dc:date>
    </item>
    <item>
      <title>c++ Project - where to start?</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/c-Project-where-to-start/m-p/778376#M1250</link>
      <description>Hi Konstantin,&lt;BR /&gt;thanks for your helpfull reply!&lt;BR /&gt;I have just one more question: Do you know c++ libraries that performs just these basic actions (filling matrix, deleting rows / columns of the matrix) so that I can do the rest with MKL?&lt;BR /&gt;The thing is I didn't find such a class (couldn't believe it - this should definetly exist already...) and I don't want to write such a basic class if there exists already one that performs good. So do you know what people generally use for creating matrices when working with MKL from c++?&lt;BR /&gt;Thanks for your help,&lt;BR /&gt;matse</description>
      <pubDate>Wed, 03 Aug 2011 13:38:30 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/c-Project-where-to-start/m-p/778376#M1250</guid>
      <dc:creator>matse</dc:creator>
      <dc:date>2011-08-03T13:38:30Z</dc:date>
    </item>
    <item>
      <title>c++ Project - where to start?</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/c-Project-where-to-start/m-p/778377#M1251</link>
      <description>Hello everybody,&lt;BR /&gt;I just want to make an addition to this thread just in case anybody has the same "question" and finds this thread.&lt;BR /&gt;So I've found a really great c++ library, called "Flens", you can find it here:&lt;BR /&gt;&lt;A title="Flens" href="http://flens.sourceforge.net/index.html"&gt;http://flens.sourceforge.net/index.html&lt;/A&gt;&lt;BR /&gt;This is exactly what I was looking for, you can create simply (dense and sparse) matrices and it has a nice concept of "viewing" just single parts of a matrix, which is even better in my case then deleting rows / columns completely.&lt;BR /&gt;And the intention of the authors is to give a kind of interface to BLAS or MKL, so the matrix types are compatible with it. It even has an implementation of basic functions like vector / matrix multiplication, which calls BLAS/MKL functions under the hood. And you can compile flens directly against MKL so it uses MKL for these implemented functions.&lt;BR /&gt;Really great, I think that's a wonderful thing. The tutorial is really nice, the documentation is even better and it's *free* (as in freedom) ;), it's under BSD license.&lt;BR /&gt;So enough of this advertising now...&lt;BR /&gt;Cheers&lt;BR /&gt;matse</description>
      <pubDate>Thu, 04 Aug 2011 21:00:09 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/c-Project-where-to-start/m-p/778377#M1251</guid>
      <dc:creator>matse</dc:creator>
      <dc:date>2011-08-04T21:00:09Z</dc:date>
    </item>
  </channel>
</rss>

