<?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 [ Borland C++ compiler - in Software Archive</title>
    <link>https://community.intel.com/t5/Software-Archive/Notes-on-Memory-alignment-of-different-C-compilers/m-p/1069223#M57466</link>
    <description>&lt;STRONG&gt;[ Borland C++ compiler - Debug ]&lt;/STRONG&gt;

...
Pointer 0x110D7020 is     aligned on  2-byte boundary
Pointer 0x110D7020 is     aligned on  4-byte boundary
Pointer 0x110D7020 is     aligned on  8-byte boundary
Pointer 0x110D7020 is     aligned on 16-byte boundary
Pointer 0x110D7020 is     aligned on 32-byte boundary
Pointer 0x110D7020 is Not aligned on 64-byte boundary
...</description>
    <pubDate>Fri, 12 Feb 2016 15:33:03 GMT</pubDate>
    <dc:creator>SergeyKostrov</dc:creator>
    <dc:date>2016-02-12T15:33:03Z</dc:date>
    <item>
      <title>Notes on Memory alignment of different C++ compilers</title>
      <link>https://community.intel.com/t5/Software-Archive/Notes-on-Memory-alignment-of-different-C-compilers/m-p/1069221#M57464</link>
      <description>&lt;STRONG&gt;*** Notes on Memory alignment of different C++ compilers ***&lt;/STRONG&gt;

C++ compilers always differ in some functionality, or another, and memory allocation &lt;STRONG&gt;CRT&lt;/STRONG&gt;-functions, like &lt;STRONG&gt;malloc&lt;/STRONG&gt; or &lt;STRONG&gt;calloc&lt;/STRONG&gt;, Not exceptions. Memory blocks allocated by these &lt;STRONG&gt;CRT&lt;/STRONG&gt;-functions at different parts of Virtual Memory and have different alignments (!).

More details will be submitted soon.</description>
      <pubDate>Thu, 11 Feb 2016 22:00:22 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Notes-on-Memory-alignment-of-different-C-compilers/m-p/1069221#M57464</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2016-02-11T22:00:22Z</dc:date>
    </item>
    <item>
      <title>[ Part 1 - Debug</title>
      <link>https://community.intel.com/t5/Software-Archive/Notes-on-Memory-alignment-of-different-C-compilers/m-p/1069222#M57465</link>
      <description>&lt;STRONG&gt;[ Part 1 - Debug configuration ]&lt;/STRONG&gt;

&lt;STRONG&gt;[ Microsoft C++ compiler - Debug ]&lt;/STRONG&gt;

...
Pointer 0x092D7E48 is     aligned on  2-byte boundary
Pointer 0x092D7E48 is     aligned on  4-byte boundary
Pointer 0x092D7E48 is     aligned on  8-byte boundary
Pointer 0x092D7E48 is Not aligned on 16-byte boundary
Pointer 0x092D7E48 is Not aligned on 32-byte boundary
Pointer 0x092D7E48 is Not aligned on 64-byte boundary
...</description>
      <pubDate>Fri, 12 Feb 2016 14:06:27 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Notes-on-Memory-alignment-of-different-C-compilers/m-p/1069222#M57465</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2016-02-12T14:06:27Z</dc:date>
    </item>
    <item>
      <title>[ Borland C++ compiler -</title>
      <link>https://community.intel.com/t5/Software-Archive/Notes-on-Memory-alignment-of-different-C-compilers/m-p/1069223#M57466</link>
      <description>&lt;STRONG&gt;[ Borland C++ compiler - Debug ]&lt;/STRONG&gt;

...
Pointer 0x110D7020 is     aligned on  2-byte boundary
Pointer 0x110D7020 is     aligned on  4-byte boundary
Pointer 0x110D7020 is     aligned on  8-byte boundary
Pointer 0x110D7020 is     aligned on 16-byte boundary
Pointer 0x110D7020 is     aligned on 32-byte boundary
Pointer 0x110D7020 is Not aligned on 64-byte boundary
...</description>
      <pubDate>Fri, 12 Feb 2016 15:33:03 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Notes-on-Memory-alignment-of-different-C-compilers/m-p/1069223#M57466</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2016-02-12T15:33:03Z</dc:date>
    </item>
    <item>
      <title>[ Intel C++ compiler - Debug</title>
      <link>https://community.intel.com/t5/Software-Archive/Notes-on-Memory-alignment-of-different-C-compilers/m-p/1069224#M57467</link>
      <description>&lt;STRONG&gt;[ Intel C++ compiler - Debug ]&lt;/STRONG&gt;

...
Pointer 0x08DB9888 is     aligned on  2-byte boundary
Pointer 0x08DB9888 is     aligned on  4-byte boundary
Pointer 0x08DB9888 is     aligned on  8-byte boundary
Pointer 0x08DB9888 is Not aligned on 16-byte boundary
Pointer 0x08DB9888 is Not aligned on 32-byte boundary
Pointer 0x08DB9888 is Not aligned on 64-byte boundary
...</description>
      <pubDate>Fri, 12 Feb 2016 15:44:05 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Notes-on-Memory-alignment-of-different-C-compilers/m-p/1069224#M57467</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2016-02-12T15:44:05Z</dc:date>
    </item>
    <item>
      <title>[ MinGW C++ compiler - Debug</title>
      <link>https://community.intel.com/t5/Software-Archive/Notes-on-Memory-alignment-of-different-C-compilers/m-p/1069225#M57468</link>
      <description>&lt;STRONG&gt;[ MinGW C++ compiler - Debug ]&lt;/STRONG&gt;

...
Pointer 0x1111BD30 is     aligned on  2-byte boundary
Pointer 0x1111BD30 is     aligned on  4-byte boundary
Pointer 0x1111BD30 is     aligned on  8-byte boundary
Pointer 0x1111BD30 is     aligned on 16-byte boundary
Pointer 0x1111BD30 is Not aligned on 32-byte boundary
Pointer 0x1111BD30 is Not aligned on 64-byte boundary
...</description>
      <pubDate>Fri, 12 Feb 2016 15:50:41 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Notes-on-Memory-alignment-of-different-C-compilers/m-p/1069225#M57468</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2016-02-12T15:50:41Z</dc:date>
    </item>
    <item>
      <title>[ Watcom C++ compiler - Debug</title>
      <link>https://community.intel.com/t5/Software-Archive/Notes-on-Memory-alignment-of-different-C-compilers/m-p/1069226#M57469</link>
      <description>&lt;STRONG&gt;[ Watcom C++ compiler - Debug ]&lt;/STRONG&gt;

...
Pointer 0x1101C748 is     aligned on  2-byte boundary
Pointer 0x1101C748 is     aligned on  4-byte boundary
Pointer 0x1101C748 is     aligned on  8-byte boundary
Pointer 0x1101C748 is Not aligned on 16-byte boundary
Pointer 0x1101C748 is Not aligned on 32-byte boundary
Pointer 0x1101C748 is Not aligned on 64-byte boundary
...</description>
      <pubDate>Fri, 12 Feb 2016 15:57:27 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Notes-on-Memory-alignment-of-different-C-compilers/m-p/1069226#M57469</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2016-02-12T15:57:27Z</dc:date>
    </item>
    <item>
      <title>[ Part 2 - Release</title>
      <link>https://community.intel.com/t5/Software-Archive/Notes-on-Memory-alignment-of-different-C-compilers/m-p/1069227#M57470</link>
      <description>&lt;STRONG&gt;[ Part 2 - Release configuration ]&lt;/STRONG&gt;

&lt;STRONG&gt;[ Microsoft C++ compiler - Release ]&lt;/STRONG&gt;

...
Pointer 0x00377FC0 is     aligned on  2-byte boundary
Pointer 0x00377FC0 is     aligned on  4-byte boundary
Pointer 0x00377FC0 is     aligned on  8-byte boundary
Pointer 0x00377FC0 is     aligned on 16-byte boundary
Pointer 0x00377FC0 is     aligned on 32-byte boundary
Pointer 0x00377FC0 is     aligned on 64-byte boundary
...</description>
      <pubDate>Fri, 12 Feb 2016 16:04:07 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Notes-on-Memory-alignment-of-different-C-compilers/m-p/1069227#M57470</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2016-02-12T16:04:07Z</dc:date>
    </item>
    <item>
      <title>[ Borland C++ compiler -</title>
      <link>https://community.intel.com/t5/Software-Archive/Notes-on-Memory-alignment-of-different-C-compilers/m-p/1069228#M57471</link>
      <description>&lt;STRONG&gt;[ Borland C++ compiler - Release ]&lt;/STRONG&gt;

...
Pointer 0x10837040 is     aligned on  2-byte boundary
Pointer 0x10837040 is     aligned on  4-byte boundary
Pointer 0x10837040 is     aligned on  8-byte boundary
Pointer 0x10837040 is     aligned on 16-byte boundary
Pointer 0x10837040 is     aligned on 32-byte boundary
Pointer 0x10837040 is     aligned on 64-byte boundary
...</description>
      <pubDate>Fri, 12 Feb 2016 16:09:20 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Notes-on-Memory-alignment-of-different-C-compilers/m-p/1069228#M57471</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2016-02-12T16:09:20Z</dc:date>
    </item>
    <item>
      <title>[ Intel C++ compiler -</title>
      <link>https://community.intel.com/t5/Software-Archive/Notes-on-Memory-alignment-of-different-C-compilers/m-p/1069229#M57472</link>
      <description>&lt;STRONG&gt;[ Intel C++ compiler - Release ]&lt;/STRONG&gt;

...
Pointer 0x00359000 is     aligned on  2-byte boundary
Pointer 0x00359000 is     aligned on  4-byte boundary
Pointer 0x00359000 is     aligned on  8-byte boundary
Pointer 0x00359000 is     aligned on 16-byte boundary
Pointer 0x00359000 is     aligned on 32-byte boundary
Pointer 0x00359000 is     aligned on 64-byte boundary
...</description>
      <pubDate>Fri, 12 Feb 2016 16:14:29 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Notes-on-Memory-alignment-of-different-C-compilers/m-p/1069229#M57472</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2016-02-12T16:14:29Z</dc:date>
    </item>
    <item>
      <title>[ MinGW C++ compiler -</title>
      <link>https://community.intel.com/t5/Software-Archive/Notes-on-Memory-alignment-of-different-C-compilers/m-p/1069230#M57473</link>
      <description>&lt;STRONG&gt;[ MinGW C++ compiler - Release ]&lt;/STRONG&gt;

...
Pointer 0x0023B1C0 is     aligned on  2-byte boundary
Pointer 0x0023B1C0 is     aligned on  4-byte boundary
Pointer 0x0023B1C0 is     aligned on  8-byte boundary
Pointer 0x0023B1C0 is     aligned on 16-byte boundary
Pointer 0x0023B1C0 is     aligned on 32-byte boundary
Pointer 0x0023B1C0 is     aligned on 64-byte boundary
...</description>
      <pubDate>Fri, 12 Feb 2016 16:19:42 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Notes-on-Memory-alignment-of-different-C-compilers/m-p/1069230#M57473</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2016-02-12T16:19:42Z</dc:date>
    </item>
    <item>
      <title>[ Watcom C++ compiler -</title>
      <link>https://community.intel.com/t5/Software-Archive/Notes-on-Memory-alignment-of-different-C-compilers/m-p/1069231#M57474</link>
      <description>&lt;STRONG&gt;[ Watcom C++ compiler - Release ]&lt;/STRONG&gt;

...
Pointer 0x00336380 is     aligned on  2-byte boundary
Pointer 0x00336380 is     aligned on  4-byte boundary
Pointer 0x00336380 is     aligned on  8-byte boundary
Pointer 0x00336380 is     aligned on 16-byte boundary
Pointer 0x00336380 is     aligned on 32-byte boundary
Pointer 0x00336380 is     aligned on 64-byte boundary
...</description>
      <pubDate>Fri, 12 Feb 2016 16:27:22 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Notes-on-Memory-alignment-of-different-C-compilers/m-p/1069231#M57474</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2016-02-12T16:27:22Z</dc:date>
    </item>
    <item>
      <title>A list of CRT-functions to</title>
      <link>https://community.intel.com/t5/Software-Archive/Notes-on-Memory-alignment-of-different-C-compilers/m-p/1069232#M57475</link>
      <description>&lt;STRONG&gt;A list of CRT-functions to allocate and release aligned memory blocks is as follows:&lt;/STRONG&gt;

_mm_malloc
_mm_free
_aligned_malloc
_aligned_offset_malloc
_aligned_offset_realloc
_aligned_offset_recalloc
_aligned_realloc
_aligned_recalloc
_aligned_free

Take into account that some of them are Not portable.

As of today the best pair of functions to allocate and release aligned memory blocks is:

_mm_malloc
_mm_free

and they could be considered as the most portable.</description>
      <pubDate>Fri, 12 Feb 2016 16:36:01 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Notes-on-Memory-alignment-of-different-C-compilers/m-p/1069232#M57475</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2016-02-12T16:36:01Z</dc:date>
    </item>
    <item>
      <title>[ Computer System used for</title>
      <link>https://community.intel.com/t5/Software-Archive/Notes-on-Memory-alignment-of-different-C-compilers/m-p/1069233#M57476</link>
      <description>&lt;STRONG&gt;[ Computer System used for performance evaluations ]&lt;/STRONG&gt;

** Dell Precision Mobile M4700 **

	Intel Core i7-3840QM ( 2.80 GHz )
	Ivy Bridge / 4 cores / 8 logical CPUs / ark.intel.com/products/70846
	32GB RAM
	320GB HDD
	NVIDIA Quadro K1000M ( 192 CUDA cores / 2GB memory )
	Windows 7 Professional 64-bit SP1
	Size of L3 Cache =   8MB ( shared between all cores for data &amp;amp; instructions )
	Size of L2 Cache =   1MB ( 256KB per core / shared for data &amp;amp; instructions )
	Size of L1 Cache = 256KB ( 32KB per core for data &amp;amp; 32KB per core for instructions )
	Display resolution: 1366 x 768</description>
      <pubDate>Mon, 08 Aug 2016 16:50:52 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Notes-on-Memory-alignment-of-different-C-compilers/m-p/1069233#M57476</guid>
      <dc:creator>SergeyKostrov</dc:creator>
      <dc:date>2016-08-08T16:50:52Z</dc:date>
    </item>
  </channel>
</rss>

