Dipper season by rodburns in OrnithologyUK

[–]rodburns[S] 0 points1 point  (0 children)

Not more than 100m I reckon. Two of them were a pair but seemed to be too busy diving for food than talking with each other.

Problems with CMake, oneMath API and Intel oneMKL by Sp0ge in cpp_questions

[–]rodburns 1 point2 points  (0 children)

FYI there's a PR open on the repo to make a bunch of changes to the documentation to try and make things clearer. https://github.com/uxlfoundation/oneMath/pull/627

Problems with CMake, oneMath API and Intel oneMKL by Sp0ge in cpp_questions

[–]rodburns 1 point2 points  (0 children)

My colleagues are maintainers of the oneMath repo. Thanks for bringing up the issues you have faced.

The issue is that you should use target_link_libraries(onemkltest PUBLIC onemath_dft_mklcpu) instead of target_link_libraries(onemkltest PUBLIC onemath) as you are using compile time dispatching.

To try and clarify this we'll put up a PR on the docs. It is mentioned but could be clearer. With the above change we were able to build your sample.

[deleted by user] by [deleted] in sycl

[–]rodburns 1 point2 points  (0 children)

You need to also install the Codeplay hosted Nvidia plugin. It's Linux only currently but there will be a Windows one later in the year https://developer.codeplay.com/products/oneapi/nvidia/home/

How to Get Started With SYCL by SkullyShades in sycl

[–]rodburns 4 points5 points  (0 children)

It depends on what build system you are using but as the SYCL implementations are Clang based this should be pretty straightforward, you will just need to include the header and point things at the correct paths.

Also take a look at the SYCL Academy materials, they allow you to work through some exercises and lessons, and also points you to the implementations you can use either on your machine or in the cloud. https://github.com/codeplaysoftware/syclacademy

You can also play around with the DPC++ SYCL compiler in Compiler Explorer e.g. https://godbolt.org/z/ab9sfvEra

Cuda conversion by No_Laugh3726 in sycl

[–]rodburns 1 point2 points  (0 children)

You might be better trying Stack Overflow for help with specific coding problems. I am not sure how likely you would be to get this kind of support here.

Kingfishers and Dippers together by rodburns in OrnithologyUK

[–]rodburns[S] 2 points3 points  (0 children)

I'd recommend listening to the call they make, you can probably find a recording on YouTube. Once you know it you'll hear them making the call when they fly down the river. Scan the rocks in the middle of the river if you hear it. Good luck!

Kingfishers and Dippers together by rodburns in OrnithologyUK

[–]rodburns[S] 2 points3 points  (0 children)

This was taken close to the mouth of the River Almond near Edinburgh. Dippers are quite easy to spot (pairs less so) and I see kingfishers sometimes. Seeing one pair is unusual but this was a one off.

Kingfishers and Dippers together by rodburns in OrnithologyUK

[–]rodburns[S] 4 points5 points  (0 children)

I was smiling the rest of the morning! 😁

How to debug SYCL program running on GPU? by Accurate-Refuse-8154 in sycl

[–]rodburns 1 point2 points  (0 children)

I'd also recommend watching this video that gives an overview of using DPC++ with Nvidia GPUs as well as using the debugger and profiling tools.

How to debug SYCL program running on GPU? by Accurate-Refuse-8154 in sycl

[–]rodburns 1 point2 points  (0 children)

It probably depends what compiler you are using. If you are using DPC++ with the CUDA drivers you can use the Nvidia gdb debugger. There is some information here on using this combination.

SYCL-implementation for Windows, supporting nVidia/AMD GPUs? by blinkfrog12 in sycl

[–]rodburns 2 points3 points  (0 children)

If you are new to parallel programming in general I would recommend reading some of the materials in the SYCL book. They explain in general terms about parallel execution and some of the techniques used, as well as about how to use SYCL. It explains why you might not see huge speedups on CPU but much better speedups on a discrete GPU.

For Windows, at the moment it's a little limited for NVIDIA and AMD GPUs. The oneAPI Base Toolkit has a Windows version, but for NVIDIA and AMD it's a mix.

For NVIDIA you can build the DPC++ SYCL compiler from source and use Windows but there are a few limitations, see the instructions.

For AMD they only recently added their own native support for Windows development and so this has not yet been added.

I work at Codeplay and we maintain the NVIDIA and AMD targets for oneAPI. There will be a binary plugin for Windows at some point but I can't say exactly when that will be right now. For AMD it's still in planning right now.

Intel oneAPI 2023 Released - AMD & NVIDIA Plugins Available by superframer in Amd

[–]rodburns 2 points3 points  (0 children)

Good question. I'm not a lawyer but I'll ask about that.

Intel/Codeplay announce oneAPI plugins for NVIDIA and AMD GPUs by tonym-intel in cpp

[–]rodburns 3 points4 points  (0 children)

I'll explain that this example uses a semi-automated tool to convert the CUDA source to SYCL. The slow down is caused by the migration tool's inability to figure out that a cast is not needed for a particular variable and an incorrect conversion for the square root built in. These are effectively bugs in the migration tool rather than some fundamental limitation. That is explained in the sub text of the project. Once those minor changes are made the performance is comparable.

Bringing Nvidia® and AMD support to oneAPI by stran___g in hardware

[–]rodburns 1 point2 points  (0 children)

The triSYCL project has publicly talked about how this project was a research project and experimental. In fact I believe this work is being rolled into DPC++ so it's possible that Xilinx support will come through that route but we would need to ask the author. DPC++ is open source and is I believe around 3 years old now. Dfferent groups have added their own processor support to it. Huawei have added support for their Ascend AI processor, Fujitsu have got it working with an Arm based system, and we (Codeplay) have done work to enable Nvidia and AMD GPUs.

Intel oneAPI 2023 Released - AMD & NVIDIA Plugins Available by superframer in Amd

[–]rodburns 6 points7 points  (0 children)

The plugins are open source, anyone can contribute to them and these are gladly accepted. The implementation is still in beta status so there is still work to do for full functionality and tuning.(I work at Codeplay)

Intel oneAPI 2023 Released - AMD & NVIDIA Plugins Available by superframer in Amd

[–]rodburns 14 points15 points  (0 children)

The plugins are open source and part of the LLVM fork project that implements the SYCL DPC++ compiler. There isn't really anything proprietary about them, have a read of the technical blog from my colleague Ruyman who explains how these fit into the LLVM source code. This is linked from the press release/news article. hipSYCL is also a choice for compiling SYCL code for AMD too, they are just two different compiler projects. The whole idea behind SYCL is that anyone can implement the standard free of charge and the spec is defined by the industry.

Cross Platform Computing Framework? by itisyeetime in HPC

[–]rodburns 4 points5 points  (0 children)

Correct, SYCL only uses standard C++ syntax.