Dies ist eine mobil optimierte Seite, die schnell lädt. Wenn Sie die Seite ohne Optimierung laden möchten, dann klicken Sie auf diesen Text.

[Script] VDR-SC FFdecsa optimization

    Nobody is reading this thread right now.
Wie sieht es damit aus:
Code:
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
Ich habe mal gelesen, dass pni auch sse3 bedeutet...

Ich habe das mal getestet. Bei mir zumindest wird das Ergebnis schlechter, wenn ich -msse3 mit angebe...

Ich schreibe ab sofort hier weiter, da mein Englisch nicht so gut ist.

Ich habe nun das Skript laufen lassen und diese Ergebnisse:
Wenn ich das in das Makefile eintrage, dann bekomme ich:
Die Ergebnisse Schwanken
speed=251.606728 Mbit/s
speed=170928.483522 pkts/s
Das ist aber besser, als die von hand Optimierten Flags (ca. 170 MBit/s)
 
Zuletzt bearbeitet von einem Moderator:
ich habe mit dieser Einstellung kompiliert, aber leider gibt es fehler

Code:
### VDR-SC FFdeCSA Makefile OPTS ###
CPUOPT     ?= core2
PARALLEL   ?= PARALLEL_128_SSE2
CSAFLAGS   ?= -O3 -fexpensive-optimizations -funroll-loops

Code:
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
habe mit diesen parametern neugebaut

Code:
# 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
der speed

leider gibt mir das script diese einstellungen nicht raus...

Code:
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!
edit

muß das auch dazu?

Code:
### GENERIC FFdeCSA make OPTS ###
FLAGS="-O3 -march=native -fexpensive-optimizations -funroll-loops" PARALLEL_MODE=PARALLEL_128_SSE2
 
Zuletzt bearbeitet von einem Moderator:
AW: [Script] VDR-SC FFdecsa optimization

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

Nö, das ist nur dazu da, wenn man FFdecsa direkt bauen möchte ohne vdr-sc.


@all
Probiert mal bitte die neuste V9.
Ich habe da einige sachen geändert. Der Test dauert jetzt ein wenig länger.
 
AW: [Script] VDR-SC FFdecsa optimization

V9 funktioniert gut:

### FFdecsa optimization helper/benchmark
### Version 9


### CPU-INFO ###
System: x86
Auto detected arch: amdfam10

Vendor-ID: AuthenticAMD
CPU-Family: 16
CPU-Model: 6
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 pdpe1gb rdtscp lm 3dnowext 3dnow constant_tsc nonstop_tsc extd_apicid pni monitor cx16 popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt npt lbrv svm_lock nrip_save

gcc version 4.5.0 20100604 [gcc-4_5-branch revision 160292] (SUSE Linux)
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
- 184, 183, 183, 170, 184, 178, 182, 167, 181, 169
- 184 Mbit/s max.
PARALLEL_64_2INT
- 180, 166, 174, 168, 179, 167, 181, 165, 167, 166
- 181 Mbit/s max.
PARALLEL_64_LONG
- 128, 134, 124, 130, 133, 136, 132, 135, 127, 126
- 136 Mbit/s max.
PARALLEL_64_MMX
- 313, 312, 286, 313, 314, 278, 315, 314, 284, 313
- 315 Mbit/s max.
PARALLEL_128_2LONG
- 151, 148, 139, 140, 145, 151, 151, 140, 150, 151
- 151 Mbit/s max.
PARALLEL_128_2MMX
- 298, 275, 273, 275, 278, 274, 297, 275, 296, 282
- 298 Mbit/s max.
PARALLEL_128_SSE
- 369, 370, 371, 329, 345, 315, 371, 344, 370, 342
- 371 Mbit/s max.
PARALLEL_128_SSE2
- 405, 383, 381, 370, 374, 373, 408, 379, 375, 378
- 408 Mbit/s max.
Fastest PARALLEL_MODE = PARALLEL_128_SSE2 (408 Mbit/s)

Level -O3:
PARALLEL_32_INT
...failed!
PARALLEL_64_2INT
...failed!
PARALLEL_64_LONG
- 137, 148, 134, 149, 138, 136, 148, 148, 137, 142
- 149 Mbit/s max.
PARALLEL_64_MMX
- 311, 311, 302, 313, 307, 314, 311, 294, 286, 286
- 314 Mbit/s max.
PARALLEL_128_2LONG
- 183, 185, 166, 171, 170, 170, 171, 170, 186, 171
- 186 Mbit/s max.
PARALLEL_128_2MMX
- 287, 289, 266, 263, 269, 286, 269, 284, 267, 264
- 289 Mbit/s max.
PARALLEL_128_SSE
- 376, 345, 342, 374, 346, 343, 345, 345, 335, 375
- 376 Mbit/s max.
PARALLEL_128_SSE2
- 426, 397, 401, 427, 390, 397, 382, 394, 426, 426
- 427 Mbit/s max.
Fastest PARALLEL_MODE = PARALLEL_128_SSE2 (427 Mbit/s)


Best result with -O3 and PARALLEL_128_SSE2 at 427 Mbit/s


### VDR-SC FFdeCSA Makefile OPTS ###
CPUOPT ?= native
PARALLEL ?= PARALLEL_128_SSE2
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_SSE2
 
