<?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 Re:Compiled program Works on CPU but not in GPU/FPGA and cannot trigger FPGA in Intel® oneAPI DPC++/C++ Compiler</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Compiled-program-Works-on-CPU-but-not-in-GPU-FPGA-and-cannot/m-p/1464893#M2891</link>
    <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Has the information provided above helped? If yes, could you please confirm whether we can close this thread from our end?&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Thanks and Regards,&lt;/P&gt;&lt;P&gt;Pendyala Sesha Srinivas&lt;/P&gt;&lt;BR /&gt;</description>
    <pubDate>Mon, 13 Mar 2023 07:02:06 GMT</pubDate>
    <dc:creator>SeshaP_Intel</dc:creator>
    <dc:date>2023-03-13T07:02:06Z</dc:date>
    <item>
      <title>Compiled program Works on CPU but not in GPU/FPGA and cannot trigger FPGA</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Compiled-program-Works-on-CPU-but-not-in-GPU-FPGA-and-cannot/m-p/1453024#M2769</link>
      <description>&lt;P&gt;Hi, i have this program that i wrote for performing PageRank.&lt;/P&gt;
&lt;P&gt;It compiles and runs in CPU, but i cannot run it on GPU because of this error:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;terminate called after throwing an instance of 'sycl::_V1::compile_program_error'
  what():  The program was built for 1 devices
Build program log for 'Intel(R) UHD Graphics [0x9a60]':

error: Double type is not supported on this platform.
in kernel: 'typeinfo name for sycl::_V1::detail::RoundedRangeKernel&amp;lt;sycl::_V1::item&amp;lt;1, true&amp;gt;, 1, main::'lambda'(sycl::_V1::handler&amp;amp;)::operator()(sycl::_V1::handler&amp;amp;) const::'lambda'(sycl::_V1::id&amp;lt;1&amp;gt;)&amp;gt;'
error: backend compiler failed build.

error: Double type is not supported on this platform.
in kernel: 'typeinfo name for sycl::_V1::detail::RoundedRangeKernel&amp;lt;sycl::_V1::item&amp;lt;1, true&amp;gt;, 1, main::'lambda'(sycl::_V1::handler&amp;amp;)::operator()(sycl::_V1::handler&amp;amp;) const::'lambda'(sycl::_V1::id&amp;lt;1&amp;gt;)&amp;gt;'
error: backend compiler failed build.

error: Double type is not supported on this platform.
in kernel: 'typeinfo name for sycl::_V1::detail::RoundedRangeKernel&amp;lt;sycl::_V1::item&amp;lt;1, true&amp;gt;, 1, main::'lambda'(sycl::_V1::handler&amp;amp;)::operator()(sycl::_V1::handler&amp;amp;) const::'lambda'(sycl::_V1::id&amp;lt;1&amp;gt;)&amp;gt;'
error: backend compiler failed build.

error: Double type is not supported on this platform.
in kernel: 'typeinfo name for sycl::_V1::detail::RoundedRangeKernel&amp;lt;sycl::_V1::item&amp;lt;1, true&amp;gt;, 1, main::'lambda'(sycl::_V1::handler&amp;amp;)::operator()(sycl::_V1::handler&amp;amp;) const::'lambda'(sycl::_V1::id&amp;lt;1&amp;gt;)&amp;gt;'
error: backend compiler failed build.

error: Double type is not supported on this platform.
in kernel: 'typeinfo name for sycl::_V1::detail::RoundedRangeKernel&amp;lt;sycl::_V1::item&amp;lt;1, true&amp;gt;, 1, main::'lambda'(sycl::_V1::handler&amp;amp;)::operator()(sycl::_V1::handler&amp;amp;) const::'lambda'(sycl::_V1::id&amp;lt;1&amp;gt;)&amp;gt;'
error: backend compiler failed build.

error: Double type is not supported on this platform.
in kernel: 'typeinfo name for main::'lambda'(sycl::_V1::handler&amp;amp;)::operator()(sycl::_V1::handler&amp;amp;) const::'lambda'(sycl::_V1::id&amp;lt;1&amp;gt;)'
error: backend compiler failed build.

error: Double type is not supported on this platform.
in kernel: 'typeinfo name for main::'lambda'(sycl::_V1::handler&amp;amp;)::operator()(sycl::_V1::handler&amp;amp;) const::'lambda'(sycl::_V1::id&amp;lt;1&amp;gt;)'
error: backend compiler failed build.

error: Double type is not supported on this platform.
in kernel: 'typeinfo name for main::'lambda'(sycl::_V1::handler&amp;amp;)::operator()(sycl::_V1::handler&amp;amp;) const::'lambda'(sycl::_V1::id&amp;lt;1&amp;gt;)'
error: backend compiler failed build.

error: Double type is not supported on this platform.
in kernel: 'typeinfo name for main::'lambda'(sycl::_V1::handler&amp;amp;)::operator()(sycl::_V1::handler&amp;amp;) const::'lambda'(sycl::_V1::id&amp;lt;1&amp;gt;)'
error: backend compiler failed build.

error: Double type is not supported on this platform.
in kernel: 'typeinfo name for main::'lambda'(sycl::_V1::handler&amp;amp;)::operator()(sycl::_V1::handler&amp;amp;) const::'lambda'(sycl::_V1::id&amp;lt;1&amp;gt;)'
error: backend compiler failed build.

error: Double type is not supported on this platform.
in kernel: 'typeinfo name for sycl::_V1::detail::RoundedRangeKernel&amp;lt;sycl::_V1::item&amp;lt;1, true&amp;gt;, 1, main::'lambda'(sycl::_V1::handler&amp;amp;)::operator()(sycl::_V1::handler&amp;amp;) const::'lambda'(sycl::_V1::id&amp;lt;1&amp;gt;)&amp;gt;'
error: backend compiler failed build.

error: Double type is not supported on this platform.
in kernel: 'typeinfo name for sycl::_V1::detail::RoundedRangeKernel&amp;lt;sycl::_V1::item&amp;lt;1, true&amp;gt;, 1, main::'lambda'(sycl::_V1::handler&amp;amp;)::operator()(sycl::_V1::handler&amp;amp;) const::'lambda'(sycl::_V1::id&amp;lt;1&amp;gt;)&amp;gt;'
error: backend compiler failed build.

error: Double type is not supported on this platform.
in kernel: 'typeinfo name for sycl::_V1::detail::RoundedRangeKernel&amp;lt;sycl::_V1::item&amp;lt;1, true&amp;gt;, 1, main::'lambda'(sycl::_V1::handler&amp;amp;)::operator()(sycl::_V1::handler&amp;amp;) const::'lambda'(sycl::_V1::id&amp;lt;1&amp;gt;)&amp;gt;'
error: backend compiler failed build.

error: Double type is not supported on this platform.
in kernel: 'typeinfo name for sycl::_V1::detail::RoundedRangeKernel&amp;lt;sycl::_V1::item&amp;lt;1, true&amp;gt;, 1, main::'lambda'(sycl::_V1::handler&amp;amp;)::operator()(sycl::_V1::handler&amp;amp;) const::'lambda'(sycl::_V1::id&amp;lt;1&amp;gt;)&amp;gt;'
error: backend compiler failed build.

error: Double type is not supported on this platform.
in kernel: 'typeinfo name for sycl::_V1::detail::RoundedRangeKernel&amp;lt;sycl::_V1::item&amp;lt;1, true&amp;gt;, 1, main::'lambda'(sycl::_V1::handler&amp;amp;)::operator()(sycl::_V1::handler&amp;amp;) const::'lambda'(sycl::_V1::id&amp;lt;1&amp;gt;)&amp;gt;'
error: backend compiler failed build.

error: Double type is not supported on this platform.
in kernel: 'typeinfo name for main::'lambda'(sycl::_V1::handler&amp;amp;)::operator()(sycl::_V1::handler&amp;amp;) const::'lambda'(sycl::_V1::id&amp;lt;1&amp;gt;)'
error: backend compiler failed build.

