兼论spatial和simulink,PTX及其他

兼论spatial和simulink,PTX及其他

从工匠(工程师)的角度看,并行计算的构造最直观的一种方式共享内存的构架,从计算上讲就是数据级并行,比如单指令多数据流SIMD。

这种构造可以是从应用层来看,也可以是底层的硬件实现,比如cpu,gpu,dsp,fpga的芯片构架,或者现场总线,也可以是实时操作系统和中间并发软件所模拟的并行计算效果,MPI所模拟的分布式并行效果等等。

从工匠的角度看,这里面其实并没有太多新奇的原理,更多的是一些自然的设计。

 

从计算的角度看,我更愿意统一到控制论常说的差分方程组上来。

simulink虽然作为matlab的一个子品牌和紧密协作体存在,但是simulink和matlab的方向是截然不同的。

窃以为,simulink究其后台的实现语义,其实就是一个差分方程组。

所谓计算不过是差分方程组的步进。这种计算的本质,与用什么芯片,什么操作系统没有关系。方程组本身是并行的,就是可以同时计算的,互不干涉的。

而通常我们涉及到的这些方案,不过是在不同层面去实现这些计算。

比如PTX,本质上不过是GPU的多核并行与共享内存之间的关系。

MPI无非是用消息来模拟分布在多个机器上的内存,对应用程序来说,感觉不出来,内存在本地还是在远端。

而simulink不过是用图形和matlab脚本来表达这些差分方程组,几乎是跟差分方程组一一映射。当然这模型可以存储成xml和matlab脚本结合的一种文本形式。

由于xml的笨拙和掺杂了一些图形表示的内容,以至于显得其本身不过是一个差分方程组变得不那么明显了。

matlab本身没有采取静态强类型,simulink过于体现图形化,这些都降低了研发的效率,但是不管怎么说,simulink是最接近差分方程组的。这方面Labview和PLC的阶梯图要差很多。

SCADE实际上也是基于差分方程的,但是非常严格限制的强类型。

spatial是一种披着scala外壳的专门的并行计算语言,它从语义上支持并行计算和流水线式计算。并且提供一种机制把这种计算直接翻译成数字逻辑电路。

CUDA也是一种并行计算的语言,但是显得没有那么纯粹了,虽然更实用,它主要是用共享内存和计算核这样的东西来表达并行计算的,也就是说它生成的对象还是一个软件和硬件的结合体,而不是像spatial这样直接变成硬件。

目前看起来C++和scala都有很强的类型检查和编译时元编程能力,比较符合控制系统的高可靠性要求,因为问题暴露在编译时,是一个基本要求。

ADA语言虽然也很不错,但是缺点在于生态相对封闭。过于封闭的生态对于语言的推广和发展是一个严重缺陷。

 开放的生态,可以使得语言的演进能够发挥群体的智慧。个体的智慧哪怕是一个巨无霸企业的智慧,最后还是会钳制语言的发展。

就并行计算本身来说,spatial给出了非常有潜力的途径。即从应用层的并行计算原语,直达芯片硬件电路硬编码,并暗示了另外一些可能,比如应用层并行计算原语转化为串行计算,比如并发计算的可能性,从而起到应用层和实现层分离的效果。

 作者提出一个纲领,就是设计一种强类型和非常方便进行类型组合的,强编译时检查,支持纯函数,原生支持差分方程,基于文本的,并行的,确定性的,开放式的设计语言。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/931801.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

做门户网站需要什么条件wordpress侧边文本轮播图片

Part.1 背景 近年来,汽车行业蓬勃发展,一度出现供不应求的现象。在汽车零配件、整车大规模制造的过程中,为了降本增效,提升产品质量,工厂急需完成自动化升级。随着人工智能的发展,越来越多的生产环节引入机…

怎么做简单网站首页北京网站怎么优化

本次分享将讲述如何在Python中对多个list的对应元素求和,前提是每个list的长度一样。比如:a[1,2,3], b[2,3,4], c[3,4,5], 对a,b,c的对应元素求和,输出应为[6,9,12].    方法一:   直接求解,按照对应元素相加的…

# Java方法学习:动手动脑与课后实验整理

这两周学了Java方法相关内容,攒了不少练习题和实验作业,整理成博客记录一下,也方便以后复习的时候回看~ 一、动手动脑小练习自定义随机数生成器 之前一直用Math.random()或者Random类生成随机数,这次老师要求用指定…

CF2155D Batteries

给定 \(n\) 个电池,其中 \(a\) 个是有效的,但是你不知道 \(a\) 的值,每次你可以选择两个电池进行询问,可以得知他们两个是否都有效。 要求在 \(\left\lfloor\dfrac{n^2}{a}\right\rfloor\) 次询问内找出至少一对有…

网站搜索引擎优化建议学校专业群建设专题网站

