Tutorial: SYCL Techniques and Best Practices

Rod Burns, Hugh Delaney, Aksel Alpay, R. Keryell, Igor Vorobtsov
{"title":"Tutorial: SYCL Techniques and Best Practices","authors":"Rod Burns, Hugh Delaney, Aksel Alpay, R. Keryell, Igor Vorobtsov","doi":"10.1145/3585341.3585373","DOIUrl":null,"url":null,"abstract":"The tutors involved in this tutorial have presented multiple times at IWOCL and SYCLcon and have helped to expand and develop the SYCL Academy open source learning materials. This tutorial brings a more advanced set of lessons. The SYCL programming model means heterogeneous programming using C++ is now more accessible than ever. SYCL uses modern standard C++, and it’s a programming model that lets developers support a wide variety of devices (CPUs, GPUs, FPGAs, and more) from a single code base. The growing popularity of this programming model means that developers are eager to understand how to use all the features of SYCL and how to achieve great performance for their code. Gain further expertise of SYCL in a practical environment focused more on writing code than Powerpoint with help from experts in the SYCL community. This tutorial assumes existing knowledge and some experience of using SYCL to develop code for accelerators such as GPUs. The concepts introduced to attendees will cover some of the topics that build on the fundamentals of SYCL including strategies for optimizing code, managing data flow, how to use different memory access patterns, understanding work group sizes, using vectorization, the importance of ND ranges, and making the most of the multiple devices available on your architecture. The majority of the tutorial consists of hands-on coding activities, these exercises have been tried and tested at previous conferences and are regularly updated to improve the learning experience. We anticipate significant improvements to these this year. Almost every short presentation is accompanied by a session where attendees will run through a coding exercise. The tutorial organizers will provide several ways to run through the code examples, either on the attendee’s own laptop where possible, but also in a cloud environment giving access to a hosted multi-GPU system. Attendees can choose to use multiple SYCL compilers and target different processors from multiple vendors. Tutors (confirmation of in person attendance is pending but at least 2-3 tutors will be present):","PeriodicalId":360830,"journal":{"name":"Proceedings of the 2023 International Workshop on OpenCL","volume":"9 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2023-04-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 2023 International Workshop on OpenCL","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3585341.3585373","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0

Abstract

The tutors involved in this tutorial have presented multiple times at IWOCL and SYCLcon and have helped to expand and develop the SYCL Academy open source learning materials. This tutorial brings a more advanced set of lessons. The SYCL programming model means heterogeneous programming using C++ is now more accessible than ever. SYCL uses modern standard C++, and it’s a programming model that lets developers support a wide variety of devices (CPUs, GPUs, FPGAs, and more) from a single code base. The growing popularity of this programming model means that developers are eager to understand how to use all the features of SYCL and how to achieve great performance for their code. Gain further expertise of SYCL in a practical environment focused more on writing code than Powerpoint with help from experts in the SYCL community. This tutorial assumes existing knowledge and some experience of using SYCL to develop code for accelerators such as GPUs. The concepts introduced to attendees will cover some of the topics that build on the fundamentals of SYCL including strategies for optimizing code, managing data flow, how to use different memory access patterns, understanding work group sizes, using vectorization, the importance of ND ranges, and making the most of the multiple devices available on your architecture. The majority of the tutorial consists of hands-on coding activities, these exercises have been tried and tested at previous conferences and are regularly updated to improve the learning experience. We anticipate significant improvements to these this year. Almost every short presentation is accompanied by a session where attendees will run through a coding exercise. The tutorial organizers will provide several ways to run through the code examples, either on the attendee’s own laptop where possible, but also in a cloud environment giving access to a hosted multi-GPU system. Attendees can choose to use multiple SYCL compilers and target different processors from multiple vendors. Tutors (confirmation of in person attendance is pending but at least 2-3 tutors will be present):
教程:SYCL技术和最佳实践
参与本教程的导师曾多次在IWOCL和SYCLcon上发表演讲,并帮助扩展和开发了SYCL学院的开源学习材料。本教程提供了一套更高级的课程。SYCL编程模型意味着使用c++的异构编程现在比以往任何时候都更容易实现。SYCL使用现代标准c++,它是一种编程模型,允许开发人员从单个代码库支持各种设备(cpu、gpu、fpga等)。这种编程模型的日益流行意味着开发人员迫切希望了解如何使用SYCL的所有特性,以及如何为他们的代码实现出色的性能。在SYCL社区专家的帮助下,在更侧重于编写代码而不是Powerpoint的实际环境中获得SYCL的进一步专业知识。本教程假定具有使用SYCL开发加速器(如gpu)代码的现有知识和一些经验。向与会者介绍的概念将涵盖一些建立在SYCL基础之上的主题,包括优化代码的策略、管理数据流、如何使用不同的内存访问模式、理解工作组大小、使用向量化、ND范围的重要性,以及充分利用架构上可用的多个设备。本教程的大部分内容包括动手编码活动,这些练习已经在以前的会议上进行了尝试和测试,并定期更新以改善学习体验。我们预计今年这些方面会有重大改进。几乎每个简短的演讲都伴随着一个会议,与会者将进行编码练习。教程组织者将提供几种方法来运行代码示例,可以在参与者自己的笔记本电脑上运行,也可以在云环境中访问托管的多gpu系统。与会者可以选择使用多个SYCL编译器,并针对来自多个供应商的不同处理器。导师(亲自出席的确认尚未确定,但至少有2-3名导师出席):
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信