error: Double type is not supported on this platform.
in kernel: 'typeinfo name for main::'lambda'(sycl::_V1::handler&amp;amp;)::operator()(sycl::_V1::handler&amp;amp;) const::'lambda'(sycl::_V1::id&amp;lt;1&amp;gt;)'
error: backend compiler failed build.

error: Double type is not supported on this platform.
in kernel: 'typeinfo name for main::'lambda'(sycl::_V1::handler&amp;amp;)::operator()(sycl::_V1::handler&amp;amp;) const::'lambda'(sycl::_V1::id&amp;lt;1&amp;gt;)'
error: backend compiler failed build.

error: Double type is not supported on this platform.
in kernel: 'typeinfo name for main::'lambda'(sycl::_V1::handler&amp;amp;)::operator()(sycl::_V1::handler&amp;amp;) const::'lambda'(sycl::_V1::id&amp;lt;1&amp;gt;)'
error: backend compiler failed build.

error: Double type is not supported on this platform.
in kernel: 'typeinfo name for main::'lambda'(sycl::_V1::handler&amp;amp;)::operator()(sycl::_V1::handler&amp;amp;) const::'lambda'(sycl::_V1::id&amp;lt;1&amp;gt;)'
error: backend compiler failed build.
 -11 (PI_ERROR_BUILD_PROGRAM_FAILURE)
Aborted&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I think this is going to be a potential error also when i will run it on FPGA which, by the way, i cannot trigger.&lt;/P&gt;
&lt;P&gt;The command i've run was this one&lt;/P&gt;
&lt;P&gt;qsub -I -l nodes=1:fpga_compile:ppn=2 -d .&lt;/P&gt;
&lt;P&gt;then the compiled file, but the device triggered was the CPU again.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here's the main code:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="cpp"&gt;#include &amp;lt;sycl/sycl.hpp&amp;gt;
#include &amp;lt;sycl/ext/intel/fpga_extensions.hpp&amp;gt;
// #include &amp;lt;oneapi/mkl/blas.hpp&amp;gt;
#include &amp;lt;cmath&amp;gt;
#include &amp;lt;chrono&amp;gt;
#include &amp;lt;iostream&amp;gt;
#include &amp;lt;vector&amp;gt;
#include &amp;lt;cmath&amp;gt;
#include "guideline.h"
#include "print_vector.h"
#include "print_time.h"
#include "read_graph.h"
#include "flatVector.h"


using namespace sycl;

int main(int argc, char* argv[]){
    // Check Command Line
    if(argc &amp;lt; 6){
        // NOT ENOUGH PARAMS BY COMMAND LINE -&amp;gt; PROGRAM HALTS
        guideline();
    }
    else{
        // Command Line parsing
        int device_selected = atoi(argv[1]);
        std::string csv_path = argv[2];
        float threshold = atof(argv[3]);
        float damping = atof(argv[4]);
        int verbose;
        try{verbose = atoi(argv[5]);}
        catch (exception const&amp;amp; e) {verbose = 0;}
        device d;
        // Selezioniamo la piattaforma di accelerazione
        if(device_selected == 1){
            d = device(cpu_selector_v()); //# cpu_selector returns a cpu device
        }
        if(device_selected == 2){
            try {
                d = device(gpu_selector_v());      //# gpu_selector returns a gpu device
            } catch (exception const&amp;amp; e) {
                std::cout &amp;lt;&amp;lt; "Cannot select a GPU\n" &amp;lt;&amp;lt; e.what() &amp;lt;&amp;lt; "\n";
                std::cout &amp;lt;&amp;lt; "Using a CPU device\n";
                d = device(cpu_selector_v());      //# cpu_selector returns a cpu device
            }
        }
        if(device_selected == 3){
            ext::intel::fpga_selector d;
        }
        // Queue
        queue q(d);
        std::cout &amp;lt;&amp;lt; "Device : " &amp;lt;&amp;lt; q.get_device().get_info&amp;lt;info::device::name&amp;gt;() &amp;lt;&amp;lt; "\n"; // print del device
        // Reading and setup Time Calculation
        auto start_setup = std::chrono::steady_clock::now();
        // Graph Retrieval by csv file
        std::vector&amp;lt;std::vector&amp;lt;int&amp;gt;&amp;gt; graph = Read_graph(csv_path);/*Sparse Matrix Representation with the description of each Edge of the Graph*/
        std::vector&amp;lt;int&amp;gt; flatGraph = flatten&amp;lt;int&amp;gt;(graph);
        // Calculation of the # Nodes
        int numNodes  = countNodes(graph);
        // Calculation of the Degree of each node
        std::vector&amp;lt;int&amp;gt; degreesNodes = getDegrees(graph, numNodes+1);
        auto end_setup = std::chrono::steady_clock::now();
        // Setup Execution Time print
        std::cout &amp;lt;&amp;lt; "TIME FOR SETUP" &amp;lt;&amp;lt; "\n";
        print_time(start_setup, end_setup);
        // Check Print
        //printVector&amp;lt;int&amp;gt;(degreesNodes);
        //Creation of Initial and Final Ranks' vectors of PageRank [R(t); R(t+1)]
        std::vector&amp;lt;float&amp;gt; ranks_t(numNodes, (float)(1.0/ (float)(numNodes)));
        std::vector&amp;lt;float&amp;gt; ranks_t_plus_one(numNodes, 0.0);

        // PageRank Execution Time calculation
        auto start = std::chrono::steady_clock::now();
        buffer&amp;lt;int&amp;gt; bufferEdges(flatGraph.data(),flatGraph.size());
        buffer&amp;lt;float&amp;gt; bufferRanks(ranks_t.data(),ranks_t.size());
        buffer&amp;lt;int&amp;gt; bufferDegrees(degreesNodes.data(),degreesNodes.size());
        buffer&amp;lt;float&amp;gt; bufferRanksNext(ranks_t_plus_one.data(),ranks_t_plus_one.size());
        float distance = threshold + 1;
        int graph_size = flatGraph.size();
        while (distance &amp;gt; threshold) {
            q.submit([&amp;amp;](handler &amp;amp;h){
                accessor Edges(bufferEdges,h,read_only);
                accessor Ranks(bufferRanks,h,read_only);
                accessor Degrees(bufferDegrees,h,read_only);
                accessor RanksNext(bufferRanksNext,h,write_only);
                h.parallel_for(range&amp;lt;1&amp;gt;(numNodes),[=] (id&amp;lt;1&amp;gt; i){
                    RanksNext[i] = (1.0 - damping) / numNodes;
                    int index_node_i;
                    int index_node_j;
                    for (int j = 0; j&amp;lt;graph_size;j++) {
                        index_node_i = 2 * j;
                        index_node_j = index_node_i + 1;
                        if (Edges[index_node_j] == i) {
                            RanksNext[i] += damping * Ranks[Edges[index_node_i]] / Degrees[Edges[index_node_i]];
                        }
                    }
                });
            });
            distance = 0;
            for (int i = 0; i &amp;lt; numNodes; i++) {
                distance += (ranks_t[i] - ranks_t_plus_one[i]) * (ranks_t[i] - ranks_t_plus_one[i]);
            }
            distance = sqrt(distance);
            ranks_t_plus_one = ranks_t;
        }
        auto end = std::chrono::steady_clock::now();
        // PageRank Results Printing
        if(verbose == 1){printVector(ranks_t_plus_one);}
        std::cout&amp;lt;&amp;lt;std::endl&amp;lt;&amp;lt;std::endl&amp;lt;&amp;lt;std::endl;
        std::cout&amp;lt;&amp;lt;"Final Norm:\t"&amp;lt;&amp;lt;distance&amp;lt;&amp;lt;std::endl;
        // PageRank Execution Time Printing
        std::cout &amp;lt;&amp;lt; "TIME FOR PAGERANK" &amp;lt;&amp;lt; "\n";
        print_time(start, end);

    }
    return 0;
}&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Can anyone help me?&amp;nbsp; Thank you in advance!&lt;/P&gt;</description>
      <pubDate>Fri, 03 Feb 2023 11:27:34 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Compiled-program-Works-on-CPU-but-not-in-GPU-FPGA-and-cannot/m-p/1453024#M2769</guid>
      <dc:creator>Alechiove</dc:creator>
      <dc:date>2023-02-03T11:27:34Z</dc:date>
    </item>
    <item>
      <title>Re: Compiled program Works on CPU but not in GPU/FPGA and cannot trigger FPGA</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Compiled-program-Works-on-CPU-but-not-in-GPU-FPGA-and-cannot/m-p/1453869#M2771</link>
      <description>&lt;P&gt;little edit of the code since i saw some conceptual errors on how i wrote the pagerank algorithm:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="cpp"&gt;q.submit([&amp;amp;](handler &amp;amp;h){
                accessor Edges(bufferEdges,h,read_only);
                accessor Ranks(bufferRanks,h,read_only);
                accessor Degrees(bufferDegrees,h,read_only);
                accessor RanksNext(bufferRanksNext,h,write_only);
                h.parallel_for(range&amp;lt;1&amp;gt;(numNodes),[=] (id&amp;lt;1&amp;gt; i){
                    RanksNext[i] = (1.0 - damping) / numNodes;
                    int index_node_i;
                    int index_node_j;
                    for (int j = 0; j&amp;lt;graph_size;j+=2) {
                        index_node_i = j;
                        index_node_j = j + 1;
                        if (Edges[index_node_j] == i) {
                            RanksNext[i] += damping * Ranks[Edges[index_node_i]] / Degrees[Edges[index_node_i]];
                        }
                    }
                });
            }).wait();&lt;/LI-CODE&gt;
