<?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 AWE module version 1.0 ... in Intel® Moderncode for Parallel Architectures</title>
    <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/AWE-module-version-1-0/m-p/839042#M1654</link>
    <description>&lt;DIV id="inbdy"&gt;&lt;A name="msg_2cf52548b1171243"&gt;&lt;/A&gt;&lt;SPAN class="fixed_width" style="font-family: Courier, Monospaced;"&gt;&lt;P&gt;Hello, &lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;A nice module that you can use with ParallelHashList...&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Description: &lt;/P&gt;&lt;P&gt;Why the 2 GB limitation on the Win 32bits systems ? &lt;/P&gt;&lt;P&gt;My AWE object pascal module is here, it allows your application &lt;BR /&gt;to use up to 64GB of RAM. &lt;/P&gt;&lt;P&gt;And here is the public interface of TAWEStorage class, &lt;BR /&gt;i have implemented the follow methods: &lt;/P&gt;&lt;P&gt;TAWEStorage = class(TObject) &lt;BR /&gt; public &lt;/P&gt;&lt;P&gt;  Size:longword; &lt;BR /&gt;  position:longword; &lt;BR /&gt;  PageSize:integer; &lt;/P&gt;&lt;P&gt;  constructor Create(); &lt;BR /&gt;  destructor Destroy(); override; &lt;BR /&gt;  function GetMem(ulBytes: ULONG): BOOL; &lt;BR /&gt;  function FreeMem(): BOOL; &lt;BR /&gt;  function HowManyPagesAllocated(): ULONG; &lt;BR /&gt;  function CopyFrom(in_stream:TMemoryStream;count:longint):longint; &lt;BR /&gt;  function CopyTo(out_stream:TMemoryStream;count:longint):longint; &lt;BR /&gt;  function Read(var Buffer;count:longint):longint; &lt;BR /&gt;  function Write(const Buffer;count:longint):longint; &lt;BR /&gt;  function ToString:string; &lt;/P&gt;&lt;P&gt; end; &lt;/P&gt;&lt;P&gt;Note: To be able to use AWE you have to set the user rights &lt;BR /&gt;correctly, &lt;BR /&gt;so,go to: Control Panel -&amp;gt; Administrative tools -&amp;gt; Local Security &lt;BR /&gt;Policy &lt;BR /&gt;-&amp;gt; User Rights Assignment and give 'Lock pages in memory' right &lt;BR /&gt;to the user that wants to use AWE. &lt;/P&gt;&lt;P&gt;Every TAWStorage object can go up to 4GB , and you can go up to &lt;BR /&gt;64GB ! &lt;/P&gt;&lt;P&gt;You can download my AWE module from: &lt;/P&gt;&lt;P&gt;&lt;A target="_blank" rel="nofollow" href="http://www.google.com/url?sa=D&amp;amp;q=http://pages.videotron.com/aminer/&amp;amp;usg=AFQjCNEc4XUK97itZ-yH6hly_HwgwpbUjg"&gt;http://pages.videotron.com/aminer/&lt;/A&gt; &lt;/P&gt;&lt;P&gt;TAWEStorage is very easy to use, here is an example: &lt;/P&gt;&lt;P&gt;------------------------------------------------- &lt;/P&gt;&lt;P&gt;program test; &lt;/P&gt;&lt;P&gt;uses AWE,classes; &lt;/P&gt;&lt;P&gt;var &lt;BR /&gt;awe1:TAWEStorage; &lt;BR /&gt;ptr:pointer; &lt;BR /&gt;fstream1:TFileStream; &lt;BR /&gt;stream1,stream2:TMemoryStream; &lt;/P&gt;&lt;P&gt;Function StringToStream(const AString: string): TMemoryStream; &lt;BR /&gt;begin &lt;BR /&gt;Result := TMemoryStream(TStringStream.Create(AString)); &lt;BR /&gt;end; &lt;/P&gt;&lt;P&gt;begin &lt;/P&gt;&lt;P&gt;stream2:=TMemoryStream.create; &lt;/P&gt;&lt;P&gt;fstream1:=TFileStream.create('test.txt',fmCreate); &lt;/P&gt;&lt;P&gt;stream1:=StringToStream('Hello world !'); &lt;BR /&gt;awe1:=TAWEStorage.create; &lt;/P&gt;&lt;P&gt;writeln; &lt;BR /&gt;if awe1.getmem(stream1.size) &lt;BR /&gt; then writeln('Memory was reserved...') &lt;BR /&gt; else writeln('Memory was not reserved...'); &lt;/P&gt;&lt;P&gt;writeln('Number of pages allocatd is: ',awe1.HowManyPagesAllocated); &lt;/P&gt;&lt;P&gt;if awe1.CopyFrom(stream1,stream1.size) &amp;lt;&amp;gt; 0 &lt;BR /&gt;then writeln('CopyFrom ok ...') &lt;BR /&gt;else writelN('CopyFrom not ok ..'); &lt;/P&gt;&lt;P&gt;awe1.position:=0; &lt;BR /&gt;awe1.CopyTo(stream2,awe1.size); &lt;/P&gt;&lt;P&gt;stream2.position:=0; &lt;BR /&gt;fstream1.copyfrom(stream2,stream2.size); &lt;BR /&gt;stream2.position:=0; &lt;BR /&gt;fstream1.position:=0; &lt;/P&gt;&lt;P&gt;writeln(awe1.tostring); &lt;/P&gt;&lt;P&gt;awe1.freemem; &lt;BR /&gt;awe1.free; &lt;BR /&gt;end. &lt;/P&gt;&lt;P&gt;-------------------------------------------------------------- &lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Sincerely, &lt;BR /&gt;Amine Moulay Ramdane. &lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/DIV&gt;</description>
    <pubDate>Wed, 14 Apr 2010 19:56:06 GMT</pubDate>
    <dc:creator>aminer10</dc:creator>
    <dc:date>2010-04-14T19:56:06Z</dc:date>
    <item>
      <title>AWE module version 1.0 ...</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/AWE-module-version-1-0/m-p/839042#M1654</link>
      <description>&lt;DIV id="inbdy"&gt;&lt;A name="msg_2cf52548b1171243"&gt;&lt;/A&gt;&lt;SPAN class="fixed_width" style="font-family: Courier, Monospaced;"&gt;&lt;P&gt;Hello, &lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;A nice module that you can use with ParallelHashList...&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Description: &lt;/P&gt;&lt;P&gt;Why the 2 GB limitation on the Win 32bits systems ? &lt;/P&gt;&lt;P&gt;My AWE object pascal module is here, it allows your application &lt;BR /&gt;to use up to 64GB of RAM. &lt;/P&gt;&lt;P&gt;And here is the public interface of TAWEStorage class, &lt;BR /&gt;i have implemented the follow methods: &lt;/P&gt;&lt;P&gt;TAWEStorage = class(TObject) &lt;BR /&gt; public &lt;/P&gt;&lt;P&gt;  Size:longword; &lt;BR /&gt;  position:longword; &lt;BR /&gt;  PageSize:integer; &lt;/P&gt;&lt;P&gt;  constructor Create(); &lt;BR /&gt;  destructor Destroy(); override; &lt;BR /&gt;  function GetMem(ulBytes: ULONG): BOOL; &lt;BR /&gt;  function FreeMem(): BOOL; &lt;BR /&gt;  function HowManyPagesAllocated(): ULONG; &lt;BR /&gt;  function CopyFrom(in_stream:TMemoryStream;count:longint):longint; &lt;BR /&gt;  function CopyTo(out_stream:TMemoryStream;count:longint):longint; &lt;BR /&gt;  function Read(var Buffer;count:longint):longint; &lt;BR /&gt;  function Write(const Buffer;count:longint):longint; &lt;BR /&gt;  function ToString:string; &lt;/P&gt;&lt;P&gt; end; &lt;/P&gt;&lt;P&gt;Note: To be able to use AWE you have to set the user rights &lt;BR /&gt;correctly, &lt;BR /&gt;so,go to: Control Panel -&amp;gt; Administrative tools -&amp;gt; Local Security &lt;BR /&gt;Policy &lt;BR /&gt;-&amp;gt; User Rights Assignment and give 'Lock pages in memory' right &lt;BR /&gt;to the user that wants to use AWE. &lt;/P&gt;&lt;P&gt;Every TAWStorage object can go up to 4GB , and you can go up to &lt;BR /&gt;64GB ! &lt;/P&gt;&lt;P&gt;You can download my AWE module from: &lt;/P&gt;&lt;P&gt;&lt;A target="_blank" rel="nofollow" href="http://www.google.com/url?sa=D&amp;amp;q=http://pages.videotron.com/aminer/&amp;amp;usg=AFQjCNEc4XUK97itZ-yH6hly_HwgwpbUjg"&gt;http://pages.videotron.com/aminer/&lt;/A&gt; &lt;/P&gt;&lt;P&gt;TAWEStorage is very easy to use, here is an example: &lt;/P&gt;&lt;P&gt;------------------------------------------------- &lt;/P&gt;&lt;P&gt;program test; &lt;/P&gt;&lt;P&gt;uses AWE,classes; &lt;/P&gt;&lt;P&gt;var &lt;BR /&gt;awe1:TAWEStorage; &lt;BR /&gt;ptr:pointer; &lt;BR /&gt;fstream1:TFileStream; &lt;BR /&gt;stream1,stream2:TMemoryStream; &lt;/P&gt;&lt;P&gt;Function StringToStream(const AString: string): TMemoryStream; &lt;BR /&gt;begin &lt;BR /&gt;Result := TMemoryStream(TStringStream.Create(AString)); &lt;BR /&gt;end; &lt;/P&gt;&lt;P&gt;begin &lt;/P&gt;&lt;P&gt;stream2:=TMemoryStream.create; &lt;/P&gt;&lt;P&gt;fstream1:=TFileStream.create('test.txt',fmCreate); &lt;/P&gt;&lt;P&gt;stream1:=StringToStream('Hello world !'); &lt;BR /&gt;awe1:=TAWEStorage.create; &lt;/P&gt;&lt;P&gt;writeln; &lt;BR /&gt;if awe1.getmem(stream1.size) &lt;BR /&gt; then writeln('Memory was reserved...') &lt;BR /&gt; else writeln('Memory was not reserved...'); &lt;/P&gt;&lt;P&gt;writeln('Number of pages allocatd is: ',awe1.HowManyPagesAllocated); &lt;/P&gt;&lt;P&gt;if awe1.CopyFrom(stream1,stream1.size) &amp;lt;&amp;gt; 0 &lt;BR /&gt;then writeln('CopyFrom ok ...') &lt;BR /&gt;else writelN('CopyFrom not ok ..'); &lt;/P&gt;&lt;P&gt;awe1.position:=0; &lt;BR /&gt;awe1.CopyTo(stream2,awe1.size); &lt;/P&gt;&lt;P&gt;stream2.position:=0; &lt;BR /&gt;fstream1.copyfrom(stream2,stream2.size); &lt;BR /&gt;stream2.position:=0; &lt;BR /&gt;fstream1.position:=0; &lt;/P&gt;&lt;P&gt;writeln(awe1.tostring); &lt;/P&gt;&lt;P&gt;awe1.freemem; &lt;BR /&gt;awe1.free; &lt;BR /&gt;end. &lt;/P&gt;&lt;P&gt;-------------------------------------------------------------- &lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Sincerely, &lt;BR /&gt;Amine Moulay Ramdane. &lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;/DIV&gt;</description>
      <pubDate>Wed, 14 Apr 2010 19:56:06 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/AWE-module-version-1-0/m-p/839042#M1654</guid>
      <dc:creator>aminer10</dc:creator>
      <dc:date>2010-04-14T19:56:06Z</dc:date>
    </item>
  </channel>
</rss>

