Community
cancel
Showing results for 
Search instead for 
Did you mean: 
nnain1
New Contributor I
474 Views

Queries of devices on my system for DPC++

Jump to solution

My system has linux ubuntu 18.

CPU is Intel® Xeon(R) Silver 4215 CPU @ 2.50GHz × 16  (cascade lake) with two nvidia gpus.

sudo lshw -numeric -C display
  *-display                 
       description: VGA compatible controller
       product: TU102 [TITAN RTX] [10DE:1E02]
       vendor: NVIDIA Corporation [10DE]
       physical id: 0
       bus info: pci@0000:17:00.0
       version: a1
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress vga_controller bus_master cap_list rom
       configuration: driver=nvidia latency=0
       resources: iomemory:38000-37fff iomemory:38000-37fff irq:94 memory:91000000-91ffffff memory:380060000000-38006fffffff memory:380070000000-380071ffffff ioport:7000(size=128) memory:92000000-9207ffff
  *-display
       description: VGA compatible controller
       product: GP107GL [Quadro P400] [10DE:1CB3]
       vendor: NVIDIA Corporation [10DE]
       physical id: 0
       bus info: pci@0000:b3:00.0
       version: a1
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress vga_controller bus_master cap_list rom
       configuration: driver=nvidia latency=0
       resources: irq:93 memory:fa000000-faffffff memory:e0000000-efffffff memory:f0000000-f1ffffff ioport:f000(size=128) memory:fb000000-fb07ffff
 

 

When I run the following code,

#include<CL/sycl.hpp>
#include<iostream>
#include<vector>
#include<string>
using namespace cl::sycl;
int main(int argc, char *argv[]){
        std::vector<device> filtered_device_list;
        int index=0;
        auto platformlist = platform::get_platforms();
        for(auto p : platformlist)
        {
             decltype(p.get_devices(info::device_type::all)) devicelist;
             devicelist = p.get_devices(info::device_type::all);
             for(auto d : devicelist)
             {
                  std::string device_vendor = d.get_info<info::device::vendor>();
                  std::cout<<d.get_info<info::device::name>()<<"\n";
             }
        }
        return 0;
}

the outputs are

Intel(R) FPGA Emulation Device
Intel(R) Xeon(R) Silver 4215 CPU @ 2.50GHz
SYCL host device

OneAPI doesn't work on NvidiaGPUs at this moment.

So these are all devices available for DPC++. I can use only

cpu_selector selector;
default_selector selector;
host_selector selector;

Any advantages of using DPC++ on Cascade lake cpu? How does it make faster?

Tags (1)
0 Kudos
1 Solution
RahulV_intel
Moderator
474 Views

Hi,

As per the link below, Intel® Xeon(R) Silver 4215 CPU does not have an integrated graphics card(iGPU). 

https://ark.intel.com/content/www/us/en/ark/products/193389/intel-xeon-silver-4215-processor-11m-cac...

However, you can optimize your code using AOT compilation with CPU target instruction set(SSE,AVX,AVX512 etc).

 

--Rahul

View solution in original post

7 Replies
RahulV_intel
Moderator
474 Views

Hi Nyan,

Since you know the target device(Intel Xeon with Cascade lake in this case) beforehand, that you'd be targeting, it is advisable to use Ahead of Time(AOT) compilation, which provides the following benefits:

  • No additional compilation time is done when running your application.
  • No just-in-time (JIT) bugs encountered due to compilation for the target device since this step is skipped with AOT compilation.
  • Your final code executing on the target device can be tested as is before you deliver it to end-users.

Note: Data Parallel C++ (DPC++) supports AOT compilation for the following targets: Intel® CPUs, Intel® Processor Graphics Gen9 or above, and Intel® FPGA.

Command to invoke AOT compilation:

//Linux:
dpcpp -c main.cpp
dpcpp -fsycl-targets=spir64_x86_64-unknown-unknown-sycldevice -Xsycl-target-backend "-march=avx2" mandel.cpp main.o

For more information, refer to this link below:

https://software.intel.com/en-us/oneapi-dpcpp-compiler-dev-guide-and-reference-ahead-of-time-compila...

 

--Rahul

    nnain1
    New Contributor I
    474 Views

    Intel Xeon with Cascade lake doesn't have internal GPU like other CPU, HD Graphics 630, for example?

    RahulV_intel
    Moderator
    475 Views

    Hi,

    As per the link below, Intel® Xeon(R) Silver 4215 CPU does not have an integrated graphics card(iGPU). 

    https://ark.intel.com/content/www/us/en/ark/products/193389/intel-xeon-silver-4215-processor-11m-cac...

    However, you can optimize your code using AOT compilation with CPU target instruction set(SSE,AVX,AVX512 etc).

     

    --Rahul

    View solution in original post

    nnain1
    New Contributor I
    474 Views

    Thank you

    RahulV_intel
    Moderator
    474 Views

    You're welcome, Nyan. Let us know if we can close the thread

    nnain1
    New Contributor I
    474 Views

    yes thank you.

    RahulV_intel
    Moderator
    474 Views

    Thanks for the confirmation.

    Reply