0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Collection Skeletons: 数据集合的声明式抽象

jf_glM2sZ6i 来源:编程语言Lab 2023-03-07 11:30 次阅读

本次技术沙龙邀请到了爱丁堡大学信息学院的教授Bjoern Franke为大家带来分享。他的主要研究领域为嵌入式系统的软件工具,特别是优化及并行化编译器、指令集模拟器等,以及设计空间探索与性能评估工具。

Franke 教授首先简单介绍了研究背景,数据集合在编程中非常重要,但在给定问题域和目标平台上,选择正确的集合并实现并不容易。以层级的结构组织起来的集合框架虽然方便,但会因使用者过度指定集合数据类型,从而限制了实现的灵活性,最终影响应用的性能。

在本次分享中,Franke 教授为大家介绍了他们团队开发的 Collection Skeletons,这个框架为数据集合提供了一种新颖的声明式方式,属性可以被显示地进行选择。Collection Skeletons中已经定义了一系列语义、接口属性,未来还将定义运行时、空间等属性。

Franke 教授团队基于Collection Skeletons 实现了一个 C++ 库,集合的声明类似下图,基于程序接口开发了对应接口属性的成员函数和集合的默认方法。

bb2d02de-bc71-11ed-bfe3-dac502259ad0.png

教授还介绍了并行化来进一步提高性能,其中 Algorithmic Skeletons 的工作非常有趣,教授也提出了一些后续待解决的问题,比如有哪些属性可以从源代码中自动推断出来,现有的属性集是否完整等。

使用这个 C++ 库,Franke 教授团队重写了 benchmarks,并在三个不同的硬件平台 (Intel Desktop、Intel Server、Arm Server) 上进行了实验。结果证明,部分 benchmarks 有性能提升,平均在 2.57 至 2.93 间。

bb41bb02-bc71-11ed-bfe3-dac502259ad0.png

Algorithmic Skel

未来,Franke 教授团队会支持更多的平台,进行更多 Parallel Algorithmic Skeletons 的相关研究,并探索其他的问题域(如图、矩阵等),欢迎感兴趣的小伙伴持续关注!

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编程语言
    +关注

    关注

    10

    文章

    1949

    浏览量

    34893
  • 函数
    +关注

    关注

    3

    文章

    4344

    浏览量

    62864
  • 数据集
    +关注

    关注

    4

    文章

    1209

    浏览量

    24781

原文标题:活动回顾|编程语言技术沙龙第 23 期:Collection Skeletons: 数据集合的声明式抽象

文章出处:【微信号:编程语言Lab,微信公众号:编程语言Lab】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    java集合干货系列

    `  前言  Java集合是java提供的工具包,包含了常用的数据结构:集合、链表、队列、栈、数组、映射等。Java集合工具包位置是java.util.*  Java
    发表于 12-14 15:11

    嵌入操作系统的通用硬件抽象层设计

    (Hardware Abstraction Layer)的思想。硬件抽象层的引入大大推动了嵌入操作系统的通用程度,为嵌入操作系统的广泛应用提供了可能。然而,目前BSP形式的硬件抽象
    发表于 12-07 10:30

    u*** hid报告描述符collection application和collection physical有什么关系是从属关系吗

    1u*** hid报告描述符collection application和collection physical有什么关系是从属关系吗2collection logical是什么怎么用只听说是和
    发表于 07-20 13:05

    抽象层在嵌入设计中有何作用

    抽象层在嵌入设计中的重要性何为抽象哲学领域科学领域背后的‘始作俑者’嵌入嵌入中是否存在面向对象硬件
    发表于 08-05 07:14

    嵌入ARM开发之自定义数据类型相关资料推荐

    自定义数据类型变量集合常量集合重命名struct(结构体)元素地址连续排列union(共用体)元素共用起始地址enum(枚举)被命名的整型常数集合typedef(
    发表于 12-14 07:19

    嵌入系统硬件抽象层的设计思想简析

    嵌入系统硬件抽象层(HAL & BSP)的设计思想1 前言1.1 层次化思想1.2 模块化思想1.3 对象化思想2 板级支持包(BSP)3 嵌入系统硬件抽象层的原理3.1 硬件
    发表于 02-11 07:49

    HarmonyOS/OpenHarmony应用开发-ArkTS的声明开发范式

    轨迹。状态与数据管理状态数据管理作为基于ArkTS的声明开发范式的特色,通过功能不同的装饰器给开发者提供了清晰的页面更新渲染流程和管道。状态管理包括UI组件状态和应用程序状态,两者协
    发表于 01-17 15:09

    运算放大器电路集合--Op Amp Circuit Coll

    运算放大器电路集合 Op Amp Circuit Collection
    发表于 05-17 11:22 54次下载
    运算放大器电路<b class='flag-5'>集合</b>--Op Amp Circuit Coll

    嵌入操作系统的通用硬件抽象层设计

    摘要 基于嵌入操作系统硬件抽象层理论,设计一种用于嵌入操作系统内核开发的通用硬件抽象层平台。通用硬件抽象层能够为嵌入
    发表于 03-29 15:16 1219次阅读
    嵌入<b class='flag-5'>式</b>操作系统的通用硬件<b class='flag-5'>抽象</b>层设计

    嵌入软件中状态机的抽象与实现

    文中提出了 在嵌入软件中把状态机作为一个独立模块从控制模块中抽象出来的思想 , 描述了 抽象出来的状态机模块 。 并介绍了 如何将这种状态机抽象模块应用到实际项目中 。
    发表于 03-22 15:47 1次下载

    抽象类和接口的区别及用法

    接口只能包含方法声明,而抽象类还可以包含方法的定义。
    发表于 12-28 14:34 1602次阅读

    分析java接口和抽象类区别

    一。抽象类 二。接口 三。抽象类和接口的区别 一。抽象类 在了解抽象类之前,先来了解一下抽象方法。抽象
    发表于 09-27 16:40 0次下载

    JAVA集合类汇总

    多数情况下使用。 二、层次关系 如图所示:图中,实线边框的是实现类,折线边框的是抽象类,而点线边框的是接口 Collection 接口是集合类的根接口,Java中没有提供这个接口的直接的实现类。但是却让其被继承产生了两个接口,就
    的头像 发表于 01-16 11:50 3815次阅读
    JAVA<b class='flag-5'>集合</b>类汇总

    时序设计基本概念之collection

    今天我们要介绍的时序分析基本概念是collection。代表的是一个集合,类似指针。在数字后端工具中,我们可以通过命令get_*来寻找想要的Object。这些get_*命令返回的就是collection。不同类型的object对
    的头像 发表于 11-26 10:30 3860次阅读

    java抽象类可以有普通方法吗

    时使用abstract关键字,我们可以将该方法声明抽象方法。抽象方法没有具体的实现,只是定义了方法的签名。子类继承抽象类后必须实现所有的抽象
    的头像 发表于 11-21 10:22 1635次阅读