POPPUR爱换

标题: 一直一来有个疑问,关于Tegra 3,有用么? [打印本页]

作者: zjycgs    时间: 2012-1-25 21:48
标题: 一直一来有个疑问,关于Tegra 3,有用么?
众所周知,X86平台程序多线程优化非常复杂和麻烦,所以到现在为止,能完全利用四核心甚至六核心的程序很少,现在ARM平台也发展到了4核心,那不管是IOS/安卓/WP平台,它们的应用能利用到多核心的优势吗?为什么现在WP平台微软一直不许硬件商升级到双核心?是不是因为多核心用处不大而且更加耗电?为什么安卓平台的LT18I在流畅度上超越了很多双核机?这是不是说明了一些大家平时都没有关注到或者厂商故意不去提的一面?

希望对ARM平台熟悉的高人给我解惑,谢谢!

作者: GTX999    时间: 2012-1-25 22:04
本帖最后由 GTX999 于 2012-1-25 22:06 编辑

脑残arm饭还期待8核arm秒杀i7呢。楼主不要打击他们嘛。哈哈
作者: gzpony    时间: 2012-1-25 22:12
本帖最后由 gzpony 于 2012-1-25 22:33 编辑

就安卓而言,是基于java虚拟机上运行的。而java虚拟机本身就底层自动支持多核多线程,编程的时候不用特地去照顾多线程就已经跑在多线程上了。
其他的平台有些是原生底层代码的,这些要等程序升级到支持多线程。

X86平台程序多线程优化非常复杂和麻烦--------这话成立是因为历史原因,在原有不支持多线程的平台上增加多线程方式编程,不那么方便和直观。有些设计的时候就为多线程准备的语言平台,比如erlang 这些,支持得非常顺理成章。
作者: hutigers    时间: 2012-1-25 22:20
微软的wp目前系统不支持多核,所以只能用单核
核数提升的性能不是线性的,即1+1<2。比如双核1G,按照有80%效率提升的话,1*2*80%=1.6,紈ho庇
作者: gzpony    时间: 2012-1-25 22:27
本帖最后由 gzpony 于 2012-1-25 22:33 编辑
hutigers 发表于 2012-1-25 22:20
微软的wp目前系统不支持多核,所以只能用单核
核数提升的性能不是线性的,即1+1

性能提升不是线性是原因是因为现在程序一般都有非并行部分,这部分无法通过N个cpu核心一起跑得到N倍的提升。能提升N倍的只是并行部分。有个什么定律的公式说明了这个。

要不就用erlang这样的语言编程吧,别说4核cpu,哪怕400核都可以充分利用好。
作者: hutigers    时间: 2012-1-26 11:08
gzpony 发表于 2012-1-25 22:27
性能提升不是线性是原因是因为现在程序一般都有非并行部分,这部分无法通过N个cpu核心一起跑得到N倍的提升 ...

你跑题了。现在讨论的是平台对于多核心的支持性,而不是语言。另外我很遗憾我打了那么多字,结果论坛就给我留下不到1/5。懒得再打一遍了。
作者: xboxzx    时间: 2012-1-26 11:28
安卓平台的LT18I在流畅度上超越了很多双核机?

这和手机软件优化有关,例如SE我记得内部要求谷歌兼容性测试百分之百过,而三棒只要求60%
作者: coollab    时间: 2012-1-26 11:37
本帖最后由 coollab 于 2012-1-27 18:31 编辑

算了,不懂,退散
作者: nom8393    时间: 2012-1-26 11:38
安卓系统对于多线程的优化只能说是一般,4.0以下的版本用在Tegra3上没有多大区别。
作者: lik    时间: 2012-1-26 15:33
有了多线程的优化之后多核是会降低功耗的, 因为CPU可以在低的频率下运行, 对应的电压也可以降下来, 这样比单核更省电 (功耗=CV^2F). 听一个Kindle fire研发组的人说他们的实际测量结果是双核有可能比单核省40%的电. 不过四核对双核就难说了. 主要是能否有效的实现四核的多线程.
作者: gzpony    时间: 2012-1-26 15:38
lik 发表于 2012-1-26 15:33
有了多线程的优化之后多核是会降低功耗的, 因为CPU可以在低的频率下运行, 对应的电压也可以降下来, 这样比单 ...