&lt;P&gt;Also, from watching other resources online i found out a way to see the available machines of 1api with this commands&lt;/P&gt;
&lt;P&gt;pbsnodes | grep -B4 gpu&lt;/P&gt;
&lt;P&gt;Which is useful to search for gen9 GPUs, which can accept double. Then, i submit the job with the following command:&lt;/P&gt;
&lt;P&gt;qsub -I -l nodes=&amp;lt;node_with_gen9_GPU&amp;gt;:ppn=2 -d .&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;It Works, but the programs throws this exception after the normal prints which i wanted to have&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;Device : Intel(R) UHD Graphics P630 [0x3e96]
TIME FOR SETUP
Elapsed time in nanoseconds: 9672748170 ns
Elapsed time in microseconds: 9672748 µs
Elapsed time in milliseconds: 9672 ms
Elapsed time in seconds: 9 sec
terminate called after throwing an instance of 'sycl::_V1::runtime_error'
  what():  Native API failed. Native API returns: -1 (PI_ERROR_DEVICE_NOT_FOUND) -1 (PI_ERROR_DEVICE_NOT_FOUND)
Aborted&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;How can i solve these issues? Could they be a problem also by Transporting this program to an FPGA?&lt;/P&gt;
&lt;P&gt;Thank you in advance!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 06 Feb 2023 22:25:30 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Compiled-program-Works-on-CPU-but-not-in-GPU-FPGA-and-cannot/m-p/1453869#M2771</guid>
      <dc:creator>Alechiove</dc:creator>
      <dc:date>2023-02-06T22:25:30Z</dc:date>
    </item>
    <item>
      <title>Re:Compiled program Works on CPU but not in GPU/FPGA and cannot trigger FPGA</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Compiled-program-Works-on-CPU-but-not-in-GPU-FPGA-and-cannot/m-p/1454073#M2775</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Thank you for posting in Intel Communities.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Have you tried calculating RanksNext operation using int datatype inside parallel_for?&amp;nbsp;&lt;/P&gt;&lt;P&gt;We have compiled your source code and did not face any issues. Could you please provide the print_vector.h and run time arguments you were passing?&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Thanks and Regards,&lt;/P&gt;&lt;P&gt;Pendyala Sesha Srinivas&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Tue, 07 Feb 2023 09:59:19 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Compiled-program-Works-on-CPU-but-not-in-GPU-FPGA-and-cannot/m-p/1454073#M2775</guid>
      <dc:creator>SeshaP_Intel</dc:creator>
      <dc:date>2023-02-07T09:59:19Z</dc:date>
    </item>
    <item>
      <title>Re: Compiled program Works on CPU but not in GPU/FPGA and cannot trigger FPGA</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Compiled-program-Works-on-CPU-but-not-in-GPU-FPGA-and-cannot/m-p/1454516#M2778</link>
      <description>Hi!&lt;BR /&gt;Here’s the print_vector.h&lt;BR /&gt;&lt;BR /&gt;include &amp;lt;iostream&amp;gt;&lt;BR /&gt;#include &amp;lt;vector&amp;gt;&lt;BR /&gt;&lt;BR /&gt;template &amp;lt;typename T&amp;gt;&lt;BR /&gt;void printVector(std::vector&amp;lt;T&amp;gt; vector_like_var){&lt;BR /&gt;    for(int i  = 0; i &amp;lt; vector_like_var.size(); i++){&lt;BR /&gt;        std::cout&amp;lt;&amp;lt; "element " &amp;lt;&amp;lt;i+1 &amp;lt;&amp;lt; "of vector:\t" &amp;lt;&amp;lt; vector_like_var[i] &amp;lt;&amp;lt;std::endl;&lt;BR /&gt;    }&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;And here’s the command line argument I passed&lt;BR /&gt;./&amp;lt;executable_name&amp;gt; 2 &amp;lt;csv_path&amp;gt; 3e-5 0.85 0&lt;BR /&gt;&lt;BR /&gt;I can’t pass the csv because they are quite heavy. But every csv containing a list of pairs of nodes should be fine.&lt;BR /&gt;</description>
      <pubDate>Wed, 08 Feb 2023 12:35:22 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Compiled-program-Works-on-CPU-but-not-in-GPU-FPGA-and-cannot/m-p/1454516#M2778</guid>
      <dc:creator>Alechiove</dc:creator>
      <dc:date>2023-02-08T12:35:22Z</dc:date>
    </item>
    <item>
      <title>Re: Compiled program Works on CPU but not in GPU/FPGA and cannot trigger FPGA</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Compiled-program-Works-on-CPU-but-not-in-GPU-FPGA-and-cannot/m-p/1455650#M2809</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Could you please try the whole calculation in the kernel using int datatype and let us know the results?&lt;/P&gt;
&lt;P&gt;I am able to run the executable with a sample csv file on GPU and FPGA after changing the source file. Please find the below screenshot for more details.&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="SeshaP_Intel_0-1676372096988.png" style="width: 400px;"&gt;&lt;img src="https://community.intel.com/t5/image/serverpage/image-id/37999iA0AA6DA181A77C1B/image-size/medium?v=v2&amp;amp;px=400&amp;amp;whitelist-exif-data=Orientation%2CResolution%2COriginalDefaultFinalSize%2CCopyright" role="button" title="SeshaP_Intel_0-1676372096988.png" alt="SeshaP_Intel_0-1676372096988.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;If this does not resolve your issue, could you please send the sample CSV file so that it will be greatly helpful while investigating this case?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks and Regards,&lt;/P&gt;
&lt;P&gt;Pendyala Sesha Srinivas&lt;/P&gt;</description>
      <pubDate>Tue, 14 Feb 2023 10:56:09 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Compiled-program-Works-on-CPU-but-not-in-GPU-FPGA-and-cannot/m-p/1455650#M2809</guid>
      <dc:creator>SeshaP_Intel</dc:creator>
      <dc:date>2023-02-14T10:56:09Z</dc:date>
    </item>
    <item>
      <title>Re: Compiled program Works on CPU but not in GPU/FPGA and cannot trigger FPGA</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Compiled-program-Works-on-CPU-but-not-in-GPU-FPGA-and-cannot/m-p/1455915#M2813</link>
      <description>&lt;P&gt;Hi! thanks for the reply. Unfortunatly, the task of the algorithm is in a domain of problem where i'm constrained to use non-int datatypes.&lt;/P&gt;
