a****l 发帖数: 8211 | 1 【 以下文字转载自 Programming 讨论区 】
发信人: acectl (磨), 信区: Programming
标 题: C++ Builder支持MMX/SSE/SSE2命令吗?
发信站: BBS 未名空间站 (Sun Sep 20 21:57:55 2009, 美东)
使用C++ Builder的IDE开发的程序,支持不支持在程序中使用mmx/sse的命令?vc好象支
持用incline直接插入汇编的mmx/sse,或者是用intrinsics插入mmx/sse的命令, C++
Builder支持类似的操作吗?
或者说,C++ Builder开发的程序中能使用mmx/sse加速吗? |
|
s****y 发帖数: 581 | 2 看这个CPU info的按几个processor买Oracle DB license?
现在要买Oracle Databse的Processor License, 怎么用cat /proc/cpuinfo发现有
这么多(16个)processor,那一个server的license就得几十万,老板不疯掉? 不
知道我按16x $/per processor license 来算对不对?下面是我们的server的CPU
info:
>cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 10
model name : Intel(R) Xeon(R) CPU X5570 @ 2.93GHz
stepping : 5
cpu MHz : 2926.154
cache size : 8192 KB
physical id : 1
siblings : 8
core id : 8... 阅读全帖 |
|
s****y 发帖数: 581 | 3 【 以下文字转载自 Database 讨论区 】
发信人: sexboy (塞葫芦), 信区: Database
标 题: 看这个CPU info的按几个processor买Oracle DB liense?
发信站: BBS 未名空间站 (Sun Aug 28 21:55:09 2011, 美东)
看这个CPU info的按几个processor买Oracle DB license?
现在要买Oracle Databse的Processor License, 怎么用cat /proc/cpuinfo发现有
这么多(16个)processor,那一个server的license就得几十万,老板不疯掉? 不
知道我按16x $/per processor license 来算对不对?下面是我们的server的CPU
info:
>cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 10
model name : Intel(R) Xeon(R... 阅读全帖 |
|
s****y 发帖数: 581 | 4 【 以下文字转载自 Database 讨论区 】
发信人: sexboy (塞葫芦), 信区: Database
标 题: 看这个CPU info的按几个processor买Oracle DB license?
发信站: BBS 未名空间站 (Sun Aug 28 21:55:09 2011, 美东)
看这个CPU info的按几个processor买Oracle DB license?
现在要买Oracle Databse的Processor License, 怎么用cat /proc/cpuinfo发现有
这么多(16个)processor,那一个server的license就得几十万,老板不疯掉? 不
知道我按16x $/per processor license 来算对不对?下面是我们的server的CPU
info:
>cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 10
model name : Intel(R) Xeon(... 阅读全帖 |
|
s****y 发帖数: 581 | 5 有谁知道下面的配置算4个processor吗?是不是也是2 sockets?
>cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 7
model name : Intel(R) Xeon(R) CPU E5405 @ 2.00GHz
stepping : 6
cpu MHz : 1995.018
cache size : 6144 KB
physical id : 0
siblings : 4
core id : 0
cpu cores : 4
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags :... 阅读全帖 |
|
|
d****n 发帖数: 1637 | 7 here are more output from my machine.
I realized that for a large matrix size it eats too much memory.
$ ./mx_int32 20000
naive add: 3.650000 second; m[10000][10000]=-1256136404
better add: 3.100000 second; m[10000][10000]=-1256136404
sse2 add: 2.970000 second; m[10000][10000]=-1256136404
$ ./mx_int32 30000
naive add: 7.990000 second; m[15000][15000]=1948902602
better add: 6.350000 second; m[15000][15000]=1948902602
sse2 add: 5.790000 second; m[15000][15000]=1948902602
$ ./mx_int32 40000
naiv... 阅读全帖 |
|
a****a 发帖数: 5763 | 8 http://bbs.weiphone.com/read-htm-tid-556999.html
上篇讲到OpenCL的好处, 但是如果要让Mac用户的日常应用切实的体验到这些优势和影
响, 就需要程序员把OpenCL技术加入到他们的程序中去. 而历来, GPGPU的编程语音一
直没有在传统的桌面程序中得到广泛的应用. 这当中有几个原因.
最初, 针对GPU的编程需要用汇编语言, 而汇编语言跟传统用于桌面程序开发的语言的
差别很大. 在桌面程序的开发上, 广泛应用GUI, API等工具. 即使后来出现的类似C语
音的一些编程语言, 保留了一些针对图形的特性. 但大部分的开发者对于这部分东西仍
然感到很头痛, 像一门他们不太懂的外语一样避而远之.
其次, 即使使用GPU能在很大程度上提高速度, 但依赖于GPU来进行通用计算还是一个问
题, 就是会让程序本身的兼容性变得比较狭窄. 很多老款的GPU, 特别是笔记本上的,
无法运行像CUDA这样的语言.
而苹果在设计OpenCL的时候,有一个很关键的决定就是要让OpenCL不仅能运行在GPU上,
而且还要运行在CPU上. 一个OpenCL程序... 阅读全帖 |
|
l*********i 发帖数: 483 | 9 不好意思,再请教一下,我看到gcc在x86_64下面缺省的-mfpmath的flag的设置
是sse,在网上google到这么一段:
"sse- take a benefit of SSE2 (SSE3) instruction set (Streaming SIMD
Extension, SIMD - Single Instruction Multiple Data), a default mode for x86-
64 processors, to use this option one should also enable SSE and SSE2 (SSE3)
instruction set to be used in machine code, the FP computations are done
simultaniously on a 16 new 128bit registers (xmm0-xmm15), each of xmm
register makes the same operation on 2 doubles (or 4 floats), the re |
|
d****n 发帖数: 1637 | 10 //note : all output are in my system
1. compiled as
gcc matrix_op.c -lm -o matrix_op -msse2
[No -O3 and -msse2 yet]
commandline: ./matrix_op 10000
output:
naive add: 0.910000 second; m[5000][5000]=-1850619072
better add: 0.720000 second; m[5000][5000]=-1850619072
sse2 add: 0.670000 second; m[5000][5000]=-1850619072
2. compiled as :
gcc matrix_op.c -lm -o matrix_op_sse -O3 -msse2
commandline: ./matrix_op 10000
output:
naive add: 0.600000 second; m[5000][5000]=-1162569274
better add: 0.... 阅读全帖 |
|
d****n 发帖数: 1637 | 11 My comments:
1. compiler level optimization
in function "mx_add_bette" implementation specific function
there is some restrictions but it works better than "naive" version
2. sse2
sse2 is better than non-sse for sure.
optimization is still buggy and not very generic typing.
3. gcc -O3 plus -msse2 can do better than my hand coding
save alot time even using a naive approach.
4. if matrix size is small(<1000 in my system), the results may change.
I think this is because the sse instruction overhead... 阅读全帖 |
|
C******s 发帖数: 813 | 12
处理器
处理器: 英特尔 Core i5 M 430 @ 2.27GHz 笔记本处理器
核心: Arrandale (32 纳米) / 核心数: 4
插座/插槽: Socket uPGA-989
速度: 2.27 GHz (133 MHz x 17.0)
一级代码/数据缓存: 2 x 32 KB, 8-Way, 64 byte lines / 2 x 32 KB,
4-Way, 64 byte lines
二级缓存: 2 x 256 KB, 8-Way, 64 byte lines
三级缓存: 3 MB, 12-Way, 64 byte lines
特征: MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, HTT, EM64T,
E |
|
k*n 发帖数: 1203 | 13 from
http://en.wikipedia.org/wiki/List_of_Intel_Pentium_Dual-Core_microprocessors
"Penryn-3M" (standard voltage, 45 nm)
* Based on the 64-bit Intel Core microarchitecture, using Penryn-3M core
with 2MB of L2 cache disabled.
* All models support: MMX, SSE, SSE2, SSE3, SSSE3, Enhanced Intel
SpeedStep Technology (EIST), Intel 64, XD bit (an NX bit implementation)
* Die size: 82 mm²
* Steppings: R0
Pentium T4200 SLGJN (R0) 2000 MHz 1 MB 800 MHz 10x
35 W |
|
z*i 发帖数: 1585 | 14 可以自动从射手网下载字幕 前提是有的话 可以加载第二字幕 很不错
http://www.splayer.org/
http://dl.splayer.org/SPlayerSetup.exe
高画质
* 独创ShaderEngineTM图像增强引擎,4倍速驱动,降低画面噪点,锐利画质呈现
,低画质视频照样全屏放
* 独创LiveColorTM彩色增强算法,画面色彩更艳丽
* 独创SmartAmplifyTM智能音场平衡技术,声效更显震撼
低消耗
* 独创FastMotionTM解码优化技术,大幅降低CPU和内存占用。多核 SSE2 SSE3
MMX GPU优化
* 独创PowerTravelTM旅行节电模式,降低能耗,增加笔记本的巡航时间
* 独创EyeCareTM护眼模式,久看不疲劳,健康最重要
智能化
* 独创Anti-SillyTM智能免配置,数百逻辑分支自动根据硬件配置选择最佳模式。
* 独创CloudMatchingTM智能显示字幕技术,外语片从此不再需要找寻匹配字幕
精致美观
* 经过多位专业热心 |
|
b*****t 发帖数: 7331 | 15 Processor: 1 gigahertz (GHz) or faster with support for PAE, NX, and SSE2
怎么知道cpu有没有这些东西?是早期的双核intel 2.6GHz |
|
e*******s 发帖数: 1363 | 16 Kalyway's dvd, already patched with intel/amd sse2 sse3 :)
显卡和电源管理的驱动都是自己找的 |
|
t**t 发帖数: 27760 | 17 http://valid.canardpc.com/show_oc.php?id=928132
CPU Arch : 1 CPU - 2 Cores - 2 Threads
CPU PSN : Intel Core i5 CPU 670 @ 3.47GHz (ES)
CPU EXT : MMX SSE SSE2 SSE3 SSSE3 SSE4.1 SSE4.2 EM64T VT-x AES
CPUID : 6.5.2 / Extended : 6.25
CPU Cache : L1 : 2 x 32 / 2 x 32 KB - L2 : 2 x 256 KB
CPU Cache : L3 : 4096 KB
Core : Clarkdale (32 nm) / Stepping : ???
Freq : 7002.66 MHz (259.36 * 27)
MB Brand : EVGA
MB Model : EVGA P55 3X SLI E658
NB : Intel Havendale/Clarkdale Host Bridge re
SB : Intel P55 rev 04
G |
|
a***a 发帖数: 40617 | 18 wiki
http://en.wikipedia.org/wiki/List_of_AMD_Phenom_microprocessors
"Deneb" (C2/C3, 45 nm, quad-core)
All models support: MMX, SSE, SSE2, SSE3, SSE4a, Enhanced 3DNow!, NX bit,
AMD64, Cool'n'Quiet, AMD-V
Memory support: DDR2 SDRAM up to PC2-8500, DDR3 SDRAM up to PC3-10600 (
Socket AM3 only)
这个应该跟cpu的FSB,以及内存的multiplier有关
我的理解是除非你超频,否则发挥不出来1600
1333到顶
5 |
|
i*******D 发帖数: 993 | 19 我这个机器的信息如下。是不是 clock: 200MHz这个就是前端总线?网上说那些名厂
的主板都可以通过刷bios来支持c2d。但是是不是这个compaq的机器即便fsb达到也未必
能支持呢?这个cpu风扇是动态调速的。是不是我可以通过软件超频?据说现在的这个
e2140 1.6g的超频潜力很大。推荐个32bit xp下的好的超频软件吧
vendor: Compaq-Presario
serial: CNX73820C1
width: 64 bits
capabilities: smbios-2.4 dmi-2.4 vsyscall64 vsyscall32
configuration: boot=normal chassis=desktop family=103C_53316J sku=
GV441AA#ABA uuid=60DB6B46-6867-DC11-A856-BA20FD11AB6D
*-core
description: Motherboard
product: Livermore8
ven... 阅读全帖 |
|
s***c 发帖数: 1926 | 20 Xeon E3-1220就是一块没有内置显卡的i7 处理器, 4核4线程。功耗比i7低,体质比i7
好。普通LGA 1155主板都可以使用,售价却和i5 相当,真是一颗名副其实的高富帅CPU。
Ivy Bridge版本据说更好。强烈推荐!
说明:1220不支持超线程,1230是4核8线程。
Core Sandy Bridge
Multi-Core Quad-Core
Name Xeon E3-1220
Operating Frequency 3.1GHz
L2 Cache 4 x 256KB
L3 Cache 8MB
Manufacturing Tech 32 nm
64 bit Support Yes
Hyper-Threading Support No
Virtualization Technology Support Yes
Multimedia Instruction MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AES, EM6
4T
Thermal Design Power 80W |
|
e*p 发帖数: 526 | 21 不是atom,是haswell赛扬. see flags: vmx
vendor_id : GenuineIntel
cpu family : 6
model : 69
model name : Intel(R) Celeron(R) 2955U @ 1.40GHz
stepping : 1
microcode : 0x15
cpu MHz : 1400.000
cache size : 2048 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 2
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat
pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb
r... 阅读全帖 |
|
v*******e 发帖数: 11604 | 22
processor : 3
vendor_id : GenuineIntel
cpu family : 6
model : 37
model name : Intel(R) Core(TM) i7 CPU M 620 @ 2.67GHz
stepping : 2
microcode : 0xe
cpu MHz : 1866.000
cache size : 4096 KB
physical id : 0
siblings : 4
core id : 2
cpu cores : 2
apicid : 5
initial apicid : 5
fpu : yes
fpu_exception : yes
cpuid level : 11
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov
pat p... 阅读全帖 |
|
|
E*V 发帖数: 17544 | 24 不用,不过因我们要用汉字
USE要相应设一下
mine:
USE="X acl alsa amd64 avahi bzip2 cdr cjk cli consolekit cracklib crypt cups
dbus dri dvd fortran gdbm gnome gpm gtk hal iconv isdnlog java kde kpathsea
mdnsresponder-compat mmx mng mudflap multilib mysql ncurses nls nptl
nptlonly nsplugin opengl openmp pam pcre perl pppd python qt3 qt3support qt4
readline reflection session sockets socks5 spl sql sse sse2 ssl svg sysfs
tcpd unicode webkit xorg zlib" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="
adpcm alaw asym copy dmix |
|
S***w 发帖数: 1014 | 25 我看了下 /proc/cpuinfo
processor : 1
vendor_id : GenuineIntel
cpu family : 15
model : 4
model name : Intel(R) Xeon(TM) CPU 3.20GHz
stepping : 3
cpu MHz : 3200.215
cache size : 2048 KB
fpu : yes
fpu_exception : yes
cpuid level : 5
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx lm
constant_tsc pni... 阅读全帖 |
|
N****w 发帖数: 21578 | 26 这有阿,不少呢
http://phoronix.com/forums/showthread.php?28092-Intel-Sandy-Bri
% sh x64_1024x768_windowed_tess_normal.sh
Xlib: extension "NV-GLX" missing on display ":0.0".
Loading "/u1/home/x/sandy/bench/Unigine_Heaven/bin/../data/heaven_2.
1.cfg"...
Engine::init(): clear video settings for "Mesa DRI Intel(R)
Sandybridge Desktop GEM 20100330 DEVELOPMENT 1.4 (2.1 Mesa 7.9)"
Loading "libGL.so.1"...
Loading "libopenal.so.1"...
Set 1024x768 windowe... 阅读全帖 |
|
f*****Q 发帖数: 1912 | 27 不好意思。pd跟sd没走脑子,又丢人了。gcc的autovect好像至少应该在4.1还是4.2的
时候就有了吧?俺记得好像要给SSE/SSE2的参数就行。
另外这个循环没有被优化掉俺很诧异。俺试了试llvm,啥都没了,直接返回。 |
|
b******n 发帖数: 592 | 28 关键看你的程序是做什么的.mtune是参数组,除去这个也不需要再怎么优化了.fast-mat
h可以让运算更快,不过结果会有误差。sse2可以使用多媒体指令,很有效 |
|
b******n 发帖数: 592 | 29 你可以核心部分用C++。其实优化问题具体很不同,虽然说是纯计算,数据是如何存放的
,数据有什么特点等等。
用C++,然后用SSE2,起码可以提高一倍,跟线程也没什么冲突。很多时候内存是个瓶颈
。 |
|
|
b******n 发帖数: 592 | 31 内存对其和预读取是起码的。这个不影响gcc本身的优化。关键是如果你的计算很核心的
地方。没必要什么都优化。你可以先反汇编一下核心计算函数的源代码,4.3支持SSE2,
看看有什么效果。你做的是什么样的计算? |
|
a****l 发帖数: 8211 | 32 使用C++ Builder的IDE开发的程序,支持不支持在程序中使用mmx/sse的命令?vc好象支
持用incline直接插入汇编的mmx/sse,或者是用intrinsics插入mmx/sse的命令, C++
Builder支持类似的操作吗?
或者说,C++ Builder开发的程序中能使用mmx/sse加速吗? |
|
p***o 发帖数: 1252 | 33 大不了你用vc/gcc之类的搞个lib/dll |
|
a****l 发帖数: 8211 | 34 the point is: is "大不了" needed or not? |
|
t****t 发帖数: 6806 | 35 你试试不就知道了?
应该有开关可以看到的汇编代码的, 对应unix下的.s文件. |
|
d****n 发帖数: 1637 | 36 okay,没代码没真相。
here is my shabby codes and I want to share with you all.
output and analysis will be post soon
//file name matrix_op.c
#include
#include
#include
#include
#include
#include
#define _MX_INIT(type_t, row, col) ({ int i;\
type_t ** ret;\
ret=(type_t ** )malloc( row *sizeof(type_t*));\
for(i=0;i
(ret);\
})
#defin... 阅读全帖 |
|
t****t 发帖数: 6806 | 37 你不是有code了么, 我就随便跑一跑. by specifying too much detail on
implementation, you actually INTERFERE with compiler optimization.
$ gcc -O3 -fprefetch-loop-arrays -march=native -funroll-loops -ffast-math 21
.c
$ a.out 20000
naive add: 0.920000 second; m[10000][10000]=2069822843
better add: 0.930000 second; m[10000][10000]=2069822843
sse2 add: 0.990000 second; m[10000][10000]=2069822843 |
|
d****n 发帖数: 1637 | 38 Sure I know you are not gcc developer.
here is my result
$ gcc -O3 -fprefetch-loop-arrays -funroll-loops -ffast-math matrix_op.c
-lm
$ ./a.out 20000
naive add: 2.200000 second; m[10000][10000]=1836335890
better add: 2.200000 second; m[10000][10000]=1836335890
sse2 add: 2.280000 second; m[10000][10000]=1836335890
Be honest, I never play with these fancy flags using gcc.
and I think the flags step on the mine.
##############man page for gcc####################
-fprefetch-loop-arrays
... 阅读全帖 |
|
t****t 发帖数: 6806 | 39 Add the following function into comparison. Note, this is almost the same as
"naive" version, but i added hint: "restrict", meaning a and b are not
alias of each other.
int **mx_add_restrict(int row, int col, int * restrict const * restrict a,
int * restrict const * restrict b)
{
int i, j;
int **m = _MX_INIT(int, row, col);
for (i = 0; i < row; ++i)
for (j = 0; j < col; ++j)
m[i][j] = a[i][j] + b[i][j];
return m;
}
compile with -std=c99 since restrict is a c99 keyword... 阅读全帖 |
|
x*******1 发帖数: 28835 | 40 他第一条有什么错? blas不就是block cache + SSE2么? |
|
r*****3 发帖数: 143 | 41 中文名: Intel® 64 and IA-32体系结构:软件开发人员手册
原名: Intel® 64 and IA-32 Architectures Software Developer's Manual
作者: Intel Corporation
资源格式: PDF
版本: 文字版
出版社: Intel Corporation
书号: 25462-042US
发行时间: 2012年03月
地区: 美国
语言: 英文
简介:
汇编语言和高级语言的最根本的区别在于:在汇编语言中,程序员必须掌握数据存储和
机器相关的大量细节。与高级语言相比,在声明和移动数据时,汇编器给了程序员极大
的自由。汇编器只进行很少的错误检查,但却提供了大量的操作符和寻址表达式,使程
序员几乎能够做任何事情。然而,这种自由是必须付出一定代价的。这种代价就是在开
始编写有意义的程序之前,开发人员必须掌握大量的细节知识。因而这也是《Intel&
reg; 64 and IA-32 Architectures Software Developer's Manuall》一书的功能所在。
目录:
Volum... 阅读全帖 |
|
k**********g 发帖数: 989 | 42
只会
SIMD programmers (e.g. SSE2) will need to read the Intel manual. |
|
k**********g 发帖数: 989 | 43
Agreed.
If parallelism only occurs at the framework level, then the latency of
processing cannot be reduced, and the CPU will be under-utilized (if there
are not enough requests at the framework level).
Certain image processing operations are non-parallelizable - when considered
alone. Examples are image decoding and encoding. However, that doesn't mean
other image operations had to wait until these operations finish - other
image operations can use partial results, and can do so from a differe... 阅读全帖 |
|
k**********g 发帖数: 989 | 44
不是的。我正在做 SIMD ,正是用类似的东西。
关键是要看主流客户用甚麽机器架构,你就去学那边的 Computation 。
我先学了 SSE2 ,再学 NEON 也容易。
但没有其他 computation 的基础,例如讯号处理,你要computation 来甚麽用呢?这
才是难点。 |
|