<?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  Scalable Parallel implementation of Conjugate Gradient Linear System solver library that is NUMA-aware and cache-aware in Intel® Moderncode for Parallel Architectures</title>
    <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Scalable-Parallel-implementation-of-Conjugate-Gradient-Linear/m-p/1029175#M6658</link>
    <description>&lt;P&gt;Hello,&lt;BR /&gt;
	&lt;BR /&gt;
	&lt;BR /&gt;
	My Scalable Parallel implementation of Conjugate Gradient Linear System solver library that is NUMA-aware and cache-aware is here, now you&lt;BR /&gt;
	don't need to allocate your arrays in different NUMA-nodes, cause i have implemented all the NUMA functions for you, this new algorithm&lt;BR /&gt;
	is NUMA-aware and cache-aware and it's really scalable on NUMA-architecture and on multicores, so if you have a NUMA architecture just run the "test.pas" example that i have&amp;nbsp;included on the zipfile and you will notice that my new&amp;nbsp;algorithm is really scalable on NUMA architecture.&lt;BR /&gt;
	&lt;BR /&gt;
	Frankly i think i have to write something like a PhD paper&amp;nbsp;to explain more my new algorithm , but i will let it at the moment&amp;nbsp;as it is... perhaps i will do it in the near future.&lt;BR /&gt;
	&lt;BR /&gt;
	This scalable Parallel library is especially designed for large scale&amp;nbsp;industrial engineering problems that you find on industrial Finite element problems and such, this scalable Parallel library was ported to both FreePascal and all the Delphi XE versions, hope you will find it really good.&lt;/P&gt;

&lt;P&gt;My new algorithm contains two parts that are the most expensive, and those two parts are: a vector multiplication by a transpose of a matrix, and a vector multiplication by a matrix, but when i have parallelized my previous algorithm, i have parallelized just the memory data cache transfer from the L2 cache-line hit to the CPU that costs around 10 CPU cycles for every double type, and i have parallelized also the multiplication of two doubles and addition of two doubles, but this was not enough, cause what we have to do also is parallelize the memory data transfers from the memory to the L2 cache , and this is what we call a NUMA aware algorithm that really scale on NUMA architecture, and this is what i have done in my new algorithm, the memory data transfers from memory to the L2 cache was also parallelized and this have made my new algorithm NUMA aware and really scalable on NUMA architecture and my new algorithm is also cache-aware.&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;You can download my Scalable Parallel implementation of Conjugate Gradient Linear System solver library that is NUMA-aware and cache-aware from:&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;BR /&gt;
	&lt;A class="moz-txt-link-freetext" href="https://sites.google.com/site/aminer68/scalable-parallel-implementation-of-conjugate-gradient-linear-system-solver-library-that-is-numa-aware-and-cache-aware"&gt;https://sites.google.com/site/aminer68/scalable-parallel-implementation-of-conjugate-gradient-linear-system-solver-library-that-is-numa-aware-and-cache-aware&lt;/A&gt;&lt;BR /&gt;
	&lt;BR /&gt;
	&lt;BR /&gt;
	Thank you,&lt;BR /&gt;
	Amine Moulay Ramdane.&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 19 Dec 2014 19:49:09 GMT</pubDate>
    <dc:creator>aminer10</dc:creator>
    <dc:date>2014-12-19T19:49:09Z</dc:date>
    <item>
      <title>Scalable Parallel implementation of Conjugate Gradient Linear System solver library that is NUMA-aware and cache-aware</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Scalable-Parallel-implementation-of-Conjugate-Gradient-Linear/m-p/1029175#M6658</link>
      <description>&lt;P&gt;Hello,&lt;BR /&gt;
	&lt;BR /&gt;
	&lt;BR /&gt;
	My Scalable Parallel implementation of Conjugate Gradient Linear System solver library that is NUMA-aware and cache-aware is here, now you&lt;BR /&gt;
	don't need to allocate your arrays in different NUMA-nodes, cause i have implemented all the NUMA functions for you, this new algorithm&lt;BR /&gt;
	is NUMA-aware and cache-aware and it's really scalable on NUMA-architecture and on multicores, so if you have a NUMA architecture just run the "test.pas" example that i have&amp;nbsp;included on the zipfile and you will notice that my new&amp;nbsp;algorithm is really scalable on NUMA architecture.&lt;BR /&gt;
	&lt;BR /&gt;
	Frankly i think i have to write something like a PhD paper&amp;nbsp;to explain more my new algorithm , but i will let it at the moment&amp;nbsp;as it is... perhaps i will do it in the near future.&lt;BR /&gt;
	&lt;BR /&gt;
	This scalable Parallel library is especially designed for large scale&amp;nbsp;industrial engineering problems that you find on industrial Finite element problems and such, this scalable Parallel library was ported to both FreePascal and all the Delphi XE versions, hope you will find it really good.&lt;/P&gt;

&lt;P&gt;My new algorithm contains two parts that are the most expensive, and those two parts are: a vector multiplication by a transpose of a matrix, and a vector multiplication by a matrix, but when i have parallelized my previous algorithm, i have parallelized just the memory data cache transfer from the L2 cache-line hit to the CPU that costs around 10 CPU cycles for every double type, and i have parallelized also the multiplication of two doubles and addition of two doubles, but this was not enough, cause what we have to do also is parallelize the memory data transfers from the memory to the L2 cache , and this is what we call a NUMA aware algorithm that really scale on NUMA architecture, and this is what i have done in my new algorithm, the memory data transfers from memory to the L2 cache was also parallelized and this have made my new algorithm NUMA aware and really scalable on NUMA architecture and my new algorithm is also cache-aware.&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em; line-height: 1.5;"&gt;You can download my Scalable Parallel implementation of Conjugate Gradient Linear System solver library that is NUMA-aware and cache-aware from:&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;&lt;BR /&gt;
	&lt;A class="moz-txt-link-freetext" href="https://sites.google.com/site/aminer68/scalable-parallel-implementation-of-conjugate-gradient-linear-system-solver-library-that-is-numa-aware-and-cache-aware"&gt;https://sites.google.com/site/aminer68/scalable-parallel-implementation-of-conjugate-gradient-linear-system-solver-library-that-is-numa-aware-and-cache-aware&lt;/A&gt;&lt;BR /&gt;
	&lt;BR /&gt;
	&lt;BR /&gt;
	Thank you,&lt;BR /&gt;
	Amine Moulay Ramdane.&amp;nbsp;&lt;BR /&gt;
	&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 19 Dec 2014 19:49:09 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/Scalable-Parallel-implementation-of-Conjugate-Gradient-Linear/m-p/1029175#M6658</guid>
      <dc:creator>aminer10</dc:creator>
      <dc:date>2014-12-19T19:49:09Z</dc:date>
    </item>
  </channel>
</rss>