&lt;P&gt;I managed to shrink a little the dataset. It's just a collection of edges of a graph described by pairs of nodes separated by a ","&lt;/P&gt;
&lt;P&gt;Anyway, just to make a try, i compiled using the int datatypes, and i still got the same results&lt;/P&gt;
&lt;P&gt;Just to report the logs of the errors when loading to GPUs:&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;&amp;lt;myUser&amp;gt;@s019-n010:~/HPCA_FINAL_PROJECT$ qsub -I -l nodes=s001-n234:ppn=2 -d .
qsub: waiting for job 2194177.v-qsvr-1.aidevcloud to start
qsub: job 2194177.v-qsvr-1.aidevcloud ready


########################################################################
#      Date:           Tue 14 Feb 2023 02:21:49 PM PST
#    Job ID:           2194177.v-qsvr-1.aidevcloud
#      User:           &amp;lt;myUser&amp;gt;
# Resources:           cput=75:00:00,neednodes=s001-n234:ppn=2,nodes=s001-n234:ppn=2,walltime=06:00:00
########################################################################

&amp;lt;myUser&amp;gt;@s001-n234:~/HPCA_FINAL_PROJECT$ ./BUFFER_PageRank 2 "datasets/cit-Patents.csv" 3e-05 0.85 0
Device : Intel(R) UHD Graphics P630 [0x3e96]
TIME FOR SETUP
Elapsed time in nanoseconds: 9587884043 ns
Elapsed time in microseconds: 9587884 µs
Elapsed time in milliseconds: 9587 ms
Elapsed time in seconds: 9 sec
terminate called after throwing an instance of 'sycl::_V1::runtime_error'
  what():  Native API failed. Native API returns: -1 (PI_ERROR_DEVICE_NOT_FOUND) -1 (PI_ERROR_DEVICE_NOT_FOUND)
Aborted&lt;/LI-CODE&gt;
&lt;P&gt;the one above was done after i chose the node having 9 gen GPUs, selected by searching the first one available printed out by the command &lt;EM&gt;&lt;STRONG&gt;pbsnodes | grep -B4 gpu&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;The one under is the one i have by using the classic &lt;EM&gt;&lt;STRONG&gt;qsub -I -l nodes=1:gpu:ppn2 -d .&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;&amp;lt;myUser&amp;gt;@s019-n010:~/HPCA_FINAL_PROJECT$ ./BUFFER_PageRank 2 "datasets/cit-Patents.csv" 3e-05 0.85 0
Device : Intel(R) UHD Graphics [0x9a60]
TIME FOR SETUP
Elapsed time in nanoseconds: 6535755467 ns
Elapsed time in microseconds: 6535755 µs
Elapsed time in milliseconds: 6535 ms
Elapsed time in seconds: 6 sec
terminate called after throwing an instance of 'sycl::_V1::compile_program_error'
  what():  The program was built for 1 devices
Build program log for 'Intel(R) UHD Graphics [0x9a60]':

error: Double type is not supported on this platform.
in kernel: 'typeinfo name for sycl::_V1::detail::RoundedRangeKernel&amp;lt;sycl::_V1::item&amp;lt;1, true&amp;gt;, 1, main::'lambda'(sycl::_V1::handler&amp;amp;)::operator()(sycl::_V1::handler&amp;amp;) const::'lambda'(sycl::_V1::id&amp;lt;1&amp;gt;)&amp;gt;'
error: backend compiler failed build.

error: Double type is not supported on this platform.
in kernel: 'typeinfo name for sycl::_V1::detail::RoundedRangeKernel&amp;lt;sycl::_V1::item&amp;lt;1, true&amp;gt;, 1, main::'lambda'(sycl::_V1::handler&amp;amp;)::operator()(sycl::_V1::handler&amp;amp;) const::'lambda'(sycl::_V1::id&amp;lt;1&amp;gt;)&amp;gt;'
error: backend compiler failed build.

error: Double type is not supported on this platform.
in kernel: 'typeinfo name for sycl::_V1::detail::RoundedRangeKernel&amp;lt;sycl::_V1::item&amp;lt;1, true&amp;gt;, 1, main::'lambda'(sycl::_V1::handler&amp;amp;)::operator()(sycl::_V1::handler&amp;amp;) const::'lambda'(sycl::_V1::id&amp;lt;1&amp;gt;)&amp;gt;'
error: backend compiler failed build.

error: Double type is not supported on this platform.
in kernel: 'typeinfo name for sycl::_V1::detail::RoundedRangeKernel&amp;lt;sycl::_V1::item&amp;lt;1, true&amp;gt;, 1, main::'lambda'(sycl::_V1::handler&amp;amp;)::operator()(sycl::_V1::handler&amp;amp;) const::'lambda'(sycl::_V1::id&amp;lt;1&amp;gt;)&amp;gt;'
error: backend compiler failed build.

error: Double type is not supported on this platform.
in kernel: 'typeinfo name for sycl::_V1::detail::RoundedRangeKernel&amp;lt;sycl::_V1::item&amp;lt;1, true&amp;gt;, 1, main::'lambda'(sycl::_V1::handler&amp;amp;)::operator()(sycl::_V1::handler&amp;amp;) const::'lambda'(sycl::_V1::id&amp;lt;1&amp;gt;)&amp;gt;'
error: backend compiler failed build.

error: Double type is not supported on this platform.
in kernel: 'typeinfo name for main::'lambda'(sycl::_V1::handler&amp;amp;)::operator()(sycl::_V1::handler&amp;amp;) const::'lambda'(sycl::_V1::id&amp;lt;1&amp;gt;)'
error: backend compiler failed build.

error: Double type is not supported on this platform.
in kernel: 'typeinfo name for main::'lambda'(sycl::_V1::handler&amp;amp;)::operator()(sycl::_V1::handler&amp;amp;) const::'lambda'(sycl::_V1::id&amp;lt;1&amp;gt;)'
error: backend compiler failed build.

error: Double type is not supported on this platform.
in kernel: 'typeinfo name for main::'lambda'(sycl::_V1::handler&amp;amp;)::operator()(sycl::_V1::handler&amp;amp;) const::'lambda'(sycl::_V1::id&amp;lt;1&amp;gt;)'
error: backend compiler failed build.

error: Double type is not supported on this platform.
in kernel: 'typeinfo name for main::'lambda'(sycl::_V1::handler&amp;amp;)::operator()(sycl::_V1::handler&amp;amp;) const::'lambda'(sycl::_V1::id&amp;lt;1&amp;gt;)'
error: backend compiler failed build.

error: Double type is not supported on this platform.
in kernel: 'typeinfo name for main::'lambda'(sycl::_V1::handler&amp;amp;)::operator()(sycl::_V1::handler&amp;amp;) const::'lambda'(sycl::_V1::id&amp;lt;1&amp;gt;)'
error: backend compiler failed build.

error: Double type is not supported on this platform.
in kernel: 'typeinfo name for sycl::_V1::detail::RoundedRangeKernel&amp;lt;sycl::_V1::item&amp;lt;1, true&amp;gt;, 1, main::'lambda'(sycl::_V1::handler&amp;amp;)::operator()(sycl::_V1::handler&amp;amp;) const::'lambda'(sycl::_V1::id&amp;lt;1&amp;gt;)&amp;gt;'
error: backend compiler failed build.

error: Double type is not supported on this platform.
in kernel: 'typeinfo name for sycl::_V1::detail::RoundedRangeKernel&amp;lt;sycl::_V1::item&amp;lt;1, true&amp;gt;, 1, main::'lambda'(sycl::_V1::handler&amp;amp;)::operator()(sycl::_V1::handler&amp;amp;) const::'lambda'(sycl::_V1::id&amp;lt;1&amp;gt;)&amp;gt;'
error: backend compiler failed build.

