Announcing DevitoPRO SYCL Code Generation

High-productivity HPC on Intel GPU Max Series

Featured image

This week at ISC 2024 in Hamburg, we are thrilled to introduce SYCL code generation support for DevitoPRO, specifically optimized for Intel’s Data Center GPU Max 1100 and 1550. This advancement, developed in collaboration with Intel, extends our OpenMP offloading support in open-source Devito and provides a robust SYCL capability essential for delivering high-performance for seismic imaging workloads on Intel GPUs.

SYCL is a versatile C++-based parallel programming framework that facilitates code portability across diverse computing architectures including CPUs, GPUs, and FPGAs from various vendors. The integration of SYCL into DevitoPRO means users can now deploy their existing Devito applications on Intel GPUs effortlessly, only needing to specify a different target architecture allowing just-in-time compilation to reap the performance benefits of SYCL.

This update empowers DevitoPRO users with true performance portability across all major CPU and GPU vendors.

Overview of Devito and DevitoPRO

Devito and DevitoPRO provide high-level abstractions that shield developers from the complexities of porting and optimizing code across different GPU platforms. For HPC specialists, Devito also offers the capability to tweak the generated code, offering further customization. This strategy significantly cuts development time and avoids vendor lock-in, granting users genuine flexibility in their hardware choices.

Devito: A robust, open-source Python-based DSL and compiler, Devito capitalizes on high-level symbolic definitions to produce optimized finite-difference computational kernels across multiple CPU and GPU platforms. Developed initially at Imperial College London in collaboration with the SLIM group at GaTech, Devito supports MPI, OpenMP, and OpenACC, parallel programming models providing a high-productivity solution for both academic and commercial applications.

DevitoPRO: Serving primarily the energy sector, DevitoPRO is an enhanced commercial version of Devito designed for maximizing performance portability in seismic imaging. With the new addition of SYCL code generation for Intel GPUs, DevitoPRO now offers greater adaptability across GPU platforms from all leading vendors.

New Features in DevitoPRO

We continuously refine our code generation through iterative benchmarking against manually optimized codes. This process ensures DevitoPRO not only matches but frequently surpasses the performance of hand-tuned implementations across various GPUs. The new SYCL integration allows for seamless switching between target backends, ensuring application consistency and performance across different architectures. Thanks to Intel’s support, we’ve also incorporated an Intel GPU Max 1100 into our development cluster to boost our testing and optimization capabilities.

Open Source Contributions and OpenMP Support

The open-source iteration of Devito includes OpenMP support for Intel GPUs, broadening its usability across various research and development applications. Our vibrant community on Slack and GitHub is instrumental in continually enhancing Devito, ensuring it stays at the cutting edge of computational science for simulations, inversions, and optimizations based on finite differences.

Conclusion

The introduction of SYCL code generation in DevitoPRO marks a crucial advancement in our mission to deliver high-performance, high-productivity computing solutions across major CPU and GPU platforms. We value and encourage user feedback to further refine and evolve our technologies.

Please contact us for trial licenses or benchmarks of DevitoPRO with the new SYCL capabilities. For more details or to start utilizing the new features of DevitoPRO, visit our website and reach out to our team through the contact links provided.