实现了多线程后,在双核和4核应该都是一样的运行,不用专门为4核又做一个程序。线程的调度由操作系统完成
作者: solidusmic    时间: 2012-1-26 15:38
说白了,就是
java船小好掉头
x86,积重难返.
作者: gzpony    时间: 2012-1-26 15:57
本帖最后由 gzpony 于 2012-1-26 15:57 编辑
solidusmic 发表于 2012-1-26 15:38
说白了,就是
java船小好掉头
x86,积重难返.

也不是这样,而是java有个虚拟机,隔离了底层部分。所以有些硬件支持在修改升级过java虚拟机后,在上面原来运行的所有代码也获得了这种支持。而且java的设计也相对较晚,多线程这种特性应该早就规划进去了。
作者: wuhao911    时间: 2012-1-26 16:58
本帖最后由 wuhao911 于 2012-1-26 17:00 编辑
gzpony 发表于 2012-1-26 15:38
实现了多线程后,在双核和4核应该都是一样的运行,不用专门为4核又做一个程序。线程的调度由操作系统完成


别扯了,自己去好好找找除了渲染,科学计算这些软件外,哪个是在系统层面实现了您说的自动调度,自动用多线程跑软件,包括您推崇的linux和安卓。
如果真是系统自动调度分配,那么很明显不会出现安卓平台上单线程和2线程测试成绩一样的情况,很明显是软件不支持双线程,系统就更不是您说的自动了。

作者: nom8393    时间: 2012-1-26 17:47
gzpony 发表于 2012-1-25 22:12
就安卓而言,是基于java虚拟机上运行的。而java虚拟机本身就底层自动支持多核多线程,编程的时候不用特地去 ...

你这还是说说的,底层的很多操作都是不支持多线程的,比如I/O操作。
作者: Racca    时间: 2012-1-26 20:09
提示: 作者被禁止或删除 内容自动屏蔽
作者: gzpony    时间: 2012-1-26 21:20
本帖最后由 gzpony 于 2012-1-26 21:21 编辑
wuhao911 发表于 2012-1-26 16:58
别扯了,自己去好好找找除了渲染,科学计算这些软件外,哪个是在系统层面实现了您说的自动调度,自动用 ...

看清楚我写的文字再回复OK?

最开头我写的是"实现了多线程后"! 也就是说你写的程序实现了多线程之后。

你如果写程序是从头到尾就一个线程到底的,当然分不了给别的核心处理了。
作者: wuhao911    时间: 2012-1-26 21:24
gzpony 发表于 2012-1-26 21:20
看清楚我写的文字再回复OK?

最开头我写的是"实现了多线程后"! 也就是说你写的程序实现了多线程之后。 ...

这个用不着别的啊,如果这么说的话,只要操作系统能识别和使用多线程就行啊,这个win2000都能实现的功能有什么好说的呢?
作者: gzpony    时间: 2012-1-26 21:28
wuhao911 发表于 2012-1-26 21:24
这个用不着别的啊,如果这么说的话,只要操作系统能识别和使用多线程就行啊,这个win2000都能实现的功能有 ...

那就结了。大家观点并无不同啊。
我那个话就是对上面lik 说的“主要是能否有效的实现四核的多线程”的回复。我认为双核和4核的编程并无什么不同
作者: wuhao911    时间: 2012-1-26 21:32
gzpony 发表于 2012-1-26 21:28
那就结了。大家观点并无不同啊。
我那个话就是对上面lik 说的“主要是能否有效的实现四核的多线程”的回 ...

很明显有不同啊,可以支持双线程的,不一定可以支持四线程,双线程到4线程编程难度可不是上升了一倍
作者: gzpony    时间: 2012-1-26 21:39
wuhao911 发表于 2012-1-26 21:32
很明显有不同啊,可以支持双线程的,不一定可以支持四线程,双线程到4线程编程难度可不是上升了一倍

呵呵,你编过没有?
我可是编过了,出来的程序在单核双核4核可以随便跑。除非你在程序里面指定cpu核心数量,否则多少个核心都好,每个核心都可能分配到相关线程。
作者: eoc    时间: 2012-1-26 22:29
提示: 作者被禁止或删除 内容自动屏蔽
作者: 治病救人    时间: 2012-1-26 22:49
提示: 作者被禁止或删除 内容自动屏蔽
作者: Racca    时间: 2012-1-26 22:57
提示: 作者被禁止或删除 内容自动屏蔽
作者: gzpony    时间: 2012-1-26 23:06
Racca 发表于 2012-1-26 22:57
能跑和良好支持差了好几个等级明白不?
简单一个循环操作, 你 a.先枚举再并发执行 b.简单的for while循环 ...

