OurJS


OurJS-我们的JS, 我们的技术-IT文摘; 专注JS相关领域;
我们热爱编程, 我们热爱技术;我们是高大上, 有品味的码农;

欢迎您订阅我们的技术周刊


我们会向您分享我们精心收集整理的,最新的行业资讯,技术动态,外文翻译,热点文章;
我们使用第三方邮件列表向您推送,我们不保存您的任何个人资料,注重您的隐私,您可以随时退订,

欢迎分享您的观点,经验,技巧,心得

让我们一起找寻程序员的快乐,探索技术, 发现IT人生的乐趣;


本网站使用缓存技术每次加载仅需很小流量, 可在手机中流畅浏览;
如果您发现任何BUG,请即时告知我们: ourjs(at)ourjs.com

Intel: Javascript将全面支持SIMD


分享到
分类 行业动态   关键字 开源   发布 sasasamoa  1402567873886
注意 转载须保留原文链接,译文链接,作者译者等信息。  

由英特尔首席高级工程师穆罕默德·礼萨·哈格哈特著。


注* 在Intel的新型芯片中,JavaScript将有直接操作SIMD的能力,界时JS的性能特别是图像渲染的性能将有大幅度提升(约4倍)。


现代微处理器利用并行性在一个受限的功率预算内实现高性能。通过单指令多数据(Single Instruction, Multiple Data, 即SIMD),处理器通过同时处理多个数据项的相同的操作,在应用程序中利用细粒度的并行性,在高功率效率中实现主要的性能改进。 SIMD特别适用于在图像/音频/视频处理中进行通用计算,包括计算机视觉和感知计算。由于其卓越的电源效率和优良的性能提升,SIMD在现代系统中的作用越来越大。然而,到现在为止,SIMD并没有全面支持JavaScript,这种浏览器的语言或者说“网页的汇编语言幸运的是,这种差距正在缩小。


在和摩斯拉与谷歌一个令人兴奋的合作中,英特尔为JavaScript带来了SIMD。这使得人们有可能开发新类别的的计算密集型应用,如游戏和媒体处理——所有都在JavaScript中——而无需依赖任何原生插件或不可移植的本地代码。 SIMD.JS可以在任何地方运行JavaScript的地方中运行。然而,它将有效地在支持SIMD的平台上更快,效率更高地运行。这既包括客户端平台(浏览器和混合移动HTML5的应用程序),以及运行JavaScript的服务器,例如通过Node.js的V8引擎。


我们已经推出了一套低级别的,可以直接在JavaScript中进行编程SIMD的API。该API可以通过一个JavaScript JIT编译器有效地映射到处理器的SIMD指令当这个处理器有SIMD功能;否则,默认的虚拟机实现将完成这个任务。摩斯拉的Emscripten编译器,通过LLVM编译C + +中的JavaScript,也被改进可以自动生成SIMD代码。该SIMD.JS API是体系结构中立的,并允许高效的SIMD在支持SIMD(例如,英特尔®架构和ARM)的不同的平台执行。

 

该SIMD.JS API实现的一个主要部分已经在火狐浏览器实现,我们对英特尔架构的SIMD的API的全面实施已提交给谷歌浏览器审查。在行动的早期阶段,我们使用float32x4和int32x4 SIMD操作的正在接近400%的速度。下面的屏幕截图显示了一个接近4倍的在计算Mandelbrot集中JavaScrip的性能提升。对我们其他的SIMD基准上,我们得到高达10倍甚至更多的巨大的加速。谷歌,英特尔和摩斯拉正在研究一种TC39 ECMAScript的提案,这将包括的未来JavaScript API SIMD的中的JavaScript标准的ES7版。



有令人振奋的证据表明,SIMD将启用全新的一类应用程序域和JavaScript中的高性能库。在英特尔,我们非常高兴能帮助在网络平台中缩小一直非常重要的性能差距,并一步一步走向完整无缝的跨平台计算。 

 

查看英特尔展示用于O'Reilly Fluent 2014大会的更多信息,包括更多精彩SIMD.JS基准测试结果。 

阅读白皮书,在JavaScript中的SIMD。 

 

参考文献: 

 

EcmaScript strawman 提案 

JavaScript即将支持SIMD ——阿克塞尔Rauschmayer博士先生的博客文章 





原文地址: 点此
社区评论 ( Beta版 )
OnceDoc 您自己的企业内容管理系统——文档、流程、知识库、报表、网盘All In One

访问404页面,寻找丢失儿童
 热门文章 - 分享最多
  1. 是什么让Node.js比Java更快?
  2. 我不想雇佣女性
  3. DevOps:全能开发是如何扼杀程序员的
  4. Google正在拖互联网的后腿
  5. JavaScript中NaN的秘密
  6. Swift的前世今身-创始人的自述
  7. 在JavaScript中创建命名空间的几种写法
  8. 使用集群(recluster)扩展多线程Node.JS
  9. jQuery:在一个回调中处理多个请求
  10. 在JavaScript中判断整型的N种方法
  11. AirJD-简单好用的免费建站工具

 相关阅读 - 行业动态
  1. 技术视点:李纳斯·托沃兹Linux的缔造者
  2. Swift的前世今身-创始人的自述
  3. Linux发展编年表
  4. DevOps:全能开发是如何扼杀程序员的
  5. 索引:像Mongo一样查询IndexedDB
  6. 抽象概念不该获得专利权
  7. 图解Node.js流行趋势,Node在路上
  8. Linux应该作为基础教育的一部分
  9. NPM开始招人了
  10. OpenBSD可能因拖欠电费而关闭

 关键字 - 开源
  1. Mongoose学习参考文档——基础篇
  2. 使用NodeJS搭建邮件自动发送服务器
  3. NodeJS 文件(夹)压缩/解压方案(zip/unzip)-Linux上zip相关命令
  4. 今天的你吃鸡了吗
  5. 几款开源的图形化Redis客户端管理软件
  6. HexGL用HTML5和WebGL实现的3D赛车游戏
  7. Docker究竟是什么,为什么这么流行,它的优点和缺陷有哪些?
  8. 15个最好用的Node.JS后端框架
  9. Node.JS与USB接口通信:检测U盘/移动硬盘插拔事件和发送接数据
  10. 一个程序员是如何搞挂NPM和Node社区的

 欢迎订阅 - 技术周刊

我们热爱编程, 我们热爱技术; 我们是高端, 大气, 上档次, 有品味, 时刻需要和国际接轨的码农; 欢迎您订阅我们的技术周刊; 您只需要在右上角输入您的邮箱即可; 我们注重您的隐私,您可以随时退订.
加入我们吧! 让我们一起找寻码农的快乐,探索技术, 发现IT人生的乐趣;


 关注我们

我们的微信公众号: ourjs-com
打开微信扫一扫即可关注我们:
IT文摘-程序员(码农)技术周刊

ourjs官方微信号