到这里,我们需要整理一下之前学习的epoll模型,并根据之前的epoll模型,提出弊端,进而整理epoll反应堆模型,进一步深刻理解,这是因为epoll实在是太重要了。 复习之前的epoll的整体流程以及思路。 参考之前写…

网站怎么伪静态网站上线是前端还是后端来做

目录 1.CString数据转化为int类型数据 2.int类型转化为CString类型数据 3.MFC中CString数据类型 转换为std::string数据类型 4.MFC中std::string数据类型 转换为CString数据类型 1.CString数据转化为int类型数据 在MFC中,将CString类型数据转换为int类型数据&a…

电商门户网站最美情侣免费观看

Jvm垃圾回收器cms和g1区别 G1垃圾回收器(Garbage First)和CMS (Concurrent Mark-Sweep)垃圾回收器是Java虚拟机(JVM))中的两种不同的垃圾回收策略,它们各有优缺点。以下是两者的比较…

北流做网站网页制作工具按其制作方式可分为

1、python介绍及与其它开发语言比较: 相比C、Java运行慢,但是代码简介,可以减小学习成本,加快项目进度。跨平台,支持Linux和Windows。 C语言是所有高级语言的基础,若要研究python语言的原理,需要…

JAVA语法基础》动手动脑与实验问题全整理

一、枚举类型(Enum)核心问题:枚举是基本数据类型还是引用类型?验证方法:使用和equals()比较枚举值。结论:枚举是引用类型,但相同值的枚举变量指向同一个对象,因此和equals()比较结果相同。 二、变量屏蔽…

崩铁壁纸

本人(KK_SpongeBob)蒟蒻,写不出好文章,但转载请注明原文链接:https://www.cnblogs.com/OIer-QAQ/p/19129921

PotPlayer 播放器

PotPlayer 播放器 快捷键 快进(左右) 音量(上下)

国内的平面设计网站wordpress配置网络

1. 题目 我们有一个项的集合&#xff0c;其中第 i 项的值为 values[i]&#xff0c;标签为 labels[i]。 我们从这些项中选出一个子集 S&#xff0c;这样一来&#xff1a; |S| < num_wanted对于任意的标签 L&#xff0c;子集 S 中标签为 L 的项的数目总满足 < use_limit…

10.8动手动孬

代码展示了方法重载的特殊之处,具体分析如下:特殊点:存在两个名为 square 的方法,一个接收 int 类型参数,返回 int 类型;另一个接收 double 类型参数,返回 double 类型。 原理:方法重载是指在同一个类中,允许…

[迷宫寻路 Round 3] 七连击

转化题意:求将一段序列划分为8段,求所有方案的前七段的每一段gcd的和的和. 首先朴素的dp很容易想到,设\(dp(i,j)\)为将前\(i\)位划分为前\(j\)段的答案,\(g(i,j)\)为将前\(i\)位划分为前\(j\)段的方案数. 于是有 \[\b…

Flink03-学习-套接字分词流自动写入工具 - 实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

[笔记]树论笔记+做题记录

树的性质树上任意两点间恰有一条简单路径。树上所有节点度数和为 \(O(n)\) 的。树上 \(m\) 个点两两产生的 LCA 去重后不超过 \(m-1\) 个。Proof:考虑找 LCA 的过程,两个点向上跳,重合时合并成一个点。最后剩下 \(1…

云服务器部署大数据组件

大数据集群规划hw101 hw102 hw103HDFS NameNodeDataNode DataNode SecondaryNameNodeDataNodeYARN NodeManager ResourceManagerNodeManager NodeManagerZookeeper QuorumPeerMain QuorumPeerMain QuorumPeerMainHive …

做a视频网站有哪些要制作自己的网站需要什么

目录 LNMP部署--nginx 搭建mysql数据库 安装mysql的过程&#xff1a; 部署PHP&#xff1a; ​编辑​编辑php的配置文件在哪 wordpress程序安装 LNMP部署--nginx 纯净--联网状态 环境变量中没有nginx 安装形式的选择&#xff1a; yum安装&#xff1a;自动下载安装包及…

wordpress金融网站模板正能量网站免费入口有限公司

华为云与伙伴共同打造联合解决方案 已成为更多企业的数字化转型利器 1月恒驰上云规划实施解决方案 完成上市宣讲并正式上架华为云官网 恒驰上云规划实施解决方案能力全景图&#xff1a;融合厂商云服务能力&#xff0c;一站式高效云迁移 从深入了解企业的本地IT环境、业务特点…

网页制作与网站建设技术大全 pdf公司形象vi设计

目录 一.基本查询回顾 二. 多表查询 三.自连接 四.子查询 1.单行子查询 2.多行子查询 3.多列子查询 4.在from子句中使用子查询 5.合并查询 一.基本查询回顾 准备数据库&#xff1a; 查询工资高于500或岗位为MANAGER的雇员&#xff0c;同时还要满足他们的姓名首字母为…