拜托,现在不是编程用汇编语言的时代。
基本上编程可以用体系或者模型。并行的体系有好几种,你跟着规范调用就是,别的可以不操心。

当然个别人要榨干硬件的性能,或者这些现有体系不满足需要,他要自己弄一套,这就罗嗦。你要表达的就是这种?这种应用的比例不高的。
作者: eoc    时间: 2012-1-26 23:32
提示: 作者被禁止或删除 内容自动屏蔽
作者: gzpony    时间: 2012-1-26 23:41
eoc 发表于 2012-1-26 23:32
并发框架是标准化的模型,写出能跑的demo很简单。但是真实生活中的项目,你要权衡很多问题,你的项目是计 ...

当然是根据应用需求来挑选框架模型,这才是工业化或者工程化的做法。
就像建房子前确定是钢结构还是什么结构,挑选钢筋规格和水泥标号这样。没有特殊需求不搞重新发明轮子这类做法。
你说的东西,必然是在挑选并行模型的时候就已经考虑在内。
另外严格的说,码农并不需要考虑这些,这个角色就像建筑中砌墙或者灌水泥的工人。
作者: lik    时间: 2012-1-27 02:08
本帖最后由 lik 于 2012-1-27 02:39 编辑
gzpony 发表于 2012-1-26 23:41
当然是根据应用需求来挑选框架模型,这才是工业化或者工程化的做法。
就像建房子前确定是钢结构还是什么 ...

你说的这些只是做到"能跑", 不等于说是优化. 如果要充分利用多核, 需要应用程序有足够的并行度. 编译器或者库函数可以找到一些并行度, 但是如果要真正优化, 还需要好的程序员自己写程序.

一个极端的例子就是C2D/Q和MIC. 为Penryn开发的程序简单编译之后估计能在knights corner运行, 但是能充分利用所有的核吗? 当然不能. 底层的框架目前还没能做到这么神. 当然等以后技术进步了, 底层的框架完善了, 码农写出来的程序也是优化的. 不过在那一天到来之前, 真正优化的程序还需要程序员而不是码农.

也许这个例子有点极端, 两核到四核可能跨越不是特别大吧.我觉得要真正通过多核来省电, 程序还是需要一定的优化.

作者: nom8393    时间: 2012-1-27 09:32
gzpony 发表于 2012-1-26 23:41
当然是根据应用需求来挑选框架模型,这才是工业化或者工程化的做法。
就像建房子前确定是钢结构还是什么 ...

你这话有个根本性的错误:那就是码农现在也要考虑并行计算问题了。举例来说,你可以看CUDA开发中间的矩阵操作。在逻辑上完全一样的矩阵运算,采用不同的方式来进行(根据硬件可接受的并行粒度来改写矩阵操作的模块大小),程序效能完全不一样。
作者: wuhao911    时间: 2012-1-27 09:45
gzpony 发表于 2012-1-26 21:39
呵呵,你编过没有?
我可是编过了,出来的程序在单核双核4核可以随便跑。除非你在程序里面指定cpu核心数 ...

那就得请您解释解释为啥t3四核测试成绩在某些软件中与双核一致的事情了,软件可没法自动从双线程变4线程,除非你开发的时候直接选择了4线程,但是写的代码就不是双线程的了
作者: aixiangsui2012    时间: 2012-1-27 12:35
我顺便说些和ARM相关的事
ARM是RISC架构 这个架构的优势在于执行效率高 但编译麻烦 不容易讨巧
水果的IOS屏幕流畅 据说一个原因是因为设计时就以触屏为对象 在有触屏操作时会挂起其他线程 全心处理触屏操作。
作者: Racca    时间: 2012-1-27 13:11
提示: 作者被禁止或删除 内容自动屏蔽
作者: hyj201    时间: 2012-1-27 13:27
aixiangsui2012 发表于 2012-1-27 12:35
我顺便说些和ARM相关的事
ARM是RISC架构 这个架构的优势在于执行效率高 但编译麻烦 不容易讨巧
水果的IOS ...

iphone的IOS长期是如果不越狱+一堆复杂的软件和设置,就无法实现后台多线程。  后来改观了。