error: Double type is not supported on this platform.
in kernel: 'typeinfo name for sycl::_V1::detail::RoundedRangeKernel&amp;lt;sycl::_V1::item&amp;lt;1, true&amp;gt;, 1, main::'lambda'(sycl::_V1::handler&amp;amp;)::operator()(sycl::_V1::handler&amp;amp;) const::'lambda'(sycl::_V1::id&amp;lt;1&amp;gt;)&amp;gt;'
error: backend compiler failed build.

error: Double type is not supported on this platform.
in kernel: 'typeinfo name for sycl::_V1::detail::RoundedRangeKernel&amp;lt;sycl::_V1::item&amp;lt;1, true&amp;gt;, 1, main::'lambda'(sycl::_V1::handler&amp;amp;)::operator()(sycl::_V1::handler&amp;amp;) const::'lambda'(sycl::_V1::id&amp;lt;1&amp;gt;)&amp;gt;'
error: backend compiler failed build.

error: Double type is not supported on this platform.
in kernel: 'typeinfo name for sycl::_V1::detail::RoundedRangeKernel&amp;lt;sycl::_V1::item&amp;lt;1, true&amp;gt;, 1, main::'lambda'(sycl::_V1::handler&amp;amp;)::operator()(sycl::_V1::handler&amp;amp;) const::'lambda'(sycl::_V1::id&amp;lt;1&amp;gt;)&amp;gt;'
error: backend compiler failed build.

error: Double type is not supported on this platform.
in kernel: 'typeinfo name for main::'lambda'(sycl::_V1::handler&amp;amp;)::operator()(sycl::_V1::handler&amp;amp;) const::'lambda'(sycl::_V1::id&amp;lt;1&amp;gt;)'
error: backend compiler failed build.

error: Double type is not supported on this platform.
in kernel: 'typeinfo name for main::'lambda'(sycl::_V1::handler&amp;amp;)::operator()(sycl::_V1::handler&amp;amp;) const::'lambda'(sycl::_V1::id&amp;lt;1&amp;gt;)'
error: backend compiler failed build.

error: Double type is not supported on this platform.
in kernel: 'typeinfo name for main::'lambda'(sycl::_V1::handler&amp;amp;)::operator()(sycl::_V1::handler&amp;amp;) const::'lambda'(sycl::_V1::id&amp;lt;1&amp;gt;)'
error: backend compiler failed build.

error: Double type is not supported on this platform.
in kernel: 'typeinfo name for main::'lambda'(sycl::_V1::handler&amp;amp;)::operator()(sycl::_V1::handler&amp;amp;) const::'lambda'(sycl::_V1::id&amp;lt;1&amp;gt;)'
error: backend compiler failed build.

error: Double type is not supported on this platform.
in kernel: 'typeinfo name for main::'lambda'(sycl::_V1::handler&amp;amp;)::operator()(sycl::_V1::handler&amp;amp;) const::'lambda'(sycl::_V1::id&amp;lt;1&amp;gt;)'
error: backend compiler failed build.
 -11 (PI_ERROR_BUILD_PROGRAM_FAILURE)
Aborted&lt;/LI-CODE&gt;</description>
      <pubDate>Tue, 14 Feb 2023 22:33:21 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Compiled-program-Works-on-CPU-but-not-in-GPU-FPGA-and-cannot/m-p/1455915#M2813</guid>
      <dc:creator>Alechiove</dc:creator>
      <dc:date>2023-02-14T22:33:21Z</dc:date>
    </item>
    <item>
      <title>Re: Compiled program Works on CPU but not in GPU/FPGA and cannot trigger FPGA</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Compiled-program-Works-on-CPU-but-not-in-GPU-FPGA-and-cannot/m-p/1456838#M2822</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Please find the below-modified source file&amp;nbsp;which was compiled and executed without any errors on CPU, GPU, and FPGA.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;#include &amp;lt;sycl/sycl.hpp&amp;gt;
#include &amp;lt;sycl/ext/intel/fpga_extensions.hpp&amp;gt;
#include &amp;lt;cmath&amp;gt;
#include &amp;lt;chrono&amp;gt;
#include &amp;lt;iostream&amp;gt;
#include &amp;lt;vector&amp;gt;
#include &amp;lt;cmath&amp;gt;
#include "guideline.h"
#include "print_vector.h"
#include "print_time.h"
#include "read_graph.h"
#include "flatVector.h"

