<?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 Automatic offload using matlab in Intel® oneAPI Math Kernel Library</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Automatic-offload-using-matlab/m-p/1113117#M24499</link>
    <description>&lt;P&gt;Hello,&lt;/P&gt;

&lt;P&gt;i'm masters degree student whom willing to conduct an experiment about offloading in Mobile cloud computing. however, no simulator gives the ability to control the way to offload tasks &lt;STRONG&gt;(basically distribute tasks)&lt;/STRONG&gt; as i'm going to use GA and PSO in partitioning tasks. I found the automatic offload in matlab which can be done using a simple statement. I have an application which is created for the sake of this experiment &lt;STRONG&gt;( this means that i will use matlab to partition this application and distribute it to be executed on several computers).&lt;/STRONG&gt;&lt;/P&gt;

&lt;P&gt;My question is can i use automatic offload in matlab and modify the way it uses by default to use above mentioned algorithms or shall i switch to parallel computing toolbox to conduct so?&lt;/P&gt;

&lt;P&gt;Your prompt reply is really appreciated.&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Tue, 13 Dec 2016 22:06:08 GMT</pubDate>
    <dc:creator>Laila_Q_</dc:creator>
    <dc:date>2016-12-13T22:06:08Z</dc:date>
    <item>
      <title>Automatic offload using matlab</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Automatic-offload-using-matlab/m-p/1113117#M24499</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;

&lt;P&gt;i'm masters degree student whom willing to conduct an experiment about offloading in Mobile cloud computing. however, no simulator gives the ability to control the way to offload tasks &lt;STRONG&gt;(basically distribute tasks)&lt;/STRONG&gt; as i'm going to use GA and PSO in partitioning tasks. I found the automatic offload in matlab which can be done using a simple statement. I have an application which is created for the sake of this experiment &lt;STRONG&gt;( this means that i will use matlab to partition this application and distribute it to be executed on several computers).&lt;/STRONG&gt;&lt;/P&gt;

&lt;P&gt;My question is can i use automatic offload in matlab and modify the way it uses by default to use above mentioned algorithms or shall i switch to parallel computing toolbox to conduct so?&lt;/P&gt;

&lt;P&gt;Your prompt reply is really appreciated.&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 13 Dec 2016 22:06:08 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Automatic-offload-using-matlab/m-p/1113117#M24499</guid>
      <dc:creator>Laila_Q_</dc:creator>
      <dc:date>2016-12-13T22:06:08Z</dc:date>
    </item>
    <item>
      <title>Hi Laila,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Automatic-offload-using-matlab/m-p/1113118#M24500</link>
      <description>&lt;P&gt;Hi Laila,&lt;/P&gt;

&lt;P&gt;I assume your question is related to Matlab toolbox, you may need to consult with Matlab team. Other than that, if you have any concern about Intel Math Kernel Library, please let us know. Thanks!&lt;/P&gt;</description>
      <pubDate>Tue, 13 Dec 2016 23:46:08 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Automatic-offload-using-matlab/m-p/1113118#M24500</guid>
      <dc:creator>Shaojuan_Z_Intel</dc:creator>
      <dc:date>2016-12-13T23:46:08Z</dc:date>
    </item>
    <item>
      <title>Please provide me with a link</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Automatic-offload-using-matlab/m-p/1113119#M24501</link>
      <description>&lt;P&gt;Please provide me with a link&lt;/P&gt;</description>
      <pubDate>Sun, 18 Dec 2016 22:11:03 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Automatic-offload-using-matlab/m-p/1113119#M24501</guid>
      <dc:creator>Laila_Q_</dc:creator>
      <dc:date>2016-12-18T22:11:03Z</dc:date>
    </item>
    <item>
      <title>I posted the question in</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Automatic-offload-using-matlab/m-p/1113120#M24502</link>
      <description>&lt;P&gt;&lt;SPAN style="font-size: 1em;"&gt;I posted the question in matlab forums since Dec 18 and no reply&lt;/SPAN&gt;&lt;/P&gt;

