elif echo "$_CPU" | grep -E -q "(k8|c3-2)"; then
if echo "$flags" | grep -q "sse3"; then
if try_gcc_options "-msse3"; then #gcc >= 3.3.3
_FLAGS="-msse3"
fi
hdvdr01 sc # ./cpuopt.sh
### FFdecsa optimization helper/benchmark
### Version 8
### CPU-INFO ###
System: x86
Auto detected arch: k8
Vendor-ID: AuthenticAMD
CPU-Family: 15
CPU-Model: 107
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow extd_apicid pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy 3dnowprefetch lbrv
Using compilers "native" flags
### FFdeCSA TEST ###
Using compiler: g++
with flags: -O3 -march=native -fomit-frame-pointer -fexpensive-optimizations -funroll-loops
Trying various FFdecsa optimizations...
PARALLEL_32_INT: test failed
PARALLEL_64_2INT: test failed
PARALLEL_64_LONG: 89
PARALLEL_64_MMX: 163
PARALLEL_128_2LONG: 98
PARALLEL_128_2MMX: 173
PARALLEL_128_SSE: 158
PARALLEL_128_SSE2: 161
Choosing PARALLEL_MODE = PARALLEL_128_2MMX (173 Mbit/s)
### VDR-SC FFdeCSA Makefile OPTS ###
CPUOPT ?= native
PARALLEL ?= PARALLEL_128_2MMX
CSAFLAGS ?= -O3 -fomit-frame-pointer -fexpensive-optimizations -funroll-loops
### GENERIC FFdeCSA make OPTS ###
FLAGS="-O3 -march=native -fomit-frame-pointer -fexpensive-optimizations -funroll-loops" PARALLEL_MODE=PARALLEL_128_2MMX
Wenn ich das in das Makefile eintrage, dann bekomme ich:hdvdr01 sc # ./cpuopt.sh -n
### FFdecsa optimization helper/benchmark
### Version 8
### CPU-INFO ###
System: x86
Auto detected arch: k8
Vendor-ID: AuthenticAMD
CPU-Family: 15
CPU-Model: 107
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow extd_apicid pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy 3dnowprefetch lbrv
Compilers "native" flags disabled or unsupported
### FFdeCSA TEST ###
Using compiler: g++
with flags: -O3 -march=k8 -fomit-frame-pointer -fexpensive-optimizations -funroll-loops
Trying various FFdecsa optimizations...
PARALLEL_32_INT: test failed
PARALLEL_64_2INT: test failed
PARALLEL_64_LONG: 97
PARALLEL_64_MMX: 163
PARALLEL_128_2LONG: 101
PARALLEL_128_2MMX: 195
PARALLEL_128_SSE: 156
PARALLEL_128_SSE2: 198
Choosing PARALLEL_MODE = PARALLEL_128_SSE2 (198 Mbit/s)
### VDR-SC FFdeCSA Makefile OPTS ###
CPUOPT ?= k8
PARALLEL ?= PARALLEL_128_SSE2
CSAFLAGS ?= -O3 -fomit-frame-pointer -fexpensive-optimizations -funroll-loops
### GENERIC FFdeCSA make OPTS ###
FLAGS="-O3 -march=k8 -fomit-frame-pointer -fexpensive-optimizations -funroll-loops" PARALLEL_MODE=PARALLEL_128_SSE2
Die Ergebnisse Schwankenmake[1]: Entering directory `/usr/local/src/vdr-1.7.18/PLUGINS/src/sc-hg_patched/FFdecsa'
g++ -O3 -fomit-frame-pointer -fexpensive-optimizations -funroll-loops -march=k8 -DPARALLEL_MODE=PARALLEL_128_SSE2 -c FFdecsa.c
g++ -O3 -fomit-frame-pointer -fexpensive-optimizations -funroll-loops -march=k8 -DPARALLEL_MODE=PARALLEL_128_SSE2 -c FFdecsa_test.c
g++ -O3 -fomit-frame-pointer -fexpensive-optimizations -funroll-loops -march=k8 -o FFdecsa_test FFdecsa_test.o FFdecsa.o
FFdecsa 1.0: testing correctness and speed
CORRECT!
CORRECT!
CORRECT!
CORRECT!
CORRECT!
speed=247.986792 Mbit/s
speed=168469.288049 pkts/s
Das ist aber besser, als die von hand Optimierten Flags (ca. 170 MBit/s)speed=251.606728 Mbit/s
speed=170928.483522 pkts/s
### VDR-SC FFdeCSA Makefile OPTS ###
CPUOPT ?= core2
PARALLEL ?= PARALLEL_128_SSE2
CSAFLAGS ?= -O3 -fexpensive-optimizations -funroll-loops
make[2]: Verlasse Verzeichnis '/home/laurent/vdr-plugin-sc-1.0.0+hg20110429/FFdecsa'
g++ -g -Wall -Woverloaded-virtual -Wno-parentheses -O2 -fPIC -shared sc.o data.o filter.o system.o misc.o cam.o device.o version.o smartcard.o network.o crypto.o system-common.o parse.o log.o override.o FFdecsa/FFdecsa.o -lcrypto -o libvdr-sc.so
/usr/bin/ld: FFdecsa/FFdecsa.o: relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
FFdecsa/FFdecsa.o: could not read symbols: Bad value
collect2: ld returned 1 exit status
make[1]: *** [libvdr-sc.so] Fehler 1
make[1]: Verlasse Verzeichnis '/home/laurent/vdr-plugin-sc-1.0.0+hg20110429'
make: *** [common-build-arch] Fehler 2
dpkg-buildpackage: Fehler: Fehler-Exitstatus von debian/rules build war 2
# FFdeCSA
### VDR-SC FFdeCSA Makefile OPTS ###
CPUOPT ?= core2
PARALLEL ?= PARALLEL_128_SSE2
CSAFLAGS ?= -Wall -fPIC -g -O3 -mmmx -fomit-frame-pointer -fexpensive-optimizations -funroll-loops
FFDECSADIR = FFdecsa
FFDECSA = $(FFDECSADIR)/FFdecsa.o
FFDECSATEST = $(FFDECSADIR)/FFdecsa_test.done
Kampfsau FFdecsa # ./FFdecsa_test
FFdecsa 1.0: testing correctness and speed
CORRECT!
CORRECT!
CORRECT!
CORRECT!
CORRECT!
speed=411.744413 Mbit/s
speed=279717.671630 pkts/s
CORRECT!
CORRECT!
CORRECT!
CORRECT!
CORRECT!
### GENERIC FFdeCSA make OPTS ###
FLAGS="-O3 -march=native -fexpensive-optimizations -funroll-loops" PARALLEL_MODE=PARALLEL_128_SSE2
habe mit diesen parametern neugebaut
muß das auch dazu?
Code:### GENERIC FFdeCSA make OPTS ### FLAGS="-O3 -march=native -fexpensive-optimizations -funroll-loops" PARALLEL_MODE=PARALLEL_128_SSE2
Bisher das beste Ergebnis:hdvdr01 sc # ./cpuopt.sh
### FFdecsa optimization helper/benchmark
### Version 9
### CPU-INFO ###
System: x86
Auto detected arch: k8
Vendor-ID: AuthenticAMD
CPU-Family: 15
CPU-Model: 107
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow extd_apicid pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy 3dnowprefetch lbrv
Using compilers "native" flags
### FFdeCSA TEST ###
Using compiler: g++
Flags: -march=native -fomit-frame-pointer -fexpensive-optimizations -funroll-loops
Testing optimization levels 2 and 3
Level -O2:
PARALLEL_32_INT
- 111, 135, 148, 150, 150, 150, 150, 150, 150, 150
- 150 Mbit/s max.
PARALLEL_64_2INT
- 109, 154, 154, 154, 154, 154, 154, 154, 154, 154
- 154 Mbit/s max.
PARALLEL_64_LONG
- 97, 106, 116, 116, 116, 116, 116, 116, 116, 116
- 116 Mbit/s max.
PARALLEL_64_MMX
- 173, 210, 248, 220, 248, 248, 248, 248, 248, 248
- 248 Mbit/s max.
PARALLEL_128_2LONG
- 105, 130, 130, 130, 130, 130, 130, 130, 130, 130
- 130 Mbit/s max.
PARALLEL_128_2MMX
- 173, 276, 276, 276, 276, 277, 277, 277, 275, 277
- 277 Mbit/s max.
PARALLEL_128_SSE
- 154, 225, 225, 242, 242, 242, 242, 242, 242, 242
- 242 Mbit/s max.
PARALLEL_128_SSE2
- 188, 216, 257, 256, 257, 257, 257, 257, 257, 258
- 258 Mbit/s max.
Fastest PARALLEL_MODE = PARALLEL_128_2MMX (277 Mbit/s)
Level -O3:
PARALLEL_32_INT
...failed!
PARALLEL_64_2INT
...failed!
PARALLEL_64_LONG
- 90, 114, 116, 116, 116, 116, 116, 111, 116, 116
- 116 Mbit/s max.
PARALLEL_64_MMX
- 161, 208, 223, 222, 222, 222, 223, 223, 223, 223
- 223 Mbit/s max.
PARALLEL_128_2LONG
- 100, 108, 118, 118, 118, 118, 118, 118, 118, 110
- 118 Mbit/s max.
PARALLEL_128_2MMX
- 173, 234, 264, 266, 265, 265, 264, 264, 264, 266
- 266 Mbit/s max.
PARALLEL_128_SSE
- 189, 225, 225, 225, 225, 225, 225, 226, 225, 225
- 226 Mbit/s max.
PARALLEL_128_SSE2
- 195, 241, 262, 254, 261, 260, 261, 261, 261, 261
- 262 Mbit/s max.
Fastest PARALLEL_MODE = PARALLEL_128_2MMX (266 Mbit/s)
Best result with -O2 and PARALLEL_128_2MMX at 277 Mbit/s
### VDR-SC FFdeCSA Makefile OPTS ###
CPUOPT ?= native
PARALLEL ?= PARALLEL_128_2MMX
CSAFLAGS ?= -O2 -fomit-frame-pointer -fexpensive-optimizations -funroll-loops
### GENERIC FFdeCSA make OPTS ###
FLAGS="-O2 -march=native -fomit-frame-pointer -fexpensive-optimizations -funroll-loops" PARALLEL_MODE=PARALLEL_128_2MMX
g++ -O2 -fomit-frame-pointer -fexpensive-optimizations -funroll-loops -march=native -o FFdecsa_test FFdecsa_test.o FFdecsa.o
FFdecsa 1.0: testing correctness and speed
CORRECT!
CORRECT!
CORRECT!
CORRECT!
CORRECT!
speed=276.041406 Mbit/s
speed=187528.129219 pkts/s
Best result with -O3 and PARALLEL_128_SSE at 491 Mbit/s
### VDR-SC FFdeCSA Makefile OPTS ###
CPUOPT ?= native
PARALLEL ?= PARALLEL_128_SSE
CSAFLAGS ?= -O3 -fexpensive-optimizations -funroll-loops
ich habe leider die version 9 nicht mehr.ich benutze die 9b wo -fpic übergeben wird.Bitte poste die komplette Ausgabe von dem Script und die Fehlermeldung dazu wenn du die Parameter ins vdr-sc Makefile übernimmst.
FFdecsa 1.0: testing correctness and speed
CORRECT!
CORRECT!
CORRECT!
CORRECT!
CORRECT!
speed=396.751240 Mbit/s
speed=269532.092288 pkts/s
CORRECT!
CORRECT!
CORRECT!
CORRECT!
CORRECT!
make[2]: Verlasse Verzeichnis '/home/laurent/vdr-plugin-sc-1.0.0+hg20110429/FFdecsa'
g++ -g -Wall -Woverloaded-virtual -Wno-parentheses -O2 -fPIC -shared sc.o data.o filter.o system.o misc.o cam.o device.o version.o smartcard.o network.o crypto.o system-common.o parse.o log.o override.o FFdecsa/FFdecsa.o -lcrypto -o libvdr-sc.so
/usr/bin/ld: FFdecsa/FFdecsa.o: relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
FFdecsa/FFdecsa.o: could not read symbols: Bad value
collect2: ld returned 1 exit status
make[1]: *** [libvdr-sc.so] Fehler 1
make[1]: Verlasse Verzeichnis '/home/laurent/vdr-plugin-sc-1.0.0+hg20110429'
make: *** [common-build-arch] Fehler 2
dpkg-buildpackage: Fehler: Fehler-Exitstatus von debian/rules build war 2
Best result with -O3 and PARALLEL_128_SSE2 at 552 Mbit/s
### VDR-SC FFdeCSA Makefile OPTS ###
CPUOPT ?= native
PARALLEL ?= PARALLEL_128_SSE2
CSAFLAGS ?= -fPIC -O3 -fexpensive-optimizations -funroll-loops
Kampfsau FFdecsa # ./cpuopt.sh
./cpuopt.sh: Zeile 2: $'\r': Kommando nicht gefunden.
### FFdecsa optimization helper/benchmark
### Version 9c
./cpuopt.sh: Zeile 8: $'\r': Kommando nicht gefunden.
./cpuopt.sh: Zeile 18: $'\r': Kommando nicht gefunden.
./cpuopt.sh: Zeile 19: $'\r': Kommando nicht gefunden.
./cpuopt.sh: Zeile 23: $'\r': Kommando nicht gefunden.
./cpuopt.sh: Zeile 26: $'\r': Kommando nicht gefunden.
./cpuopt.sh: Zeile 31: $'\r': Kommando nicht gefunden.
./cpuopt.sh: Zeile 40: $'\r': Kommando nicht gefunden.
./cpuopt.sh: Zeile 41: Syntaxfehler beim unerwarteten Wort `$'{\r''
'/cpuopt.sh: Zeile 41: ` print_usage() {
mach nochmal, hier läufts.
Pitty
Kampfsau FFdecsa # ./FFdecsa_optimization_helper_V9c.sh
./FFdecsa_optimization_helper_V9c.sh: Zeile 2: $'\r': Kommando nicht gefunden.
g++ -g -Wall -Woverloaded-virtual -Wno-parentheses -O2 -fPIC -shared sc.o data.o filter.o system.o misc.o cam.o device.o version.o smartcard.o network.o crypto.o syst em-common.o parse.o log.o override.o FFdecsa/FFdecsa.o -lcrypto -o libvdr-sc.so
/usr/bin/ld: FFdecsa/FFdecsa.o: relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
FFdecsa/FFdecsa.o: could not read symbols: Bad value
collect2: ld returned 1 exit status
make[1]: *** [libvdr-sc.so] Error 1
make[1]: *** Waiting for unfinished jobs....
Wir verwenden Cookies und ähnliche Technologien für folgende Zwecke:
Akzeptieren Sie Cookies und diese Technologien?
Wir verwenden Cookies und ähnliche Technologien für folgende Zwecke:
Akzeptieren Sie Cookies und diese Technologien?