using namespace sycl;
using namespace std;
int main(int argc, char* argv[])
{
    // Check Command Line
    if(argc &amp;lt; 6)
    {
        // NOT ENOUGH PARAMS BY COMMAND LINE -&amp;gt; PROGRAM HALTS
        guideline();
    }
    else{
        // Command Line parsing
        int device_selected = atoi(argv[1]);
        std::string csv_path = argv[2];
        float threshold = atof(argv[3]);
        float damping = atof(argv[4]);
        int verbose;
        try{verbose = atoi(argv[5]);}
        catch (std::exception const&amp;amp; e) {verbose = 0;}
        device d;
        // Selezioniamo la piattaforma di accelerazione
        if(device_selected == 1)
        {
            d = device(cpu_selector_v); //# cpu_selector returns a cpu device
        }
        if(device_selected == 2)
        {
            try 
            {
                d = device(gpu_selector_v);      //# gpu_selector returns a gpu device
            } catch (std::exception const&amp;amp; e) 
            {
                std::cout &amp;lt;&amp;lt; "Cannot select a GPU\n" &amp;lt;&amp;lt; e.what() &amp;lt;&amp;lt; "\n";
                std::cout &amp;lt;&amp;lt; "Using a CPU device\n";
                d = device(cpu_selector_v);      //# cpu_selector returns a cpu device
            }
        }
        if(device_selected == 3)
        {
            d = device(ext::intel::fpga_emulator_selector());
        }
        queue q(d);
        std::cout &amp;lt;&amp;lt; "Device : " &amp;lt;&amp;lt; q.get_device().get_info&amp;lt;info::device::name&amp;gt;() &amp;lt;&amp;lt; "\n"; // print del device
        // Reading and setup Time Calculation
        auto start_setup = std::chrono::steady_clock::now();
        // Graph Retrieval by csv file
        std::vector&amp;lt;std::vector&amp;lt;int&amp;gt;&amp;gt; graph = Read_graph(csv_path);/*Sparse Matrix Representation with the description of each Edge of the Graph*/
        std::vector&amp;lt;int&amp;gt; flatGraph = flatten&amp;lt;int&amp;gt;(graph);
        // Calculation of the # Nodes
        int numNodes  = countNodes(graph);
        // Calculation of the Degree of each node
        std::vector&amp;lt;int&amp;gt; degreesNodes = getDegrees(graph, numNodes+1);
        auto end_setup = std::chrono::steady_clock::now();
        // Setup Execution Time print
        std::cout &amp;lt;&amp;lt; "TIME FOR SETUP" &amp;lt;&amp;lt; "\n";
        print_time(start_setup, end_setup);
        // Check Print
        //printVector&amp;lt;int&amp;gt;(degreesNodes);
        //Creation of Initial and Final Ranks' vectors of PageRank [R(t); R(t+1)]
        std::vector&amp;lt;float&amp;gt; ranks_t(numNodes, (float)(1.0/ (float)(numNodes)));
        std::vector&amp;lt;float&amp;gt; ranks_t_plus_one(numNodes, 0.0);
        std::vector&amp;lt;float&amp;gt; ranksDifferences(numNodes, 0.0);

        // PageRank Execution Time calculation
        auto start = std::chrono::steady_clock::now();
        buffer&amp;lt;int&amp;gt; bufferEdges(flatGraph.data(),flatGraph.size());
        buffer&amp;lt;float&amp;gt; bufferRanks(ranks_t.data(),ranks_t.size());
        buffer&amp;lt;int&amp;gt; bufferDegrees(degreesNodes.data(),degreesNodes.size());
        buffer&amp;lt;float&amp;gt; bufferRanksNext(ranks_t_plus_one.data(),ranks_t_plus_one.size());
        buffer&amp;lt;float&amp;gt; bufferRanksDifferences(ranksDifferences.data(),ranksDifferences.size());
        float distance = threshold + 1;
        int graph_size = flatGraph.size();
        std::cout&amp;lt;&amp;lt;"graph_size = "&amp;lt;&amp;lt;graph_size&amp;lt;&amp;lt;"\n";
        std::cout&amp;lt;&amp;lt;"damping = "&amp;lt;&amp;lt;damping&amp;lt;&amp;lt;"\n";
        std::cout&amp;lt;&amp;lt;"numNodes = "&amp;lt;&amp;lt;numNodes&amp;lt;&amp;lt;"\n";
        
            
        int T = 1;
        while (distance &amp;gt; threshold) {
            q.submit([&amp;amp;](handler &amp;amp;h){
                accessor Edges(bufferEdges,h,read_only);
                accessor Ranks(bufferRanks,h,read_only);
                accessor Degrees(bufferDegrees,h,read_only);
                accessor RanksNext(bufferRanksNext,h,read_write);
                accessor RanksDifferences(bufferRanksDifferences,h,read_write);
                auto out = stream(1024, 256, h);
                h.parallel_for(range(numNodes), [=](auto i)
                               { 
                    
                    RanksNext[i] = (1 - damping) / numNodes;
                    int index_node_i;
                    int index_node_j;
                    for (int j = 0; j&amp;lt;graph_size;j+=2) 
                    {
                        index_node_i = j;
                        index_node_j = j + 1;
                        if (Edges[index_node_j] == i) 
                        {
                            RanksNext[i] = RanksNext[i] + damping * Ranks[Edges[index_node_i]] / Degrees[Edges[index_node_i]];
                        }
                    }
                    RanksDifferences[i] = (RanksNext[i] - Ranks[i]) * (RanksNext[i] - Ranks[i]);
                });
            }).wait();
            
                distance = 0.0;
            for (int i = 0; i &amp;lt; numNodes; i++) 
            {
                distance = distance + ranksDifferences[i];
                ranks_t[i] = ranks_t_plus_one[i];
                ranks_t_plus_one[i] = 0.0;
            }
            
            distance = sqrt(distance);
            
            std::cout&amp;lt;&amp;lt; "Time:\t" &amp;lt;&amp;lt; T &amp;lt;&amp;lt; "\tEuclidian Distance:\t" &amp;lt;&amp;lt; distance &amp;lt;&amp;lt; std::endl;
            T=T+1;
        }
        auto end = std::chrono::steady_clock::now();
        // PageRank Results Printing
        if(verbose == 1){
            for(int i = 0;i&amp;lt;ranks_t.size();i++){
                std::cout&amp;lt;&amp;lt;"Final Vector" &amp;lt;&amp;lt; i&amp;lt;&amp;lt; "-th component:\t"&amp;lt;&amp;lt;ranks_t[i]&amp;lt;&amp;lt;std::endl;
            }
        }
        std::cout&amp;lt;&amp;lt;std::endl&amp;lt;&amp;lt;std::endl&amp;lt;&amp;lt;std::endl;
        std::cout&amp;lt;&amp;lt;"Final Norm:\t"&amp;lt;&amp;lt;distance&amp;lt;&amp;lt;std::endl;
        // PageRank Execution Time Printing
        std::cout &amp;lt;&amp;lt; "TIME FOR PAGERANK" &amp;lt;&amp;lt; "\n";
        print_time(start, end);

    }
    return 0;
}&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Hope this resolves your issue.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks and Regards,&lt;/P&gt;
&lt;P&gt;Pendyala Sesha Srinivas&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 17 Feb 2023 05:37:50 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Compiled-program-Works-on-CPU-but-not-in-GPU-FPGA-and-cannot/m-p/1456838#M2822</guid>
      <dc:creator>SeshaP_Intel</dc:creator>
      <dc:date>2023-02-17T05:37:50Z</dc:date>
    </item>
    <item>
      <title>Re: Compiled program Works on CPU but not in GPU/FPGA and cannot trigger FPGA</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Compiled-program-Works-on-CPU-but-not-in-GPU-FPGA-and-cannot/m-p/1456905#M2826</link>
      <description>&lt;P&gt;Hi, Thanks for the reply.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I just tried it on a GPU and i still got the same errors as above&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;terminate called after throwing an instance of 'sycl::_V1::runtime_error'
  what():  Native API failed. Native API returns: -1 (PI_ERROR_DEVICE_NOT_FOUND) -1 (PI_ERROR_DEVICE_NOT_FOUND)
Aborted&lt;/LI-CODE&gt;
&lt;P&gt;i think that maybe then i am doing something wrong during compilation time.&lt;/P&gt;
&lt;P&gt;Could you pass me the lines you wrote on the terminal to see if i'm doing the things correctly?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I'm doing like this&lt;/P&gt;
&lt;P&gt;if i'm working from terminal:&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;ssh devcloud&lt;/LI-CODE&gt;
&lt;P&gt;Else, if i'm working with jupyter notebook of devcloud&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;qsub -I

cd &amp;lt;FolderProject&amp;gt;

icpx -fsycl main.cpp -o BUFFER_PageRank&lt;/LI-CODE&gt;
&lt;P&gt;*FOR CPU*&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;./BUFFER_PageRank 1 "&amp;lt;datasetPath&amp;gt;" 3e-05 0.85 0
&lt;/LI-CODE&gt;
&lt;P&gt;*FOR GPU*&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;qsub -I -l nodes=1:gpu:ppn=2 -d .

./BUFFER_PageRank 2 "&amp;lt;datasetPath&amp;gt;" 3e-05 0.85 0&lt;/LI-CODE&gt;
&lt;P&gt;*FOR FPGA*&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;qsub -I -l nodes=1:fpga_compile:ppn=2 -d .

./BUFFER_PageRank 3 "&amp;lt;datasetPath&amp;gt;" 3e-05 0.85 0&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;So, just to clarify, i'm compiling once on the CPU job. Then, i'm using the same executable also for GPU and FPGA.&lt;/P&gt;
&lt;P&gt;Am i doing this wrong?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 17 Feb 2023 10:55:07 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Compiled-program-Works-on-CPU-but-not-in-GPU-FPGA-and-cannot/m-p/1456905#M2826</guid>
      <dc:creator>Alechiove</dc:creator>
      <dc:date>2023-02-17T10:55:07Z</dc:date>
    </item>
    <item>
      <title>Re: Compiled program Works on CPU but not in GPU/FPGA and cannot trigger FPGA</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Compiled-program-Works-on-CPU-but-not-in-GPU-FPGA-and-cannot/m-p/1457489#M2834</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;After connecting to the devcloud, you can access a node that has an Intel CPU device.&lt;/P&gt;
&lt;P&gt;For compiling the source file you can use the below command.&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;icpx -fsycl main.cpp&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;For accessing an Intel GPU device in a node and compiling the source file you can use the below commands.&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;qsub -I -l nodes=1:gpu:ppn=2 -d .
icpx -fsycl main.cpp&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;For accessing an Intel FPGA device in a node and compiling the source file you can use the below commands.&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;qsub -I -l nodes=1:fpga:ppn=2 -d .
icpx -fsycl -fintelfpga main.cpp&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The generated executables will be different after compiling on GPU and FPGA devices.&lt;/P&gt;
&lt;P&gt;Hope this resolves your issue.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks and Regards,&lt;/P&gt;
&lt;P&gt;Pendyala Sesha Srinivas&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 20 Feb 2023 10:02:18 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Compiled-program-Works-on-CPU-but-not-in-GPU-FPGA-and-cannot/m-p/1457489#M2834</guid>
      <dc:creator>SeshaP_Intel</dc:creator>
      <dc:date>2023-02-20T10:02:18Z</dc:date>
    </item>
    <item>
      <title>Re:Compiled program Works on CPU but not in GPU/FPGA and cannot trigger FPGA</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Compiled-program-Works-on-CPU-but-not-in-GPU-FPGA-and-cannot/m-p/1458970#M2846</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Has the information provided above helped? If yes, could you please confirm whether we can close this thread from our end?&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Thanks and Regards,&lt;/P&gt;&lt;P&gt;Pendyala Sesha Srinivas&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Fri, 24 Feb 2023 09:21:05 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Compiled-program-Works-on-CPU-but-not-in-GPU-FPGA-and-cannot/m-p/1458970#M2846</guid>
      <dc:creator>SeshaP_Intel</dc:creator>
      <dc:date>2023-02-24T09:21:05Z</dc:date>
    </item>
    <item>
      <title>Re: Compiled program Works on CPU but not in GPU/FPGA and cannot trigger FPGA</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Compiled-program-Works-on-CPU-but-not-in-GPU-FPGA-and-cannot/m-p/1459887#M2859</link>
      <description>&lt;P&gt;Hi!&lt;/P&gt;
