Neuer Port lame-mt - Bitte testen!

Yamagi

Possessed With Psi Powers
Teammitglied
Hi,
ich habe Lame-MT auf FreeBSD geportet und möchte euch bitten, den Port einmal zu testen, bevor ich ihn submitte. Den es ist erstmal mein erster echter Port und außerdem habe ich ziemlich tiefgreifende Veränderungen am Buildsystem von Lame-MT vorgenommen, sodass ein wenig mehr Testing sicherlich nicht schaden kann.

Bei Lame-MT handelt es sich um eine zu 100% kompatible, multithreaded Version des Lame-Encoders. Anders als das Original berechnet er die psychoakustischen Analysen seperat, sodass diese auf einer anderen CPU als das eigentliche Encoding ausgeführt werden können. Dies hebt bei Dualcore-Prozessoren und Multiprozessormaschinen die Leistung des Encoders deutlich.

Links
Lame-MT Homepage: http://softlab.technion.ac.il/project/LAME/html/lame.html
Benchmarks (Windows): http://techreport.com/reviews/2005q2/pentiumd-820/index.x?pg=10

Der Port
Den Port findet ihr hier: http://www.yamagi.org/freebsd/ports/lame-mt/lame-mt.tar.gz
 
ich würde ja helfen, aber erstens benutze ich nur vorbisenc und zweitens habe ich kein SMP-system, trotzdem viel glück!
 
Ich werd's mir mal anschauen, bin mir aber - auf den ersten Blick - nicht ganz sicher ob's beim einem UP-System viel bringt...

Hast du mal auf irgendeiner FreeBSD-Mailingliste angefragt? Da werden sich garantiert noch einige finden die testen helfen. :)
 
Noch nicht, ich wollte erst einmal sicherstellen, dass wenigstens der grundlegende Kram funktioniert. Und tatsächlich hatte ich noch einen üblen Fehler im Libtool, der sich bei mir lokal allerdings nicht zeigte.
 
Dein Port baut hier auf 6.1-RELEASE ohne Probleme. Auch scheint es so, als ob das encodieren klappen würde, allerdings kann ich das Ergebnis nicht anhören, da ich keine Soundkarte im Rechner habe.
In der pkg-descr hat es noch einen Schreibfehler (multitreaaed) und die Zeilen sind für die Konsole zu lange. Ich würde Dir noch empfehlen, deinen Port mit portlint(1) zu überprüfen.

Gruss Scnaeg
 
Joa, portlint steht heute an, da der Kram jetzt ja einigermaßen zuverlässig zu bauen scheint.
 
Baut, ist aber nicht schneller

Hallo!

Habe gerade deinen lame-mt Port ausprobiert. Der Port baut hier (FreeBSD 6.1-RELEASE-p1) problemlos. Der Rechner ist mit einem Pentium 4 mit 3 GHz und Hyperthreading ausgestattet.

Leider encoded der normale lame auf meinem System schneller (im vorliegenden Fall 22 zu 24 Sekunden). Natürlich habe ich bei beiden Läufen die gleichen Schalter verwendet. Mache ich etwas falsch? Muß man dem lame-mt noch sagen, dass er wirklich mehrere Threads verwenden soll?

Ciao.
Markus Mann
];-)
 
lame ist ein mp3 encoder. ich benutze vor allem unter windows. deinen paket hab ich noch nicht ausprobiert und werde das auch nicht tun. du könntest doch viren damit verbreiten:belehren: , oder? hab ich dich jetzt bloß gestellt?:eek:
 
mach das flamen per pm mit mir um. ich muss mich für ihn entschuldigen.
 
max93 schrieb:
Leider encoded der normale lame auf meinem System schneller (im vorliegenden Fall 22 zu 24 Sekunden). Natürlich habe ich bei beiden Läufen die gleichen Schalter verwendet. Mache ich etwas falsch? Muß man dem lame-mt noch sagen, dass er wirklich mehrere Threads verwenden soll?
Hyperthreading bringt nur dann etwas, wenn du 2 Prozesse hast, die unterschiedliche Bereiche deiner CPU auslasten. Wenn du mehrere Prozesse hast, die das gleiche machen wollen erhöht sich natürlich das Risiko von Cache Writebacks, die Prozesse müssen öfter aufeinander warten und du hast natürlich allgemein etwas mehr Overhead.

Worauf ich hinaus will, du brauchst schon mehrere Kerne wenn du eine Verbesserung haben willst.
 
max93 schrieb:
Leider encoded der normale lame auf meinem System schneller (im vorliegenden Fall 22 zu 24 Sekunden). Natürlich habe ich bei beiden Läufen die gleichen Schalter verwendet. Mache ich etwas falsch? Muß man dem lame-mt noch sagen, dass er wirklich mehrere Threads verwenden soll?
lame-mt sollte dir eine Ausgabe ala 'using multi-threaded encoder' ausgeben wenn du es aufrufst.
Aktuell sieht es so aus, dass er das auf Yamagis Dualcore amd64 macht, aber auf meinem P3 SMP System und Yamagis Dual Xeon nicht (und wohl auf deinem auch nicht).