&lt;P&gt;Please guide me where can i get the answer!&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em;"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;BLOCKQUOTE&gt;Shaojuan Z. (Intel) wrote:&lt;BR /&gt;&lt;P&gt;&lt;/P&gt;

&lt;P&gt;Hi Laila,&lt;/P&gt;

&lt;P&gt;I assume your question is related to Matlab toolbox, you may need to consult with Matlab team. Other than that, if you have any concern about Intel Math Kernel Library, please let us know. Thanks!&lt;/P&gt;

&lt;P&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 26 Dec 2016 16:50:22 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Automatic-offload-using-matlab/m-p/1113120#M24502</guid>
      <dc:creator>Laila_Q_</dc:creator>
      <dc:date>2016-12-26T16:50:22Z</dc:date>
    </item>
    <item>
      <title>There seems to be no</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Automatic-offload-using-matlab/m-p/1113121#M24503</link>
      <description>&lt;P&gt;There seems to be no connection between what you want to do with Matlab and MKL. The subject of this forum is MKL (Math Kernel Library).&lt;/P&gt;

&lt;P&gt;Matlab may use MKL behind the scenes, but the details are of concern only if you wish to call MKL routines from Matlab directly.&lt;/P&gt;

&lt;P&gt;We cannot provide any links because, frankly, your question seems to be outside the scope of this forum.&lt;/P&gt;</description>
      <pubDate>Mon, 26 Dec 2016 17:04:14 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Automatic-offload-using-matlab/m-p/1113121#M24503</guid>
      <dc:creator>mecej4</dc:creator>
      <dc:date>2016-12-26T17:04:14Z</dc:date>
    </item>
    <item>
      <title>Hi Laila,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Automatic-offload-using-matlab/m-p/1113122#M24504</link>
      <description>&lt;P&gt;Hi Laila,&lt;BR /&gt;
	&lt;BR /&gt;
	Right, your question seems outside of the scope of this forum. And if you don't select Matlab (although they should support distributed computation), your question is even not for Matlab.&lt;BR /&gt;
	&lt;BR /&gt;
	According to your description, it seems there are three key words:&amp;nbsp;&lt;STRONG&gt;offload&amp;nbsp;and distribute computation, &amp;nbsp;&lt;/STRONG&gt;offloading in Mobile cloud computing&lt;STRONG&gt;.&lt;BR /&gt;
	&lt;BR /&gt;
	About Offloading, there are various tools from third-parties, like&lt;BR /&gt;
	&amp;nbsp;&lt;/STRONG&gt;&lt;A href="https://en.wikipedia.org/wiki/Computation_offloading" target="_blank"&gt;https://en.wikipedia.org/wiki/Computation_offloading&lt;/A&gt;&lt;BR /&gt;
	&lt;A href="http://ieeexplore.ieee.org/document/7363622/?reload=true" target="_blank"&gt;http://ieeexplore.ieee.org/document/7363622/?reload=true&lt;/A&gt;&lt;BR /&gt;
	Computation offloading is the technique migrating computations from client to server to exploit the powerful resources of the server. We observed some former approaches to the computation offloading, and found out they placed a huge burden on programmers to write annotations and substantially limited the computations to be offloaded. In order to overcome these problems, we propose an offloading system transferring the states without annotations and giving programmers freedom to use JavaScript features and DOM (Document Object Model) API in the offloaded computations. Our approach is based on the technique called snapshot, which safely saves and restores the states of web applications.&lt;BR /&gt;
	&lt;BR /&gt;
	I guess, you may search the article &lt;A href="https://software.intel.com/en-us/articles/using-intel-math-kernel-library-with-mathworks-matlab-on-intel-xeon-phi-coprocessor-system)" target="_blank"&gt;https://software.intel.com/en-us/articles/using-intel-math-kernel-library-with-mathworks-matlab-on-intel-xeon-phi-coprocessor-system)&lt;/A&gt;, so ask the question here. &amp;nbsp;The AO in that article mainly based on that Intel MKL has capability to auto offloading work to Xeon PHi Coprocessor, a few of algorithms of Matlab call MKL function underlying, &amp;nbsp;so Matlab has same functionality on Xeon phi coprocessor. And the capability of MKL AO are actually from Intel Compiler&lt;BR /&gt;
	&lt;BR /&gt;
	for example, if you want to write C program with Intel C/C++ Compilers, offload the task to GPU or coprocessor, you can learn from&lt;BR /&gt;
	&lt;A href="https://software.intel.com/en-us/articles/offload-runtime-for-the-intelr-xeon-phitm-coprocessor" target="_blank"&gt;https://software.intel.com/en-us/articles/offload-runtime-for-the-intelr-xeon-phitm-coprocessor&lt;/A&gt;&lt;BR /&gt;
	&lt;A href="https://software.intel.com/en-us/articles/how-to-offload-computation-to-intelr-graphics-technology" target="_blank"&gt;https://software.intel.com/en-us/articles/how-to-offload-computation-to-intelr-graphics-technology&lt;/A&gt;&lt;/P&gt;