&lt;P&gt;Actually no, i already tried all of the combos of the commands you gave me on the devcloud and i couldn't run on GPU or FPGA neither.&lt;/P&gt;
&lt;P&gt;Anyway, i found out a way to run locally some experiments with other GPUs and it seems to work, even if the results differ from the ones i obtained with the CPUs (i will open a thread about it and close this one).&lt;/P&gt;
&lt;P&gt;I think the problem in my case is that some of the drivers, environment or Configs of the GPUs/OneAPI that i have adopted locally differ from the ones that you adopt on the devcloud.&lt;/P&gt;
&lt;P&gt;Is there a way to check envs/gpu specs?&lt;/P&gt;
&lt;P&gt;Thanks!&lt;/P&gt;</description>
      <pubDate>Mon, 27 Feb 2023 21:22:01 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Compiled-program-Works-on-CPU-but-not-in-GPU-FPGA-and-cannot/m-p/1459887#M2859</guid>
      <dc:creator>Alechiove</dc:creator>
      <dc:date>2023-02-27T21:22:01Z</dc:date>
    </item>
    <item>
      <title>Re: Compiled program Works on CPU but not in GPU/FPGA and cannot trigger FPGA</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Compiled-program-Works-on-CPU-but-not-in-GPU-FPGA-and-cannot/m-p/1462146#M2876</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Please find the modified source file below which I was able to compile and execute without any errors on CPU, GPU, and FPGA.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;#include &amp;lt;sycl/sycl.hpp&amp;gt;
#include &amp;lt;sycl/ext/intel/fpga_extensions.hpp&amp;gt;
#include &amp;lt;cmath&amp;gt;
#include &amp;lt;chrono&amp;gt;
#include &amp;lt;iostream&amp;gt;
#include &amp;lt;vector&amp;gt;
#include &amp;lt;cmath&amp;gt;
#include "guideline.h"
#include "print_vector.h"
#include "print_time.h"
#include "read_graph.h"
#include "flatVector.h"

using namespace sycl;
using namespace std;

