本次技术沙龙邀请到了爱丁堡大学信息学院的教授Bjoern Franke为大家带来分享。他的主要研究领域为嵌入式系统的软件工具,特别是优化及并行化编译器、指令集模拟器等,以及设计空间探索与性能评估工具。
Franke 教授首先简单介绍了研究背景,数据集合在编程中非常重要,但在给定问题域和目标平台上,选择正确的集合并实现并不容易。以层级的结构组织起来的集合框架虽然方便,但会因使用者过度指定集合数据类型,从而限制了实现的灵活性,最终影响应用的性能。
在本次分享中,Franke 教授为大家介绍了他们团队开发的 Collection Skeletons,这个框架为数据集合提供了一种新颖的声明式方式,属性可以被显示地进行选择。Collection Skeletons中已经定义了一系列语义、接口属性,未来还将定义运行时、空间等属性。
Franke 教授团队基于Collection Skeletons 实现了一个 C++ 库,集合的声明类似下图,基于程序接口开发了对应接口属性的成员函数和集合的默认方法。
教授还介绍了并行化来进一步提高性能,其中 Algorithmic Skeletons 的工作非常有趣,教授也提出了一些后续待解决的问题,比如有哪些属性可以从源代码中自动推断出来,现有的属性集是否完整等。
使用这个 C++ 库,Franke 教授团队重写了 benchmarks,并在三个不同的硬件平台 (Intel Desktop、Intel Server、Arm Server) 上进行了实验。结果证明,部分 benchmarks 有性能提升,平均在 2.57 至 2.93 间。
Algorithmic Skel
未来,Franke 教授团队会支持更多的平台,进行更多 Parallel Algorithmic Skeletons 的相关研究,并探索其他的问题域(如图、矩阵等),欢迎感兴趣的小伙伴持续关注!
审核编辑 :李倩
-
编程语言
+关注
关注
10文章
1949浏览量
34893 -
函数
+关注
关注
3文章
4344浏览量
62864 -
数据集
+关注
关注
4文章
1209浏览量
24781
原文标题:活动回顾|编程语言技术沙龙第 23 期:Collection Skeletons: 数据集合的声明式抽象
文章出处:【微信号:编程语言Lab,微信公众号:编程语言Lab】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论