那是因为其实以前水果机硬件不强,需要这样保证用户体验。IP4S之后水果的硬件也很强了,开始提供多线程。


作者: BDFMK2    时间: 2012-1-27 14:01
我只知道四核Tegra3在测试里输给了苹果双核A5。

目前看来四核并不适合Android。还是双核A15架构的ARM更有前途。
作者: 66666    时间: 2012-1-27 14:04
BDFMK2 发表于 2012-1-27 14:01
我只知道四核Tegra3在测试里输给了苹果双核A5。

目前看来四核并不适合Android。还是双核A15架构的ARM更有 ...

GPU部分跟CPU有什么关系?

CPU部分即使跑单线程tegra3速度也比A5快
作者: gzpony    时间: 2012-1-27 15:19
nom8393 发表于 2012-1-27 09:32
你这话有个根本性的错误:那就是码农现在也要考虑并行计算问题了。举例来说,你可以看CUDA开发中间的矩阵 ...

看来你不在IT界混,不知道IT界的职位分野。选择解决方案/架构/模型是 架构师/技术总监 这一级别的人要做的事情。所谓码农 只有coding 实现的份。
作者: nom8393    时间: 2012-1-27 16:01
gzpony 发表于 2012-1-27 15:19
看来你不在IT界混,不知道IT界的职位分野。选择解决方案/架构/模型是 架构师/技术总监 这一级别的人要做的 ...

麻烦你去看看卡耐基 SSD6认证里面有没有考并行优化这部分内容。哦,你不会连SSD6是什么都不知道吧?现在的码农可不是只有北大青鸟培训出来的IT苦力这种类型的,不懂并行开发概念的码农那不会有什么前途,进不了世界500强企业的。
作者: BDFMK2    时间: 2012-1-27 17:23
66666 发表于 2012-1-27 14:04
GPU部分跟CPU有什么关系?

CPU部分即使跑单线程tegra3速度也比A5快

就是指CPU部分,4核Tegra3 输给了双核A5.

跑单线程的话,在同频情况下,Tegra3除了能打败Tegra2之外,任何一家的A9 T3都打不过!

Tegra3因为过于要求芯片面积,精简L1,L2和MC,就连ALU都比正常的A9有所精简。
作者: coollab    时间: 2012-1-27 17:25
BDFMK2 发表于 2012-1-27 14:01
我只知道四核Tegra3在测试里输给了苹果双核A5。

目前看来四核并不适合Android。还是双核A15架构的ARM更有 ...

请问在哪个测试里输给了双核A5?
GPU还是CPU?
作者: coollab    时间: 2012-1-27 17:26
BDFMK2 发表于 2012-1-27 17:23
就是指CPU部分,4核Tegra3 输给了双核A5.

跑单线程的话,在同频情况下,Tegra3除了能打败Tegra2之外, ...

请问ALU怎么精简?

作者: 66666    时间: 2012-1-27 17:40
BDFMK2 发表于 2012-1-27 17:23
就是指CPU部分,4核Tegra3 输给了双核A5.

跑单线程的话,在同频情况下,Tegra3除了能打败Tegra2之外, ...






差在哪?
作者: BDFMK2    时间: 2012-1-27 18:24
66666 发表于 2012-1-27 17:40
差在哪?

4-Core@1.3Ghz vs 2-Core@1Ghz

这么折算下来,Tegra3是A9核心性能是全世界倒数第二了吧(倒数第一是Tegra2)
作者: 66666    时间: 2012-1-27 18:32
本帖最后由 66666 于 2012-1-27 18:33 编辑
BDFMK2 发表于 2012-1-27 18:24
vs 2-Core@1Ghz

这么折算下来,Tegra3是A9核心性能是全世界倒数第二了吧(倒数第一是Tegra2)





请看三儿子用4.0跑的什么成绩,1.2G的4460.   tegra3还跑的是3.2

这么折算下来请问谁性能是倒数第一?
作者: BDFMK2    时间: 2012-1-27 18:52
66666 发表于 2012-1-27 18:32
请看三儿子用4.0跑的什么成绩,1.2G的4460.   tegra3还跑的是3.2

这么折算下来请问谁性能是倒 ...

你好好看看你贴的图,我觉得你在搬起石头砸自己的脚。

如果你想说明Androoid版本对性能的影响,我觉得你应该看看亲儿子刀锋,那跑的可是2.35。