int main(int argc, char* argv[])
{
    // Check Command Line
    if(argc &amp;lt; 6)
    {
        // NOT ENOUGH PARAMS BY COMMAND LINE -&amp;gt; PROGRAM HALTS
        guideline();
    }
    
    else
    {
        // Command Line parsing
        int device_selected = atoi(argv[1]);
        std::string csv_path = argv[2];
        float threshold = atof(argv[3]);
        float damping = atof(argv[4]);
        int verbose;
        try{verbose = atoi(argv[5]);}
        catch (std::exception const&amp;amp; e) {verbose = 0;}
        device d;
        // Selezioniamo la piattaforma di accelerazione
        if(device_selected == 1)
        {
            d = device(cpu_selector_v); //# cpu_selector returns a cpu device
        }
        if(device_selected == 2){
            try 
            {
                d = device(gpu_selector_v);      //# gpu_selector returns a gpu device
            } catch (std::exception const&amp;amp; e) {
                std::cout &amp;lt;&amp;lt; "Cannot select a GPU\n" &amp;lt;&amp;lt; e.what() &amp;lt;&amp;lt; "\n";
                std::cout &amp;lt;&amp;lt; "Using a CPU device\n";
                d = device(cpu_selector_v);      //# cpu_selector returns a cpu device
            }
        }
        if(device_selected == 3){
            d = device(ext::intel::fpga_emulator_selector());
        }
        queue q(d);
        std::cout &amp;lt;&amp;lt; "Device : " &amp;lt;&amp;lt; q.get_device().get_info&amp;lt;info::device::name&amp;gt;() &amp;lt;&amp;lt; "\n"; // print del device
        // Reading and setup Time Calculation
        auto start_setup = std::chrono::steady_clock::now();
        // Graph Retrieval by csv file
        std::vector&amp;lt;std::vector&amp;lt;int&amp;gt;&amp;gt; graph = Read_graph(csv_path);/*Sparse Matrix Representation with the description of each Edge of the Graph*/
        //std::vector&amp;lt;int&amp;gt; flatGraph = flatten&amp;lt;int&amp;gt;(graph,numNodes);
        // Calculation of the # Nodes
        int numNodes  = countNodes(graph);
        
        std::vector&amp;lt;int&amp;gt; flatGraph = flatten&amp;lt;int&amp;gt;(graph);
        // Calculation of the Degree of each node
        std::vector&amp;lt;int&amp;gt; degreesNodes = getDegrees(graph, numNodes+1);
        auto end_setup = std::chrono::steady_clock::now();
        // Setup Execution Time print
        std::cout &amp;lt;&amp;lt; "TIME FOR SETUP" &amp;lt;&amp;lt; "\n";
        print_time(start_setup, end_setup);
        // Check Print
        //printVector&amp;lt;int&amp;gt;(degreesNodes);
        //Creation of Initial and Final Ranks' vectors of PageRank [R(t); R(t+1)]
        std::vector&amp;lt;float&amp;gt; ranks_t(numNodes, (float)(1.0f/ (float)(numNodes)));
        std::vector&amp;lt;float&amp;gt; ranks_t_plus_one(numNodes, 0.0);
        std::vector&amp;lt;float&amp;gt; ranksDifferences(numNodes, 0.0);

        // PageRank Execution Time calculation
        auto start = std::chrono::steady_clock::now();
        buffer&amp;lt;int&amp;gt; bufferEdges(flatGraph.data(),flatGraph.size());
        buffer&amp;lt;float&amp;gt; bufferRanks(ranks_t.data(),ranks_t.size());
        buffer&amp;lt;int&amp;gt; bufferDegrees(degreesNodes.data(),degreesNodes.size());
        buffer&amp;lt;float&amp;gt; bufferRanksNext(ranks_t_plus_one.data(),ranks_t_plus_one.size());
        buffer&amp;lt;float&amp;gt; bufferRanksDifferences(ranksDifferences.data(),ranksDifferences.size());
        float distance = threshold + 1;
        int graph_size = flatGraph.size();
        std::cout&amp;lt;&amp;lt;"graph_size = "&amp;lt;&amp;lt;graph_size&amp;lt;&amp;lt;"\n";
        std::cout&amp;lt;&amp;lt;"damping = "&amp;lt;&amp;lt;damping&amp;lt;&amp;lt;"\n";
        std::cout&amp;lt;&amp;lt;"numNodes = "&amp;lt;&amp;lt;numNodes&amp;lt;&amp;lt;"\n";

        int T = 1;
        
        bufferRanksDifferences.get_access&amp;lt;access::mode::write&amp;gt;()[range(numNodes)] = 0.0f;

        while (distance &amp;gt; threshold) {
            q.submit([&amp;amp;](handler &amp;amp;h){
                accessor Edges(bufferEdges,h,read_only);
                accessor Ranks(bufferRanks,h,read_only);
                accessor Degrees(bufferDegrees,h,read_write);
                accessor RanksNext(bufferRanksNext,h,read_write);
                accessor RanksDifferences(bufferRanksDifferences,h,read_write);
                auto out = stream(1024, 256, h);
                
                h.parallel_for(range(numNodes), [=](auto i){
                    RanksNext[i] = (1.0f - damping) / numNodes;
                    int index_node_i;
                    int index_node_j;
                    for (int j = 0; j&amp;lt;graph_size;j+=2) 
                    {
                        index_node_i = j;
                        index_node_j = j + 1;
                        if (Edges[index_node_j] == i) 
                        {
                            RanksNext[i] += damping * Ranks[Edges[index_node_i]] / Degrees[Edges[index_node_i]];
                        }
                    }
                    RanksDifferences[i] = (RanksNext[i] - Ranks[i]) * (RanksNext[i] - Ranks[i]);               
                });
                
            }).wait();
            
            distance = 0.0f;
            for (int i=0; i &amp;lt; numNodes; i++) 
            {
                distance += ranksDifferences[i];
                ranks_t[i] = ranks_t_plus_one[i];
                ranks_t_plus_one[i] = 0.0f;
            }
            distance = sqrt(distance);
            std::cout&amp;lt;&amp;lt; "Time:\t" &amp;lt;&amp;lt; T &amp;lt;&amp;lt; "\tEuclidian Distance:\t" &amp;lt;&amp;lt; distance &amp;lt;&amp;lt; std::endl;
            T++;
            
        }
        
        auto end = std::chrono::steady_clock::now();
        // PageRank Results Printing
        if(verbose == 1)
        {
            for(int i = 0;i&amp;lt;ranks_t.size();i++)
            {
                std::cout&amp;lt;&amp;lt;"Final Vector" &amp;lt;&amp;lt; i&amp;lt;&amp;lt; "-th component:\t"&amp;lt;&amp;lt;ranks_t[i]&amp;lt;&amp;lt;std::endl;
            }
        }
        
        std::cout&amp;lt;&amp;lt;std::endl&amp;lt;&amp;lt;std::endl&amp;lt;&amp;lt;std::endl;
        std::cout&amp;lt;&amp;lt;"Final Norm:\t"&amp;lt;&amp;lt;distance&amp;lt;&amp;lt;std::endl;
        // PageRank Execution Time Printing
        std::cout &amp;lt;&amp;lt; "TIME FOR PAGERANK" &amp;lt;&amp;lt; "\n";
        print_time(start, end);

    }
    return 0;
}&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Please find the modified dataset and steps followed below.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;For CPU:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;qsub -I
cd &amp;lt;Path/to/project&amp;gt;
icpx -fsycl main.cpp -o cpu_out.exe
./cpu_out.exe 1 "datasets/cit-Patents.csv" 3e-5 0.85 0&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;For GPU:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;qsub -I -l nodes=1:gpu:ppn=2 -d .
cd &amp;lt;Path/to/project&amp;gt;
icpx -fsycl main.cpp -o gpu_out.exe
./gpu_out.exe 2 "datasets/cit-Patents.csv" 3e-5 0.85 0&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;For FPGA:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;qsub -I -l nodes=1:fpga:ppn=2 -d .
cd &amp;lt;Path/to/project&amp;gt;
icpx -fsycl -fintelfpga main.cpp -o fpga_out.exe
./fpga_out.exe 3 "datasets/cit-Patents.csv" 3e-5 0.85 0&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;To view the environment variables, type "&lt;STRONG&gt;export&lt;/STRONG&gt;" in the command line to display all environment variables set on your system.&lt;/P&gt;
&lt;P&gt;To get the devices information, enter the below command in the command line.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;clinfo&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Please run the below commands which display the GPU specifications of the system.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;lspci | grep -i vga
lshw -C display&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Please let us know if you face any issues in the Intel Devcloud.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks and Regards,&lt;/P&gt;
&lt;P&gt;Pendyala Sesha Srinivas&lt;/P&gt;</description>
      <pubDate>Mon, 06 Mar 2023 11:45:19 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Compiled-program-Works-on-CPU-but-not-in-GPU-FPGA-and-cannot/m-p/1462146#M2876</guid>
      <dc:creator>SeshaP_Intel</dc:creator>
      <dc:date>2023-03-06T11:45:19Z</dc:date>
    </item>
    <item>
      <title>Re:Compiled program Works on CPU but not in GPU/FPGA and cannot trigger FPGA</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Compiled-program-Works-on-CPU-but-not-in-GPU-FPGA-and-cannot/m-p/1464893#M2891</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Has the information provided above helped? If yes, could you please confirm whether we can close this thread from our end?&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Thanks and Regards,&lt;/P&gt;&lt;P&gt;Pendyala Sesha Srinivas&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Mon, 13 Mar 2023 07:02:06 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Compiled-program-Works-on-CPU-but-not-in-GPU-FPGA-and-cannot/m-p/1464893#M2891</guid>
      <dc:creator>SeshaP_Intel</dc:creator>
      <dc:date>2023-03-13T07:02:06Z</dc:date>
    </item>
    <item>
      <title>Re:Compiled program Works on CPU but not in GPU/FPGA and cannot trigger FPGA</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Compiled-program-Works-on-CPU-but-not-in-GPU-FPGA-and-cannot/m-p/1467007#M2921</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;We assume that your issue is resolved. If you need any additional information, please post a new question as this thread will no longer be monitored by Intel.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;Thanks and Regards,&lt;/P&gt;&lt;P&gt;Pendyala Sesha Srinivas&lt;/P&gt;&lt;BR /&gt;</description>
      <pubDate>Fri, 17 Mar 2023 10:59:05 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Compiled-program-Works-on-CPU-but-not-in-GPU-FPGA-and-cannot/m-p/1467007#M2921</guid>
      <dc:creator>SeshaP_Intel</dc:creator>
      <dc:date>2023-03-17T10:59:05Z</dc:date>
    </item>
    <item>
      <title>Re: Re:Compiled program Works on CPU but not in GPU/FPGA and cannot trigger FPGA</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Compiled-program-Works-on-CPU-but-not-in-GPU-FPGA-and-cannot/m-p/1540462#M3386</link>
      <description>&lt;P&gt;&lt;SPAN&gt;Hello,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Was the solution to this problem ever found&amp;nbsp; I also encounter this when running any of the FPGA examples on DevCloud -&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;./vector-add-buffers.fpga&lt;BR /&gt;Running on device: pac_a10 : Intel PAC Platform (pac_eb00000)&lt;BR /&gt;Vector size: 10000&lt;BR /&gt;An exception is caught for vector add.&lt;BR /&gt;terminate called after throwing an instance of 'sycl::_V1::runtime_error'&lt;BR /&gt;what(): Invalid device program image: size is zero -30 (PI_ERROR_INVALID_VALUE)&lt;BR /&gt;Aborted (core dumped)&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Thanks,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Mike&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 03 Nov 2023 20:46:55 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Compiled-program-Works-on-CPU-but-not-in-GPU-FPGA-and-cannot/m-p/1540462#M3386</guid>
      <dc:creator>MikeP123</dc:creator>
      <dc:date>2023-11-03T20:46:55Z</dc:date>
    </item>
    <item>
      <title>Re: Re:Compiled program Works on CPU but not in GPU/FPGA and cannot trigger FPGA</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Compiled-program-Works-on-CPU-but-not-in-GPU-FPGA-and-cannot/m-p/1544368#M3420</link>
      <description>&lt;P class=""&gt;Update.&amp;nbsp; The problem for me turned out to be the compilation step. I had been specifying -DFPGA_DEVICE=Arria10, but this is the correct way to do it -&lt;/P&gt;&lt;P class=""&gt;&amp;nbsp;&lt;/P&gt;&lt;P class=""&gt;cmake .. -DFPGA_DEVICE=/opt/intel/oneapi/intel_a10gx_pac:pac_a10&lt;/P&gt;&lt;P class=""&gt;&amp;nbsp;&lt;/P&gt;&lt;P class=""&gt;-Mike&lt;/P&gt;</description>
      <pubDate>Wed, 15 Nov 2023 22:37:20 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Compiled-program-Works-on-CPU-but-not-in-GPU-FPGA-and-cannot/m-p/1544368#M3420</guid>
      <dc:creator>MikeP123</dc:creator>
      <dc:date>2023-11-15T22:37:20Z</dc:date>
    </item>
  </channel>
</rss>