=> auf AMD geht es
=> auf Intel nicht
==> keiner weiss warum.

Also noch etwas Geduld.
 
[LoN]Kamikaze schrieb:
Hyperthreading bringt nur dann etwas, wenn du 2 Prozesse hast, die unterschiedliche Bereiche deiner CPU auslasten.
AFAICS soll lame-mt ja genau das machen. Verschiedene Threads, die sich um unterschiedliche Dinge kümmern und so schon mit Hyperthreading Geschwindigkeitsvorteile liefern (ich lese das jedenfalls so aus der kurzen Beschreibung von der lame-mt Homepage).

[LoN]Kamikaze schrieb:
Worauf ich hinaus will, du brauchst schon mehrere Kerne wenn du eine Verbesserung haben willst.
Hätte ich ja wirklich gerne, aber die passenden Boards hatten alle irgendein Manko, das ich nicht in Kauf nehmen wollte. Vornehmlich keine PCI-Steckplätze und ich hätte mir dann für mein altes Plextor und den Streamer extra noch eine PCIe SCSI-Karte kaufen müssen...

Ciao.
Markus Mann
];-)
 
Ich mache das vor allem an cpercival@s Sicherheitslücke fest. Außerdem finde ich persönlich Hyperthreading ziemlich ekelhaft (rein geschmacklich ;) ). Es gab glaube ich auf der lame-mt Seite einen Link zu Benchmarks, da bringts mit Hyperthreading wohl schon einiges an Performance. Aber auf Hyperthreading und Performancesteigerung würde ich eh nicht hoffen, da gibt es zuviele Gegenbeispiele.

Bis auf die Sicherheitsprobleme und Performanceeinbußen spricht eigentlich nichts dagegen Hyperthreading anzumachen :)
 
Maledictus schrieb:
Bis auf die Sicherheitsprobleme und Performanceeinbußen spricht eigentlich nichts dagegen Hyperthreading anzumachen :)
Performanceeinbußen aufgrund von Hyperthreading höre ich ehrlich gesagt zum ersten mal, die Sicherheitsprobleme sind mir bekannt. Aber ich bin ja alleine auf dem System unterwegs, da fallen die nicht ins Gewicht.

Und da die ganze Halbleiter-Hersteller-Welt ja großangelegt in Richtung Mulit-Core schwenkt habe ich bald einen Dinosaurier, den die halbe Welt mit Ah!s und Oh!s bestaunen wird ];-)

Ciao.
Markus Mann
];-)
 
lame-mt fetcht und baut auch auf FreeBSD 5.5-STABLE

Hallo Yamagi,

habe eben einfach mal grobmotorisch ausprobiert,
ob der Port fetcht und baut.
(nur ein make im Portverzeichnis abgesetzt, nicht installiert)

Mein System ist ein FreeBSD 5.5-STABLE
und ich habe nur einen Einzelprozessor
AMD Athlon XP (Barton, Sockel "A").

So würde das resultierende lame-mt bei mir
wohl nichts bringen können,
aber ich dachte, ich kann ja wenigstens mal ausprobieren
ob der Port fetcht und baut.

Und das tut er einwandfrei! :cool:

Aber ein blöde Frage:
Wann schlägt eigentlich das
Code:
CONFLICTS= lame-*
zu?

Muß dazu sagen,
habe den lame-mt Port
einfach nur mal schnell nach /usr/ports/audio gesetzt,
und den INDEX nicht neu gebaut.
Würde es dann beim Installationsversuch sagen:
"halt, das passt nicht, da ist schon was anderes"?


Gruß, Fusselbär
 
Im Netz steht noch eine alte Version, in der der CONFLICTS Eintrag noch falsch ist. Kurz: So hat das Paket einen Konflikt auf sich selbst, was nicht gut ist. Dies und andere Fehler an der Makefile sind aber in meiner lokalen Fassung bereits gefixt.
Korrekt muss die Zeile natürlich "CONFILCTS= lame-3*" heißen. Der Konfilkt mit dem "richtigen" Lame ist allerdings nicht so einfach zu lösen, da Lame-MT ja ein 100% kompatibles Replacement sein soll und als solches die gleichen Libs und Binaries installieren muss.

Mit dem Problem, dass er auf Intel-Systemen ohne Multithreadsupport baut, habe ich mich zugegbenermaßen noch nicht näher beschäftigt. Allerdings werde ich morgen versuchen das Problem (ich vermute im Buildsystem) zu finden und zu beheben. Danach werde ich die neue Version euch zum Testen geben :)

Ach ja: Die von mir bezogenen Benchmarks bezogen sich auf Windows. Dies profitiert meiner Erfahrung nach von HT deutlich mehr als FreeBSD, weshalb ich die Benchmarks der HT-Pentiums nicht ohne weiteres 1:1 auf FreeBSD übertragen würde...
 
Zurück
Oben