当前位置:首页 > 嵌入式 > 嵌入式硬件
[导读]如果您曾在过去两年中购买过智能手机,那么很有可能您的手机里就有多个CPU子处理器 (核)。手机包装盒上很可能标注着“双核”或“四核”!事实上,2013年

如果您曾在过去两年中购买过智能手机,那么很有可能您的手机里就有多个CPU子处理器 (核)。手机包装盒上很可能标注着“双核”或“四核”!事实上,2013年是这个行业具有里程碑意义的一年,因为在这一年中多核移动终端的数量超越了PC和服务器的数量。

多核可以帮助应用程序飞速运行,但前提是这个应用程序在编写时充分利用了多核的优势——而当今大部分应用程序并没有做到这一点。

这是因为针对多核的编程难度更大,它要求开发人员在其应用程序中重构算法设计,并考虑其算法的并行化。对许多开发人员来说,表达一个并行算法不同部分之间的关系和依赖性,是多核编程最困难的一个方面。开发并行编程最常用的技巧是多线程。在线程少的软件项目中,实施和管理多线程是可行的,但这可能对更复杂的算法和工作负载的开发效率有很大的负面影响。

去年,美国高通技术公司推出了一个新的编程库,将助力开发人员使用C++编程语言更轻松地实现多核并行,特别是在Android移动平台上。Qualcomm® MARE(多核异步运行环境)提供了一个可以简化并行应用程序编程的API,使开发者可以利用现代智能手机的全部计算性能。两个最先采用Qualcomm MARE的Android应用程序是以及中科创达公司(中国)的UCAM应用和Euvision Technologies(美国)公司的Impala应用。

中科创达利用了Qualcomm MARE的 API工具构建其UCAM应用,该程序目前可以在Google Play上下载,截至目前全球下载量超过3千万。UCAM采用Qualcomm MARE执行并行实时图像滤镜功能,用户可以选择任一滤镜应用在自己的照片上。并行处理可以加快GIF动画的创建,最终也能使用户从照片中巧妙地切割出人脸或人像,并把他们放置在不同的背景中。

执行并行实时滤镜功能时,中科创达所使用的代码数量比传统多线程(POSIX线程)少80%,而且实现的性能比其在UCAM应用程序中自己管理线程要高的多。

“将Qualcomm MARE应用于我们的UCAM全能相机应用,使我们能够非常快速地在各层级的Android终端上充分利用多核CPU性能。我们只需要编写一小部分代码,用于图像过滤以及实施MARE与C++ POSIX线程的照片处理场景,就能获得卓越的性能。” 中科创达工程部高级副总裁邹鹏程说。

Euvision Technologies公司的全新Android应用程序Impala是一个终端相机解决方案,提供了可视化场景识别和照片场景分类。它使用机器学习技术在终端上实现了人工智能。Euvision这样描述它:

将相机对准时,它甚至能在实际拍照之前识别出即将拍摄的场景。场景识别通过运行在用户手机上的人工智能实现。

基于智能拍照摄像头“所看到的景象”,类似Instagram的滤镜会自动启用。选定的滤镜均已为常用的拍摄场景而优化。例如,将相机对准拍摄人物时,“Forever Young”(永葆青春)滤镜自动开启,仿佛在您朋友的脸上敷上一层抗皱保湿面膜。

此外,一旦相机检测到您要拍摄一把蓝莓或肉桂片司康饼,它将自动启用“Now It's Tasty”(即刻美味可口)滤镜。拍摄建筑物或古迹时,所谓的“Empire State”(帝国大厦)滤镜将会开启。该滤镜最适合室外场景,因为它通过改变光线,使图像看上去更加冷艳。

Impala Mobile研发部负责人Daniel Fontijne表示:“Euvision Technologies公司的Impala移动应用程序中的场景识别软件是并行开发的。用Qualcomm MARE更新我们的软件来最大化这种并行性可谓轻而易举。MARE的另一大优势是可适用于大多数主流平台。它还能实现近乎线性的加速,使我们能够在 Android终端上运行实时场景识别。”

Impala等应用需要连续执行大量代码才能做到实时观看、思考并向您提供操作建议。要想在体验上毫无延迟感,则需要消耗大量的计算。通过安装Qualcomm MARE的数据库和API,Impala能够做到这一点!

Qualcomm MARE可用于任何搭载多核处理器的Android终端上运行的应用程序。Qualcomm MARE SDK也可用于Linux、Windows或OS X,可使编程人员在转移到移动平台之前,在一个熟悉的环境中开发和调试他们的应用程序
 

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

罗德与施瓦茨与SmartViser携手开发了一种用于测试符合欧盟销售的智能手机和平板电脑的新Energy Efficiency Index(EEI)标签法规的解决方案。该解决方案的核心是R&S CMX500,这是...

关键字: 智能手机 Android iOS

学好电子技术基础知识,如电路基础、模拟电路、数字电路和微机原理。这几门课程都是弱电类专业的必修课程,学会这些后能保证你看懂单片机电路、知道电路的设计思路和工作原理;

关键字: 单片机 编程 电路设计

单片机编程需要使用专门的软件工具,这些工具能够帮助程序员编写、调试和烧录程序到单片机中。以下是一些常用的单片机编程软件:

关键字: 单片机 编程 软件工具

Java语言和C语言是两种不同的编程语言,它们在语法、特性和应用领域上有许多差别。下面将详细介绍Java语言和C语言之间的差异以及它们各自的技术特点。

关键字: Java语言 C语言 编程

C语言是一种广泛应用于软件开发领域的编程语言。它是由贝尔实验室的Dennis Ritchie在20世纪70年代初创建的,旨在为UNIX操作系统的开发提供一种高级编程语言。C语言具有简洁、高效、可移植性强等特点,因此成为了...

关键字: C语言 操作系统 应用程序

嵌入式系统是现代生活中无处不在的一部分。它们包括了我们的家电、汽车、智能手机、医疗设备等等。这些系统的工作必须高效、可靠,因为它们往往控制着生活中的关键方面。而C语言作为一种广泛用于嵌入式系统开发的编程语言,其质量和稳定...

关键字: 嵌入式系统 C语言 编程

在嵌入式系统开发领域中,C语言是使用最广泛的编程语言之一。它具有高效、灵活和可移植的特点,成为嵌入式系统设计师的首选语言。本文将介绍C语言编程的基本概念、特点以及在嵌入式系统开发中的应用。

关键字: 嵌入式系统 C语言 编程

在编程和计算中,运算符优先级是解释和计算表达式的一个关键因素。本文旨在阐述运算符优先级的概念、规则及其在表达式中的应用,以帮助读者更好地理解和运用运算符优先级。

关键字: 表达式 运算符 编程

洛杉矶、马德里和墨西哥城2023年8月30日 /美通社/ -- 如今,父母和看护者越来越担心孩子们的屏幕暴露和屏幕互动。 为指导父母为家人做出理想的屏幕时间决策,排名第一的儿...

关键字: LINGO BSP 应用程序 COM

瓦努阿图维拉港2023年8月28日 /美通社/ -- Vantage(或"Vantage Markets")欣然宣布在Vantage应用程序上推...

关键字: GE AN 信号 应用程序
关闭
关闭