V9: Bisher das beste Ergebnis:
 
ich habe die v9 gerade ausprobiert

Code:
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
aber leider lässt sich damit nicht bauen..warum?

wenn ich das

"-fPIC" hinzufüge funktioniert der bau.

ist da noch ein bug im script?
 
Zuletzt bearbeitet von einem Moderator:
AW: [Script] VDR-SC FFdecsa optimization

Mit v9b und dem zusätzlichen -fPIC bekomme ich dieselben Ergebnisse wie mit v9 ohne -fPIC.
Wenn ich aber -fPIC direkt im ./FFdecsa/Makefile eintrage, wird das Ergebnis langsamer (390 statt 430).
 
AW: [Script] VDR-SC FFdecsa optimization

@JyJyJ
Hab mit "-fPIC" auch Geschwindigkeitseinbußen (hier ca. 20%).
Baut das Plugin bei dir auch ohne "-fPIC" im FFdecsa Teil?

@dippes
Hier läuft das Bauen von vdr-sc auch ohne "-fPIC" fehlerfrei durch, und das mit _PARALLEL_128_2MMX/SSE/SSE2 und den beiden O-levels 2 und 3.

Bitte poste die komplette Ausgabe von dem Script und die Fehlermeldung dazu wenn du die Parameter ins vdr-sc Makefile übernimmst.

Ansonsten hast du bis auf die vom Script vorgeschlagenen Parameter am vdr-sc Makefile nix verändert, oder?
Das Makefile im FFdecsa Ordner bleibt unverändert!


@all
Hab "-fPIC" vorerst wieder entfernt (V9c)
 
AW: [Script] VDR-SC FFdecsa optimization

Ja, mit
/FFdecsa # cat Makefile | grep "FLAGS "
FLAGS ?= -O3 -march=amdfam10 -fomit-frame-pointer -fexpensive-optimizations -funroll-loops
baut er und läuft am schnellsten (dasselbe mit -march=native).
 
Bitte poste die komplette Ausgabe von dem Script und die Fehlermeldung dazu wenn du die Parameter ins vdr-sc Makefile übernimmst.
ich habe leider die version 9 nicht mehr.ich benutze die 9b wo -fpic übergeben wird.

Hier mein Makefile

Link veralten (gelöscht)


Hier die Fehlermeldung beim Kombilieren

Code:
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
Hier die Ausgeb vom Script v9b

ich habe legendlich -fPIC entfernt

Code:
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
die 9c scheint nicht zu funktionieren

Code:
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() {
 
Zuletzt bearbeitet von einem Moderator:
AW: [Script] VDR-SC FFdecsa optimization

mach nochmal, hier läufts.

Pitty
 
AW: [Script] VDR-SC FFdecsa optimization

mach nochmal, hier läufts.

Pitty

wenn ich das script mit dem downloadschalter runterlade und ausführbar mache habe ich diese fehlermeldung

Code:
Kampfsau FFdecsa # ./FFdecsa_optimization_helper_V9c.sh
./FFdecsa_optimization_helper_V9c.sh: Zeile 2: $'\r': Kommando nicht gefunden.

wenn ich den text reinkopiere,denn obengenannten fehler.
 
AW: [Script] VDR-SC FFdecsa optimization

ich musste auch "-fPIC" hinzufügen um erfolgreich zu bauen, hier die Fehlermeldung ohne fPIC:


habe ausschließlich das Makefile von vdr-sc geändert:

sed -i "s/CPUOPT ?= pentium/CPUOPT ?= amdfam10/" Makefile
sed -i "s/PARALLEL ?= PARALLEL_32_INT/PARALLEL ?= PARALLEL_128_SSE2/" Makefile
sed -i "s/CSAFLAGS ?= -Wall -fPIC -g -O3 -mmmx -fomit-frame-pointer -fexpensive-optimizations -funroll-loops/CSAFLAGS ?= -O3 -fexpensive-optimizations -fomit-frame-pointer -funroll-loops/" Makefile

Mit native bekomme ich den selben fehler
 
AW: [Script] VDR-SC FFdecsa optimization

Hallo, hab den test auf meinem Zotac D-ATX board laufen lassen. Atom D525 Prozessor. Und hier die ergebnisse. Best result with -O3 and PARALLEL_128_SSE2 at 175 Mbit/s ### VDR-SC FFdeCSA Makefile OPTS ### CPUOPT ?= native PARALLEL ?= PARALLEL_128_SSE2 CSAFLAGS ?= -O3 -fomit-frame-pointer -fexpensive-optimizations -funroll-loops ### GENERIC FFdeCSA make OPTS ### FLAGS=&quot;-O3 -march=native -fomit-frame-pointer -fexpensive-optimizations -funroll-loops&quot; PARALLEL_MODE=PARALLEL_128_SSE2 Wo muss ich die optionen rein schreiben? Ich nehme an in /usr/src/VDR/make.conf und in /usr/src/VDR/PLUGINS/src/sc/make.conf Beide Dateien existieren bei mir nicht :-/ Sorry für meine dummen Fragen :-D </br>
 
Für die Nutzung dieser Website sind Cookies erforderlich. Du musst diese akzeptieren, um die Website weiter nutzen zu können. Erfahre mehr…