&lt;P&gt;Intel(R) C++ Compiler &amp;nbsp;provides a feature which enables offloading general purpose compute kernels to processor graphics&lt;/P&gt;

&lt;UL&gt;
	&lt;LI&gt;This program can offloaded to processor graphics by using synchronous offload by doing the following:&lt;/LI&gt;
&lt;/UL&gt;

&lt;P&gt;&lt;BR /&gt;
	#pragma offload target(gfx) pin(indata,outdata:length(size_of_image))&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; _Cilk_for(int i = 0; i &amp;lt; size_of_image; i++)&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; process_image(indata&lt;I&gt;, outdata&lt;I&gt;);&lt;/I&gt;&lt;/I&gt;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;

&lt;P&gt;__declspec (target(gfx))&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; void process_image(rgb &amp;amp;indataset, rgb &amp;amp;outdataset){&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; float temp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; temp = (0.393f * indataset.red) + (0.769f * indataset.green) + (0.189f * indataset.blue);&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; outdataset.red = (temp &amp;gt; 255.f)?255.f:temp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; temp = (0.349f * indataset.red) + (0.686f * indataset.green) + (0.168f * indataset.blue);&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; outdataset.green = (temp &amp;gt; 255.f)?255.f:temp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; temp = (0.272f * indataset.red) + (0.534f * indataset.green) + (0.131f * indataset.blue);&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; outdataset.blue = (temp &amp;gt; 255.f)?255.f:temp;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; return;&lt;/P&gt;

&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;

&lt;P&gt;As for&amp;nbsp;&lt;STRONG&gt;distribute&lt;/STRONG&gt;, see &amp;nbsp;https://en.wikipedia.org/wiki/Distributed_computing. There are lots of mythologies too. &amp;nbsp;&lt;/P&gt;

&lt;P&gt;With Intel software technology, mainly by Intel MPI, which&amp;nbsp;use this high-performance MPI message library to develop applications that can run on multiple cluster interconnects. If you need this. You may refer to &lt;A href="https://software.intel.com/en-us/get-started-with-mpi-for-linux.&amp;nbsp;" target="_blank"&gt;https://software.intel.com/en-us/get-started-with-mpi-for-linux.&amp;nbsp;&lt;/A&gt;;&lt;/P&gt;

&lt;P&gt;Back to your questions, offloading&lt;STRONG&gt; in Mobile cloud computing&lt;/STRONG&gt;, the first question is how you build Mobile cloud, using some tools like &lt;A href="https://aws.amazon.com/" target="_blank"&gt;Amazon Web Services or something others?, depends on the services, you may consider to select the program model supported by the moblie cloud. &amp;nbsp;&lt;/A&gt;&lt;/P&gt;

&lt;P&gt;Best Regards,&lt;/P&gt;

&lt;P&gt;Ying&lt;/P&gt;</description>
      <pubDate>Tue, 27 Dec 2016 03:06:36 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Automatic-offload-using-matlab/m-p/1113122#M24504</guid>
      <dc:creator>Ying_H_Intel</dc:creator>
      <dc:date>2016-12-27T03:06:36Z</dc:date>
    </item>
  </channel>
</rss>

