<?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 Thank you for your in Intel® oneAPI DPC++/C++ Compiler</title>
    <link>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Exception-The-program-was-built-for-1-devices/m-p/1125252#M6</link>
    <description>&lt;P&gt;Thank you for your confirmation, you are always welcome to post a new thread if you have any issue.&lt;/P&gt;&lt;P&gt;-Abhishek&lt;/P&gt;</description>
    <pubDate>Mon, 24 Feb 2020 06:05:03 GMT</pubDate>
    <dc:creator>AbhishekD_Intel</dc:creator>
    <dc:date>2020-02-24T06:05:03Z</dc:date>
    <item>
      <title>Exception: The program was built for 1 devices</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Exception-The-program-was-built-for-1-devices/m-p/1125247#M1</link>
      <description>&lt;PRE class="brush:cpp; class-name:dark;"&gt;Hi, I am a developer of AMReX (https://github.com/AMReX-Codes/amrex).  We are currently porting AMReX to use DPC++ as a backend for Intel GPUs.  For development, we are running on DevCloud.  If I compile the following code with "-O0" and link to AMReX, an exception, "The program was built or 1 devices", is caught at runtime.  The code below has no calls to any AMReX functions. But it runs fine if I compile it with "-O3".  So why is this happening?  What does the exception message mean?  I have put the test code with a makefile at &lt;A href="https://github.com/WeiqunZhang/dpcpp/tree/master/exception" target="_blank"&gt;https://github.com/WeiqunZhang/dpcpp/tree/master/exception&lt;/A&gt;.

Thanks!

Weiqun

#include &amp;lt;CL/sycl.hpp&amp;gt;
namespace sycl = cl::sycl;

int main (int argc, char* argv[])
{
    {
        sycl::gpu_selector my_selector;
        sycl::device my_device(my_selector);
        sycl::context my_context(my_device);
        sycl::ordered_queue q(my_context, my_selector);
        try {
            q.submit([&amp;amp;] (sycl::handler&amp;amp; h) {
                h.parallel_for(sycl::nd_range&amp;lt;1&amp;gt;(sycl::range&amp;lt;1&amp;gt;(8),sycl::range&amp;lt;1&amp;gt;(8)),
                [=] (sycl::nd_item&amp;lt;1&amp;gt; item)
                {
                    //
                });
            });
        } catch (sycl::exception const&amp;amp; ex) {
            std::cout &amp;lt;&amp;lt; "sycl::exception caught: " &amp;lt;&amp;lt; ex.what() &amp;lt;&amp;lt; std::endl;
        }
    }
    std::cout &amp;lt;&amp;lt; "End of program\n";
}
&lt;/PRE&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 15 Feb 2020 04:56:28 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Exception-The-program-was-built-for-1-devices/m-p/1125247#M1</guid>
      <dc:creator>Weiqun_Z_</dc:creator>
      <dc:date>2020-02-15T04:56:28Z</dc:date>
    </item>
    <item>
      <title>Hi Weiqun,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Exception-The-program-was-built-for-1-devices/m-p/1125248#M2</link>
      <description>&lt;P&gt;Hi&amp;nbsp;Weiqun,&lt;/P&gt;&lt;P&gt;We build the&amp;nbsp;&lt;A href="https://github.com/AMReX-Codes/amrex"&gt;AMReX&lt;/A&gt;&amp;nbsp;from your specified git location and also tried building the Makefile specified in&amp;nbsp;&lt;STRONG&gt;"https://github.com/WeiqunZhang/dpcpp/tree/master/exception"&amp;nbsp;&lt;/STRONG&gt;with your main.cpp code, but despite having&amp;nbsp;&lt;STRONG&gt;USE_DPCPP = TRUE&amp;nbsp;&lt;/STRONG&gt;in Makefile its selecting g++ compiler and not dpcpp.&lt;/P&gt;&lt;P&gt;Please make changes in MakeFile and resend it to us.&lt;/P&gt;&lt;P&gt;We also&amp;nbsp;manually tried to compile the &lt;STRONG&gt;main.cpp&amp;nbsp;&lt;/STRONG&gt;and linked with AMReX using -O0 and -O3 flag and with working fine, for more details we have specified the commands:&lt;/P&gt;&lt;P&gt;Compiling:&lt;/P&gt;
&lt;PRE class="brush:cpp; class-name:dark;"&gt;dpcpp -Werror=return-type -g -O0  -pthread  -DNDEBUG -DAMREX_GIT_VERSION=\"20.02\" -DBL_GCC_VERSION=7.4.0 -DBL_GCC_MAJOR_VERSION=7 -DBL_GCC_MINOR_VERSION=4 -DAMREX_LAUNCH="" -DAMREX_DEVICE="" -DAMREX_CUDA_FORT_GLOBAL="" -DAMREX_CUDA_FORT_DEVICE="" -DAMREX_CUDA_FORT_HOST="" -DAMREX_CUDA_FORT_HOST_DEVICE="" -DBL_SPACEDIM=3 -DAMREX_SPACEDIM=3 -DBL_FORT_USE_UNDERSCORE -DAMREX_FORT_USE_UNDERSCORE -DBL_Linux -DAMREX_Linux -I. -I../..//Src/Base -c main.cpp -o tmp_build_dir/o/3d.gnu.EXE/main.o
&lt;/PRE&gt;

&lt;P&gt;Linking:&lt;/P&gt;

&lt;PRE class="brush:cpp; class-name:dark;"&gt;dpcpp  -Werror=return-type -g -O0  -pthread  -DNDEBUG -DAMREX_GIT_VERSION=\"20.02\" -DBL_GCC_VERSION=7.4.0 -DBL_GCC_MAJOR_VERSION=7 -DBL_GCC_MINOR_VERSION=4 -DAMREX_LAUNCH="" -DAMREX_DEVICE="" -DAMREX_CUDA_FORT_GLOBAL="" -DAMREX_CUDA_FORT_DEVICE="" -DAMREX_CUDA_FORT_HOST="" -DAMREX_CUDA_FORT_HOST_DEVICE="" -DBL_SPACEDIM=3 -DAMREX_SPACEDIM=3 -DBL_FORT_USE_UNDERSCORE -DAMREX_FORT_USE_UNDERSCORE -DBL_Linux -DAMREX_Linux -I. -I../..//Src/Base -L. -L/usr/lib/gcc/x86_64-linux-gnu/7/ -o main3d.gnu.ex tmp_build_dir/o/3d.gnu.EXE/main.o tmp_build_dir/o/3d.gnu.EXE/AMReX.o tmp_build_dir/o/3d.gnu.EXE/AMReX_error_fi.o tmp_build_dir/o/3d.gnu.EXE/AMReX_BlockMutex.o tmp_build_dir/o/3d.gnu.EXE/AMReX_ParmParse.o tmp_build_dir/o/3d.gnu.EXE/AMReX_parmparse_fi.o tmp_build_dir/o/3d.gnu.EXE/AMReX_Utility.o tmp_build_dir/o/3d.gnu.EXE/AMReX_Random.o tmp_build_dir/o/3d.gnu.EXE/AMReX_DistributionMapping.o tmp_build_dir/o/3d.gnu.EXE/AMReX_ParallelDescriptor.o tmp_build_dir/o/3d.gnu.EXE/AMReX_ForkJoin.o tmp_build_dir/o/3d.gnu.EXE/AMReX_ParallelContext.o tmp_build_dir/o/3d.gnu.EXE/AMReX_VisMF.o tmp_build_dir/o/3d.gnu.EXE/AMReX_Arena.o tmp_build_dir/o/3d.gnu.EXE/AMReX_BArena.o tmp_build_dir/o/3d.gnu.EXE/AMReX_CArena.o tmp_build_dir/o/3d.gnu.EXE/AMReX_DArena.o tmp_build_dir/o/3d.gnu.EXE/AMReX_EArena.o tmp_build_dir/o/3d.gnu.EXE/AMReX_NFiles.o tmp_build_dir/o/3d.gnu.EXE/AMReX_parstream.o tmp_build_dir/o/3d.gnu.EXE/AMReX_GpuLaunch.o tmp_build_dir/o/3d.gnu.EXE/AMReX_GpuControl.o tmp_build_dir/o/3d.gnu.EXE/AMReX_GpuDevice.o tmp_build_dir/o/3d.gnu.EXE/AMReX_GpuUtility.o tmp_build_dir/o/3d.gnu.EXE/AMReX_GpuAsyncArray.o tmp_build_dir/o/3d.gnu.EXE/AMReX_GpuElixir.o tmp_build_dir/o/3d.gnu.EXE/AMReX_FabConv.o tmp_build_dir/o/3d.gnu.EXE/AMReX_FPC.o tmp_build_dir/o/3d.gnu.EXE/AMReX_IntConv.o tmp_build_dir/o/3d.gnu.EXE/AMReX_VectorIO.o tmp_build_dir/o/3d.gnu.EXE/AMReX_Box.o tmp_build_dir/o/3d.gnu.EXE/AMReX_BoxIterator.o tmp_build_dir/o/3d.gnu.EXE/AMReX_IntVect.o tmp_build_dir/o/3d.gnu.EXE/AMReX_IndexType.o tmp_build_dir/o/3d.gnu.EXE/AMReX_Orientation.o tmp_build_dir/o/3d.gnu.EXE/AMReX_Periodicity.o tmp_build_dir/o/3d.gnu.EXE/AMReX_RealBox.o tmp_build_dir/o/3d.gnu.EXE/AMReX_RealVect.o tmp_build_dir/o/3d.gnu.EXE/AMReX_BoxList.o tmp_build_dir/o/3d.gnu.EXE/AMReX_BoxArray.o tmp_build_dir/o/3d.gnu.EXE/AMReX_BoxDomain.o tmp_build_dir/o/3d.gnu.EXE/AMReX_FArrayBox.o tmp_build_dir/o/3d.gnu.EXE/AMReX_IArrayBox.o tmp_build_dir/o/3d.gnu.EXE/AMReX_BaseFab.o tmp_build_dir/o/3d.gnu.EXE/AMReX_MultiFab.o tmp_build_dir/o/3d.gnu.EXE/AMReX_MFCopyDescriptor.o tmp_build_dir/o/3d.gnu.EXE/AMReX_iMultiFab.o tmp_build_dir/o/3d.gnu.EXE/AMReX_FabArrayBase.o tmp_build_dir/o/3d.gnu.EXE/AMReX_MFIter.o tmp_build_dir/o/3d.gnu.EXE/AMReX_CoordSys.o tmp_build_dir/o/3d.gnu.EXE/AMReX_Geometry.o tmp_build_dir/o/3d.gnu.EXE/AMReX_MultiFabUtil.o tmp_build_dir/o/3d.gnu.EXE/AMReX_MultiFabUtil_Perilla.o tmp_build_dir/o/3d.gnu.EXE/AMReX_BCRec.o tmp_build_dir/o/3d.gnu.EXE/AMReX_PhysBCFunct.o tmp_build_dir/o/3d.gnu.EXE/AMReX_BCUtil.o tmp_build_dir/o/3d.gnu.EXE/AMReX_PlotFileUtil.o tmp_build_dir/o/3d.gnu.EXE/AMReX_PlotFileDataImpl.o tmp_build_dir/o/3d.gnu.EXE/AMReX_BLProfiler.o tmp_build_dir/o/3d.gnu.EXE/AMReX_BLBackTrace.o tmp_build_dir/o/3d.gnu.EXE/AMReX_MemPool.o tmp_build_dir/o/3d.gnu.EXE/AMReX_Machine.o tmp_build_dir/o/3d.gnu.EXE/AMReX_constants_mod.o tmp_build_dir/o/3d.gnu.EXE/AMReX_FILCC_3D.o tmp_build_dir/o/3d.gnu.EXE/AMReX_BLutil_F.o tmp_build_dir/o/3d.gnu.EXE/AMReX_BLProfiler_F.o tmp_build_dir/o/3d.gnu.EXE/AMReX_filcc_mod.o tmp_build_dir/o/3d.gnu.EXE/AMReX_omp_mod.o tmp_build_dir/o/3d.gnu.EXE/AMReX_acc_mod.o tmp_build_dir/o/3d.gnu.EXE/AMReX_fort_mod.o tmp_build_dir/o/3d.gnu.EXE/AMReX_error_mod.o tmp_build_dir/o/3d.gnu.EXE/AMReX_parmparse_mod.o tmp_build_dir/o/3d.gnu.EXE/AMReX_string_mod.o tmp_build_dir/o/3d.gnu.EXE/AMReX_bc_types_mod.o tmp_build_dir/o/3d.gnu.EXE/AMReX_io_mod.o tmp_build_dir/o/3d.gnu.EXE/AMReX_ParallelDescriptor_F.o tmp_build_dir/o/3d.gnu.EXE/AMReX_mempool_mod.o  -lgfortran -lquadmath&lt;/PRE&gt;

&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;And for both -O0 and -O3 its working fine.&lt;/P&gt;
&lt;P&gt;Will you send me modified Makefile so that we can debug it more.&lt;/P&gt;
&lt;P&gt;-Abhishek&lt;/P&gt;</description>
      <pubDate>Wed, 19 Feb 2020 14:17:51 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Exception-The-program-was-built-for-1-devices/m-p/1125248#M2</guid>
      <dc:creator>AbhishekD_Intel</dc:creator>
      <dc:date>2020-02-19T14:17:51Z</dc:date>
    </item>
    <item>
      <title>Thanks for looking into this!</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Exception-The-program-was-built-for-1-devices/m-p/1125249#M3</link>
      <description>&lt;P&gt;Thanks for looking into this!&amp;nbsp; The reason turns out to be `-DNDEBUG`, not `-O0` vs. `-O3`.&amp;nbsp; We added `-DNDEBUG` in our make sytem when compiling for non-debug build.&amp;nbsp; If `-DNDEBUG` is not used, it can also be fixed by linking with `/opt/intel/inteloneapi/compiler/latest/linux/lib/libsycl-glibc.o`.&amp;nbsp; Similar things happen for cmath functions too, and it can be fixed by linking with `libsycl-cmath.o`.&amp;nbsp; I am using oneAPI beta4.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Weiqun&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 21 Feb 2020 01:45:48 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Exception-The-program-was-built-for-1-devices/m-p/1125249#M3</guid>
      <dc:creator>Weiqun_Z_</dc:creator>
      <dc:date>2020-02-21T01:45:48Z</dc:date>
    </item>
    <item>
      <title>Hello,</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Exception-The-program-was-built-for-1-devices/m-p/1125250#M4</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;Glad to know your issue is resolved, we will look at your resolution.&lt;/P&gt;&lt;P&gt;-Abhishek&lt;/P&gt;</description>
      <pubDate>Fri, 21 Feb 2020 05:36:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Exception-The-program-was-built-for-1-devices/m-p/1125250#M4</guid>
      <dc:creator>AbhishekD_Intel</dc:creator>
      <dc:date>2020-02-21T05:36:00Z</dc:date>
    </item>
    <item>
      <title>Thank you!  The thread can be</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Exception-The-program-was-built-for-1-devices/m-p/1125251#M5</link>
      <description>&lt;P&gt;Thank you!&amp;nbsp; The thread can be closed now.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 21 Feb 2020 18:00:05 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Exception-The-program-was-built-for-1-devices/m-p/1125251#M5</guid>
      <dc:creator>Weiqun_Z_</dc:creator>
      <dc:date>2020-02-21T18:00:05Z</dc:date>
    </item>
    <item>
      <title>Thank you for your</title>
      <link>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Exception-The-program-was-built-for-1-devices/m-p/1125252#M6</link>
      <description>&lt;P&gt;Thank you for your confirmation, you are always welcome to post a new thread if you have any issue.&lt;/P&gt;&lt;P&gt;-Abhishek&lt;/P&gt;</description>
      <pubDate>Mon, 24 Feb 2020 06:05:03 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-oneAPI-DPC-C-Compiler/Exception-The-program-was-built-for-1-devices/m-p/1125252#M6</guid>
      <dc:creator>AbhishekD_Intel</dc:creator>
      <dc:date>2020-02-24T06:05:03Z</dc:date>
    </item>
  </channel>
</rss>

