<?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 I faced a similar problem in in Software Archive</title>
    <link>https://community.intel.com/t5/Software-Archive/Offloading-argv-vector/m-p/1079914#M61158</link>
    <description>&lt;P&gt;I faced a similar problem in one of my projects. Check Array of pointers. (argv is a char** )&lt;/P&gt;

&lt;P&gt;&lt;A href="https://software.intel.com/en-us/articles/effective-use-of-the-intel-compilers-offload-features" target="_blank"&gt;https://software.intel.com/en-us/articles/effective-use-of-the-intel-compilers-offload-features&lt;/A&gt;.&lt;/P&gt;

&lt;P&gt;Hope this helps!&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Tue, 24 Nov 2015 03:31:10 GMT</pubDate>
    <dc:creator>Ashwin_D_1</dc:creator>
    <dc:date>2015-11-24T03:31:10Z</dc:date>
    <item>
      <title>Offloading argv vector</title>
      <link>https://community.intel.com/t5/Software-Archive/Offloading-argv-vector/m-p/1079913#M61157</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;

&lt;P&gt;I am trying to offload the argv vector on MIC and I was wondering what would be the right path to follow.&lt;/P&gt;

&lt;P&gt;I found out here :&amp;nbsp;https://software.intel.com/en-us/forums/intel-many-integrated-core/topic/534766&lt;/P&gt;

&lt;P&gt;that&lt;STRONG&gt; "&lt;SPAN style="font-size: 12px; line-height: 10.2857px;"&gt;The offload run-time dynamically determines the length of each string element and transfers each element accordingly.&lt;/SPAN&gt;"&lt;/STRONG&gt;&lt;/P&gt;

&lt;P&gt;by using something like:&lt;/P&gt;

&lt;P&gt;#pragma offload target(mic) in(argv[0:argc])&lt;/P&gt;

&lt;P&gt;&lt;STRONG&gt;error: variable "argv" used in this clause must point to a non-pointer type and not "char *"&lt;/STRONG&gt;&lt;/P&gt;

&lt;P&gt;Any suggestions?&lt;/P&gt;

&lt;P&gt;Nikos&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 23 Nov 2015 10:44:04 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Offloading-argv-vector/m-p/1079913#M61157</guid>
      <dc:creator>Nikos_S_</dc:creator>
      <dc:date>2015-11-23T10:44:04Z</dc:date>
    </item>
    <item>
      <title>I faced a similar problem in</title>
      <link>https://community.intel.com/t5/Software-Archive/Offloading-argv-vector/m-p/1079914#M61158</link>
      <description>&lt;P&gt;I faced a similar problem in one of my projects. Check Array of pointers. (argv is a char** )&lt;/P&gt;

&lt;P&gt;&lt;A href="https://software.intel.com/en-us/articles/effective-use-of-the-intel-compilers-offload-features" target="_blank"&gt;https://software.intel.com/en-us/articles/effective-use-of-the-intel-compilers-offload-features&lt;/A&gt;.&lt;/P&gt;

&lt;P&gt;Hope this helps!&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 24 Nov 2015 03:31:10 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Offloading-argv-vector/m-p/1079914#M61158</guid>
      <dc:creator>Ashwin_D_1</dc:creator>
      <dc:date>2015-11-24T03:31:10Z</dc:date>
    </item>
    <item>
      <title>Thank Ashwin,</title>
      <link>https://community.intel.com/t5/Software-Archive/Offloading-argv-vector/m-p/1079915#M61159</link>
      <description>&lt;P&gt;Thank&amp;nbsp;&lt;A href="https://software.intel.com/en-us/user/1273014" style="font-size: 11px; line-height: 16.5px;"&gt;Ashwin&lt;/A&gt;,&lt;/P&gt;

&lt;P&gt;Indeed, that was the part I was missing. I managed to offload argv as a normal array of pointers.&lt;/P&gt;

&lt;P&gt;Nikos&lt;/P&gt;</description>
      <pubDate>Tue, 01 Dec 2015 18:06:42 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Offloading-argv-vector/m-p/1079915#M61159</guid>
      <dc:creator>Nikos_S_</dc:creator>
      <dc:date>2015-12-01T18:06:42Z</dc:date>
    </item>
    <item>
      <title>I think either I don't</title>
      <link>https://community.intel.com/t5/Software-Archive/Offloading-argv-vector/m-p/1079916#M61160</link>
      <description>&lt;P&gt;I think either I don't understand what you are doing or what you are doing is not really what you want to do.&lt;/P&gt;

&lt;P&gt;In the article Ashwin pointed to, what it was saying was - if you have an array of pointers, then you need to pass each thing pointed to one at a time. They had an array of pointers to blocks of malloc memory. If the compiler allowed them to offload that array, (assuming they are not using _Cilk_shared) what they would see on the coprocessor is an array of pointers pointing to who knows what, but definitely not their blocks of malloc'ed memory. They had to pass each block of memory individually. In your case, this would be the same as passing each argument individually as an array of char.&lt;/P&gt;

&lt;P&gt;Typically when you use the offload method of writing code for the coprocessor, you do some work on the host system, then pass the highly parallel parts of the work to the coprocessor. In this case, you would normally have already parsed argv on the host and would pass to the coprocessor the variables you created using those arguments. If you are starting your code up on the host system then immediately passing everything to the coprocessor, you might want to look into running the code natively on the coprocessor.&lt;/P&gt;</description>
      <pubDate>Wed, 02 Dec 2015 01:39:07 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/Offloading-argv-vector/m-p/1079916#M61160</guid>
      <dc:creator>Frances_R_Intel</dc:creator>
      <dc:date>2015-12-02T01:39:07Z</dc:date>
    </item>
  </channel>
</rss>