如果你想说倒数第一,你给的图里,最弱的A9难道不是Tegra2么?都是双核,比得上A5,比的上三星,比得上德仪么?
作者: 66666    时间: 2012-1-27 19:03
BDFMK2 发表于 2012-1-27 18:52
你好好看看你贴的图,我觉得你在搬起石头砸自己的脚。

如果你想说明Androoid版本对性能的影响,我觉得 ...

不好意思,我不是跟你谈tegra2的问题,是你自己说tegra3效率倒数第一,除了tegra2之外的双核A9都比不过。

请问你还有什么话讲?


作者: BDFMK2    时间: 2012-1-27 19:08
66666 发表于 2012-1-27 19:03
不好意思,我不是跟你谈tegra2的问题,是你自己说tegra3效率倒数第一,除了tegra2之外的双核A9都比不过。 ...

你凭什么不和我谈Tegra2?

难道Tegra2不是黄老板的产品,不是你曾经吹嘘过的对象么?

其次,我啥时说过T3效率是倒数第一了?你翻回上面看看我是怎么说的!
作者: 66666    时间: 2012-1-27 19:30
BDFMK2 发表于 2012-1-27 19:08
你凭什么不和我谈Tegra2?

难道Tegra2不是黄老板的产品,不是你曾经吹嘘过的对象么?

跑单线程的话,在同频情况下,Tegra3除了能打败Tegra2之外,任何一家的A9 T3都打不过!

这句话是不是你说的?
作者: BDFMK2    时间: 2012-1-27 19:31
本帖最后由 BDFMK2 于 2012-1-27 19:33 编辑
66666 发表于 2012-1-27 19:30
跑单线程的话,在同频情况下,Tegra3除了能打败Tegra2之外,任何一家的A9 T3都打不过!

这句话是不是你 ...

是我说的!“跑单线程的话,在同频情况下,Tegra3除了能打败Tegra2之外,任何一家的A9 T3都打不过”

作者: 66666    时间: 2012-1-27 19:35
BDFMK2 发表于 2012-1-27 19:31
是!

tegra2效率问题是另外一码事,这个贴谈的是tegra3.

现在你说tegra3效率不行,不行在哪?自己整天说没根没据的话,你凭什么跟我谈tegra2?

真是好笑


作者: BDFMK2    时间: 2012-1-27 19:43
本帖最后由 BDFMK2 于 2012-1-27 19:44 编辑
66666 发表于 2012-1-27 19:35
tegra2效率问题是另外一码事,这个贴谈的是tegra3.

现在你说tegra3效率不行,不行在哪?自己整天说没根 ...

(1)
我凭什么跟你谈Tegra2?

因为那是你曾经吹嘘过的NV产品,就像你现在挺T3一样。当初T2已发布,就有对其性能表现的质疑声,你对此是极力洗白的,但是现在连你都不想提T2了。

现在T3的性能表现不如人意,你还是这个态度,我得跟你谈谈T2的问题!
---------------------------
(2)
Tegra3效率不行,你41楼贴的图里不是证明这一点了么!
作者: 66666    时间: 2012-1-27 19:53
本帖最后由 66666 于 2012-1-27 19:53 编辑
BDFMK2 发表于 2012-1-27 19:43
(1)
我凭什么跟你谈Tegra2?

笑话,tegra2的主要问题是视频硬解能力缺失,其他性能方面跟其他A9双核差别自己去看43楼的图。

用4430的LG Optimus 3D和moto墓碑三网页javascript性能还不如tegra2的X2。

其次IOS5浏览器性能已经提升很多,android4.0都不是其的对手更何况是3.2,tegra3只领先这么点只能说明IOS在web性能上优势已经远胜google,800mhz的IP4S都能跑2250,是不是说明全世界除了苹果以外造ARM都是垃圾?
作者: asd04122661    时间: 2012-1-27 20:12
41L那图的galaxy' tab 10.1用的就是T2吧,两个测试基本领先用德仪双核的kindle fire和playbook,后一个测试ms play book的成绩低得离谱啊。另外比较奇怪的是T3领先T2的幅度只有30%这个样子,考虑到T3是1.3G而T2是1G怀疑测试软件只用到了双核心。
作者: Racca    时间: 2012-1-28 23:12
提示: 作者被禁止或删除 内容自动屏蔽




欢迎光临 POPPUR爱换 (https://we.poppur.com/) Powered by Discuz! X3.4