App installieren
How to install the app on iOS
Follow along with the video below to see how to install our site as a web app on your home screen.
Anmerkung: This feature may not be available in some browsers.
Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden.
Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Alles rund um Compiler und Softwareentwicklung
- Ersteller gruffi
- Erstellt am
Nochmal zu Herrn Stillers Matrix-Reloaded. Wenn ich die Matrixmultiplikation zweier quadratischer Matrizen mit der Seitenlänge N habe, erfordert die Berechnung der Endmatrix 2*N^3 Fließkomma-Operationen? Oder liege ich da falsch?
Falls das stimmt: Auch mit dem neuen MinGW 4.9 kommt mein K8 @ 1,6 GHz nicht über 0,6 GFLOPs hinaus. Das ist ziemlich mager. LinX sagt mir, der Prozessor sollte auf einem Kern ca. 1,6 GFlops schaffen.
Falls das stimmt: Auch mit dem neuen MinGW 4.9 kommt mein K8 @ 1,6 GHz nicht über 0,6 GFLOPs hinaus. Das ist ziemlich mager. LinX sagt mir, der Prozessor sollte auf einem Kern ca. 1,6 GFlops schaffen.
mariahellwig
Grand Admiral Special
Die (beste) ausgefallenste Lösung bringt ohne den Softwaresupport nichts und die Freaks, die den Genius der Produkte erkennen, sind nicht "Der Markt".
Mantle ist jetzt endlich mal ein positives Beispiel für AMD, genau sowas meine ich ja.
Stimmt. Aber du musst dir im Klaren, dass dies ein sehr langer Weg ist.
Der erste Schritt ist erst mal eine Parallelisierung auf einem anerkannten Standard. Die meisten Hochsprachen haben dafür mittlerweile Sprachkonstrukte eingeführt, mit denen diese Abstraktion möglich ist, wie z.B. C++ AMP. Dann müssen Standards zur Zertifizierung eingereicht werden, welche dann verabschiedet werden müssen, bei allen Interessengegensätzen. Dann muss sich dieser Standard in den Compilern wiederfinden und letztlich dieser Standard von den Entwicklern angenommen werden. Bis es soweit ist, vergehen meist Jahre. Es ist natürlich hilfreich, wenn ein Entwickler sieht und fühlt, der neue Standard bringt Vorteile. Und zwar nicht nur auf einer wenig verbreiteten Plattfrom wie AMD. Wenn ist damit nur 10% der Kunden erreiche, wird das wenig Begeisterung auslösen.
FredD
Gesperrt
- Mitglied seit
- 25.01.2011
- Beiträge
- 2.472
- Renomée
- 43
Passt im Grunde schon: für jedes einzelne Zell-Ergebnis E_ij in der Ergebnis-Matrix benötigt man genau N Multiplikationen und N - 1 Additionen. Die Ergebnis-Matrix hat wiederum N ^ 2 Zellen.Nochmal zu Herrn Stillers Matrix-Reloaded. Wenn ich die Matrixmultiplikation zweier quadratischer Matrizen mit der Seitenlänge N habe, erfordert die Berechnung der Endmatrix 2*N^3 Fließkomma-Operationen? Oder liege ich da falsch?
S. 9 aus: http://cvpr.uni-muenster.de/teaching/ss09/info2SS09/script/Kapitel4-Komplexitaet-1.pdfCode:for(int i = 1; i <= n; i++) for(int j = 1; j <= n; j++) { rij= 0; for(int k = 1; k <= n; k++) rij += a_ik * b_kj; }
- Der Standardalgorithmus zur Multiplikation zweiern n x n -Matrizen benötigt n ^3 skalare Multiplikationen und n ^2 * (n–1) Additionen
- Zeitaufwand: theta (n^3)
- Speicherbedarf: theta (n^2)
Zuletzt bearbeitet:
gruffi
Grand Admiral Special
- Mitglied seit
- 08.03.2008
- Beiträge
- 5.393
- Renomée
- 65
- Standort
- vorhanden
- Prozessor
- AMD Ryzen 5 1600
- Mainboard
- MSI B350M PRO-VDH
- Kühlung
- Wraith Spire
- Speicher
- 2x 8 GB DDR4-2400 CL16
- Grafikprozessor
- XFX Radeon R7 260X
- Display
- LG W2361
- SSD
- Crucial CT250BX100SSD1
- HDD
- Toshiba DT01ACA200
- Optisches Laufwerk
- LG Blu-Ray-Brenner BH16NS40
- Soundkarte
- Realtek HD Audio
- Gehäuse
- Sharkoon MA-I1000
- Netzteil
- be quiet! Pure Power 9 350W
- Betriebssystem
- Windows 10 Professional 64-bit
- Webbrowser
- Mozilla Firefox
- Verschiedenes
- https://valid.x86.fr/mb4f0j
Wobei es in der Praxis tatsächlich N Additionen sein können. Sieht man ja auch gut an deinem Beispiel. Um auf N - 1 zu kommen, müsste man den ersten Durchlauf der innersten Schleife nach aussen ziehen. Also in etwa so:Passt im Grunde schon: für jedes einzelne Zell-Ergebnis E_ij in der Ergebnis-Matrix benötigt man genau N Multiplikationen und N - 1 Additionen. Die Ergebnis-Matrix hat wiederum N ^ 2 Zellen.
Code:
for (int i = 0; i < n; ++i)
for (int j = 0; j < n; ++j)
{
rij = a_i0 * b_0j;
for (int k = 1; k < n; ++k)
rij += a_ik * b_kj;
}
Und ein Aufwand von 2 * N^3 ist in der Praxis auch nur Theorie. Du siehst ja an deinem Beispiel, dass da noch Inkrementoren/Dekrementoren für die Schleifen hinzukommen. Bei überschaubaren Schleifen, mit einer festen Anzahl an Durchläufen, lässt sich das problemlos mittels Loop Unrolling auflösen. Ansonsten hast du weitere N^3 + N^2 + N Operationen. Unterm Strich sind es in der Praxis also eher 3 * N^3 + N^2 + N Operationen.
@miriquidi
Du solltest halt bedenken, dass es ausser den ADD, INC/DEC und MUL Instruktionen noch andere Instruktionen drumherum gibt. Gerade Sprünge können viel kosten.
Zuletzt bearbeitet:
Ist ja auch bei Linpack nicht anders, Adressen usw. müssen parallel berechnet werden. Gezählt werden aber nur die Fließkomma-Operationen.
0,6 GFlops bei 1,6 GHz Takt wären 0,375 Fließkomma-Instruktionen pro Takt. Ziemlich mager.
0,6 GFlops bei 1,6 GHz Takt wären 0,375 Fließkomma-Instruktionen pro Takt. Ziemlich mager.
bbott
Grand Admiral Special
- Mitglied seit
- 11.11.2001
- Beiträge
- 4.363
- Renomée
- 60
- Mein Laptop
- HP Compaq 8510p
- Prozessor
- AMD FX-8370
- Mainboard
- Asus M5A99X
- Kühlung
- Corsair H60
- Speicher
- 16GB DDR3-1866 Crucial
- Grafikprozessor
- Sapphire HD5770
- Display
- 4k 27" DELL
- SSD
- Samsung Evo 850
- HDD
- 2x Seagate 7200.12
- Optisches Laufwerk
- Pioneer, Plextor
- Soundkarte
- Creative X-Fi Xtreme Music
- Gehäuse
- Silverstone TJ-02S
- Netzteil
- Enermax 450W
- Betriebssystem
- Windows 7
Ja das ist Rosinen Pickerei, die ganz großen Schübe 100%+ kommen nicht durch Optimieren sondern durch den Einsatz von neuen Features (AVX2).
Intel ist nun mal soweit, das sie ihre Quell Code nur nochmal durch den Compiler laufen lassen damit neue Befehlssätze genutzt werden.
Das kann AMD noch nicht, sie sind aber auf dem richtigen Weg mit HSA.
Jein, bei beiden kam soweit ich richtig in Erinnerung habe AVX (2) zu Einsatz, selbst wenn es würde nur ein Faktor von ~2x ausmachen. Das ist ein Beispiel das zeigt, das ein guter Code und/oder ein guter Compiler mit den richtigen Flags mehr an Geschwindigkeit kosten bzw. herausholen kann, als jeder Befehlssatz XY oder neue CPU bringen kann. Das hat uns auch unser Professor aufgezeigt.
Die Software bzw. Compiler hat einen weit größeren Einfluss auf die Performance als die "richtige" Hardware, das ist die Grundaussage solcher Tests. Eine Benachteiligung um ein paar Prozent um einen Wettbewerbsvorteil zu erlangen, kann man die diesem breiten Performance-Spektrum sehr gut "verstecken" bzw. schwer nachweisen und falls man erwischt wird war es unabsichtlich
WindHund
Grand Admiral Special
- Mitglied seit
- 30.01.2008
- Beiträge
- 12.225
- Renomée
- 536
- Standort
- Im wilden Süden (0711)
- Mitglied der Planet 3DNow! Kavallerie!
- Aktuelle Projekte
- NumberFields@home
- Lieblingsprojekt
- none, try all
- Meine Systeme
- RYZEN R9 3900XT @ ASRock Taichi X570 & ASUS RX Vega64
- BOINC-Statistiken
- Prozessor
- AMD Ryzen 9 5950X
- Mainboard
- ASRock 570X Taichi P5.05 Certified
- Kühlung
- AlphaCool Eisblock XPX, 366x40mm Radiator 6l Brutto m³
- Speicher
- 2x 16 GiB DDR4-3600 CL26 Kingston (Dual Rank, unbuffered ECC)
- Grafikprozessor
- 1x ASRock Radeon RX 6950XT Formula OC 16GByte GDDR6 VRAM
- Display
- SAMSUNG Neo QLED QN92BA 43" up to 4K@144Hz FreeSync PP HDR10+
- SSD
- WD_Black SN850 PCI-Express 4.0 NVME
- HDD
- 3 Stück
- Optisches Laufwerk
- 1x HL-DT-ST BD-RE BH10LS30 SATA2
- Soundkarte
- HD Audio (onboard)
- Gehäuse
- SF-2000 Big Tower
- Netzteil
- Corsair RM1000X (80+ Gold)
- Tastatur
- Habe ich
- Maus
- Han I
- Betriebssystem
- Windows 10 x64 Professional (up to date!)
- Webbrowser
- @Chrome.Google & Edge Chrome
@Gruffi
Dein compilat macht bei x264 keine Unterschied gegenüber den VLAN.
Mit x265 bräuchte ich zuerst mal ein Crashkurs, die Parameter scheinen anders zu sein.
@bbott
Ok, und die Math Libs haben keinen Einfluss auf das Ergebnis?
Kennt dein Professor FMA4 & XOP überhaupt schon?
Ich kann ja mal SSE4.1, SSE3 und AVX(1) gegentesten mit dem y-cruncher.
Dein compilat macht bei x264 keine Unterschied gegenüber den VLAN.
Mit x265 bräuchte ich zuerst mal ein Crashkurs, die Parameter scheinen anders zu sein.
@bbott
Ok, und die Math Libs haben keinen Einfluss auf das Ergebnis?
Kennt dein Professor FMA4 & XOP überhaupt schon?
Ich kann ja mal SSE4.1, SSE3 und AVX(1) gegentesten mit dem y-cruncher.
gruffi
Grand Admiral Special
- Mitglied seit
- 08.03.2008
- Beiträge
- 5.393
- Renomée
- 65
- Standort
- vorhanden
- Prozessor
- AMD Ryzen 5 1600
- Mainboard
- MSI B350M PRO-VDH
- Kühlung
- Wraith Spire
- Speicher
- 2x 8 GB DDR4-2400 CL16
- Grafikprozessor
- XFX Radeon R7 260X
- Display
- LG W2361
- SSD
- Crucial CT250BX100SSD1
- HDD
- Toshiba DT01ACA200
- Optisches Laufwerk
- LG Blu-Ray-Brenner BH16NS40
- Soundkarte
- Realtek HD Audio
- Gehäuse
- Sharkoon MA-I1000
- Netzteil
- be quiet! Pure Power 9 350W
- Betriebssystem
- Windows 10 Professional 64-bit
- Webbrowser
- Mozilla Firefox
- Verschiedenes
- https://valid.x86.fr/mb4f0j
Für simple Matrixmultiplikationen ohne spezielle Optimierungen wäre das sogar ausgesprochen viel. Da liegen die erreichten GFLOPS normalerweise deutlich niedriger. Man sollte auch nicht vergessen, dass der Speicherzugriff aufgrund der orthogonalen Verarbeitung zum Flaschenhals wird. Das ist nochmal eine ganz andere Geschichte, als wenn du alle Daten schön linear hintereinander weg berechnen könntest. Woher kommen denn deine 0,6 GFLOPS? Und mit Linpack/Linx kann man die Ergebnisse auch nicht vergleichen. Das sind andere Algorithmen.Ist ja auch bei Linpack nicht anders, Adressen usw. müssen parallel berechnet werden. Gezählt werden aber nur die Fließkomma-Operationen.
0,6 GFlops bei 1,6 GHz Takt wären 0,375 Fließkomma-Instruktionen pro Takt. Ziemlich mager.
Natürlich kann das AMD auch. Nur halt nicht mit dem Intel Compiler, sondern mit Compilern wie GCC oder Open64. Da wird auch genügend Vorarbeit geleistet, damit neue Hardware beim Release auch softwareseitig unterstützt werden.Intel ist nun mal soweit, das sie ihre Quell Code nur nochmal durch den Compiler laufen lassen damit neue Befehlssätze genutzt werden.
Das kann AMD noch nicht
---------- Beitrag hinzugefügt um 18:03 ---------- Vorheriger Beitrag um 17:53 ----------
Ich habe die gleichen Parameter wie bei x264 verwendet. Sieht man ja auch in den Screenshots. Hat problemlos funktioniert.Mit x265 bräuchte ich zuerst mal ein Crashkurs, die Parameter scheinen anders zu sein.
FredD
Gesperrt
- Mitglied seit
- 25.01.2011
- Beiträge
- 2.472
- Renomée
- 43
Schleifen sind noch ein extra Punkt. Hatte auch ausdrücklich nur von Multiplikationen und Additionen geschrieben und mich vorsichtig ausgedrückt ("im Grunde schon").Und ein Aufwand von 2 * N^3 ist in der Praxis auch nur Theorie. Du siehst ja an deinem Beispiel, dass da noch Inkrementoren/Dekrementoren für die Schleifen hinzukommen. Bei überschaubaren Schleifen, mit einer festen Anzahl an Durchläufen, lässt sich das problemlos mittels Loop Unrolling auflösen. Ansonsten hast du weitere N^3 + N^2 + N Operationen. Unterm Strich sind es in der Praxis also eher 3 * N^3 + N^2 + N Operationen.
Das Ganze dann für FMA optimieren... ?
WindHund
Grand Admiral Special
- Mitglied seit
- 30.01.2008
- Beiträge
- 12.225
- Renomée
- 536
- Standort
- Im wilden Süden (0711)
- Mitglied der Planet 3DNow! Kavallerie!
- Aktuelle Projekte
- NumberFields@home
- Lieblingsprojekt
- none, try all
- Meine Systeme
- RYZEN R9 3900XT @ ASRock Taichi X570 & ASUS RX Vega64
- BOINC-Statistiken
- Prozessor
- AMD Ryzen 9 5950X
- Mainboard
- ASRock 570X Taichi P5.05 Certified
- Kühlung
- AlphaCool Eisblock XPX, 366x40mm Radiator 6l Brutto m³
- Speicher
- 2x 16 GiB DDR4-3600 CL26 Kingston (Dual Rank, unbuffered ECC)
- Grafikprozessor
- 1x ASRock Radeon RX 6950XT Formula OC 16GByte GDDR6 VRAM
- Display
- SAMSUNG Neo QLED QN92BA 43" up to 4K@144Hz FreeSync PP HDR10+
- SSD
- WD_Black SN850 PCI-Express 4.0 NVME
- HDD
- 3 Stück
- Optisches Laufwerk
- 1x HL-DT-ST BD-RE BH10LS30 SATA2
- Soundkarte
- HD Audio (onboard)
- Gehäuse
- SF-2000 Big Tower
- Netzteil
- Corsair RM1000X (80+ Gold)
- Tastatur
- Habe ich
- Maus
- Han I
- Betriebssystem
- Windows 10 x64 Professional (up to date!)
- Webbrowser
- @Chrome.Google & Edge Chrome
Ok, zumindest bei 32M sind es nur wenige Sekunden die FMA4 & XOP schneller sind, scheint wirklich nicht so viel raus zu reisen!@bbott
Ich kann ja mal SSE4.1, SSE3 und AVX(1) gegentesten mit dem y-cruncher.
Dein Professor scheint zu wissen wovon er redet!
Mit x86 SSE3, wirkt auch das "NRAC Blocking disabled" (~25% schneller) im Vergleich zu x64 SSE3 immer noch langsamer.
Wenn das die entsprechenden Compiler schon können, wird es wohl nicht mehr lang dauern bis CPU+GPU einen gemeinsamen Speicherpool zur Verfügung haben.Natürlich kann das AMD auch. Nur halt nicht mit dem Intel Compiler, sondern mit Compilern wie GCC oder Open64. Da wird auch genügend Vorarbeit geleistet, damit neue Hardware beim Release auch softwareseitig unterstützt werden.
---------- Beitrag hinzugefügt um 18:03 ---------- Vorheriger Beitrag um 17:53 ----------
Ich habe die gleichen Parameter wie bei x264 verwendet. Sieht man ja auch in den Screenshots. Hat problemlos funktioniert.
Ein WasserPool wäre jetzt auch cool! 8)
Ich hab die x264.exe einfach bei den bekannten BenchScripten eingefügt und die Original .exe in .org umbenannt.
Beim UHD Bench lief sie leider nicht, scheinbar keine mp4 Unterstützung.
MfG
gruffi
Grand Admiral Special
- Mitglied seit
- 08.03.2008
- Beiträge
- 5.393
- Renomée
- 65
- Standort
- vorhanden
- Prozessor
- AMD Ryzen 5 1600
- Mainboard
- MSI B350M PRO-VDH
- Kühlung
- Wraith Spire
- Speicher
- 2x 8 GB DDR4-2400 CL16
- Grafikprozessor
- XFX Radeon R7 260X
- Display
- LG W2361
- SSD
- Crucial CT250BX100SSD1
- HDD
- Toshiba DT01ACA200
- Optisches Laufwerk
- LG Blu-Ray-Brenner BH16NS40
- Soundkarte
- Realtek HD Audio
- Gehäuse
- Sharkoon MA-I1000
- Netzteil
- be quiet! Pure Power 9 350W
- Betriebssystem
- Windows 10 Professional 64-bit
- Webbrowser
- Mozilla Firefox
- Verschiedenes
- https://valid.x86.fr/mb4f0j
Ja, ich schrieb doch weiter vorne, dass du beim Eingangsmaterial auf das beschränkt bist, was x264 von Haus aus verarbeiten kann, wie YUV. Für zusätzliche Unterstützung, wie MPEG, müsste man extra noch Bibliotheken übersetzen und dazu linken. Darauf hatte ich irgendwie keine Lust mehr.
bbott
Grand Admiral Special
- Mitglied seit
- 11.11.2001
- Beiträge
- 4.363
- Renomée
- 60
- Mein Laptop
- HP Compaq 8510p
- Prozessor
- AMD FX-8370
- Mainboard
- Asus M5A99X
- Kühlung
- Corsair H60
- Speicher
- 16GB DDR3-1866 Crucial
- Grafikprozessor
- Sapphire HD5770
- Display
- 4k 27" DELL
- SSD
- Samsung Evo 850
- HDD
- 2x Seagate 7200.12
- Optisches Laufwerk
- Pioneer, Plextor
- Soundkarte
- Creative X-Fi Xtreme Music
- Gehäuse
- Silverstone TJ-02S
- Netzteil
- Enermax 450W
- Betriebssystem
- Windows 7
Kennt dein Professor FMA4 & XOP überhaupt schon?.
Das gab es zu dieser Zeit nicht, da war SSE4.x das aktuellste. Aber warum sollte das etwas zur Sache tun?
---------- Beitrag hinzugefügt um 22:28 ---------- Vorheriger Beitrag um 22:10 ----------
Ok, zumindest bei 32M sind es nur wenige Sekunden die FMA4 & XOP schneller sind, scheint wirklich nicht so viel raus zu reisen!
Dein Professor scheint zu wissen wovon er redet!
Ja, davon gehe ich aus. Wir mussten um den Kurs besuchen zu können einen Eignungstest machen, indem wir nur per Manuals zum Proggen nutzen durften in einem Text Editor (nur mit Highlighting), um die Ergebnisse am Semester Ende mit einem Abschusstest (anonym) öffentlich zu vergleichen.
Er hat Code immer in alle Einzelteile zerlegt, teils bis auf die Flags hinunter. Auch durften wir gegen Ende des Semesters selbst mit Code und Compiler Parametern herumspielen, allerdings meist ohne selbst solche Extremen Resultate bzw. Beschleunigungen zu erreichen.
Die Matrizen haben jeweils N mal N Elemente wie in Herrn Stillers Progrämmchen.Woher kommen denn deine 0,6 GFLOPS?
Die GFlops habe ich über die Formel:
2 * N ^3 / Berechnungszeit
berechnet.
Muss mich wohl bei den 0,6 GFlops (K8 1,6 GHz) verrechnet haben. Sind eher 0,43. Wobei jetzt neben der erzeugten .exe immer noch ein Windows svchost.exe Prozess aufschnellt, der einen ganzen CPU-Kern für sich beansprucht. :-?
Ein i7-2640M (mit AVX Support) schafft 2,1 GFlops - mit der SSE3-LinX-Version sind es 20 GFlops.
Das ganze habe ich mit Codeblocks und MinGW 4.9 umgesetzt. Wie bekomme ich MinGW jetzt dazu SSE bzw. AVX-Code zu erzeugen?
---------- Beitrag hinzugefügt um 10:47 ---------- Vorheriger Beitrag um 07:59 ----------
Man kann das auch mit Octave/Matlab machen:
Matlab R2007b:clc;
N = 5000;
A = ones(N);
B = -A;
tic
C = A*B;
D = toc;
disp( ['GFlops:', num2str(2*N^3/D/1e9)]);
K8 X2 1,6 GHz: 4,3 GFlops
Octace 3.8.1:
K8 X2 1,6 GHz: 0,43 GFlops
gruffi
Grand Admiral Special
- Mitglied seit
- 08.03.2008
- Beiträge
- 5.393
- Renomée
- 65
- Standort
- vorhanden
- Prozessor
- AMD Ryzen 5 1600
- Mainboard
- MSI B350M PRO-VDH
- Kühlung
- Wraith Spire
- Speicher
- 2x 8 GB DDR4-2400 CL16
- Grafikprozessor
- XFX Radeon R7 260X
- Display
- LG W2361
- SSD
- Crucial CT250BX100SSD1
- HDD
- Toshiba DT01ACA200
- Optisches Laufwerk
- LG Blu-Ray-Brenner BH16NS40
- Soundkarte
- Realtek HD Audio
- Gehäuse
- Sharkoon MA-I1000
- Netzteil
- be quiet! Pure Power 9 350W
- Betriebssystem
- Windows 10 Professional 64-bit
- Webbrowser
- Mozilla Firefox
- Verschiedenes
- https://valid.x86.fr/mb4f0j
Wenn du die 64-bit Version von MinGW nutzt, wird automatisch mindestens SSE2 genutzt. Ansonsten kann man mit dem Flag -march eine Architektur festlegen. Dann werden alle Befehlssätze genutzt, die die Architektur unterstützt. Einzelne Befehlssatzerweiterungen kann man mit entsprechenden -m Flags explizit aktivieren, zB -mavx oder -mfma. Möchte man diese hingegen explizit nicht nutzen, dann ein no- am Anfang einfügen, zB -mno-avx oder -mno-fma. Will man maximale Optimierung mit dem MinGW, also zB auch Autovektorisierung, gibt es nach wie vor einiges beim Code zu beachten. Ein guter Artikel dazu findet sich hier.Das ganze habe ich mit Codeblocks und MinGW 4.9 umgesetzt. Wie bekomme ich MinGW jetzt dazu SSE bzw. AVX-Code zu erzeugen?
WindHund
Grand Admiral Special
- Mitglied seit
- 30.01.2008
- Beiträge
- 12.225
- Renomée
- 536
- Standort
- Im wilden Süden (0711)
- Mitglied der Planet 3DNow! Kavallerie!
- Aktuelle Projekte
- NumberFields@home
- Lieblingsprojekt
- none, try all
- Meine Systeme
- RYZEN R9 3900XT @ ASRock Taichi X570 & ASUS RX Vega64
- BOINC-Statistiken
- Prozessor
- AMD Ryzen 9 5950X
- Mainboard
- ASRock 570X Taichi P5.05 Certified
- Kühlung
- AlphaCool Eisblock XPX, 366x40mm Radiator 6l Brutto m³
- Speicher
- 2x 16 GiB DDR4-3600 CL26 Kingston (Dual Rank, unbuffered ECC)
- Grafikprozessor
- 1x ASRock Radeon RX 6950XT Formula OC 16GByte GDDR6 VRAM
- Display
- SAMSUNG Neo QLED QN92BA 43" up to 4K@144Hz FreeSync PP HDR10+
- SSD
- WD_Black SN850 PCI-Express 4.0 NVME
- HDD
- 3 Stück
- Optisches Laufwerk
- 1x HL-DT-ST BD-RE BH10LS30 SATA2
- Soundkarte
- HD Audio (onboard)
- Gehäuse
- SF-2000 Big Tower
- Netzteil
- Corsair RM1000X (80+ Gold)
- Tastatur
- Habe ich
- Maus
- Han I
- Betriebssystem
- Windows 10 x64 Professional (up to date!)
- Webbrowser
- @Chrome.Google & Edge Chrome
Ich hatte nicht so viel Zeit und bin eher GUI gewohnt, ich hatte keine Parameter zur Hand bzw im Kopf.Ja, ich schrieb doch weiter vorne, dass du beim Eingangsmaterial auf das beschränkt bist, was x264 von Haus aus verarbeiten kann, wie YUV. Für zusätzliche Unterstützung, wie MPEG, müsste man extra noch Bibliotheken übersetzen und dazu linken. Darauf hatte ich irgendwie keine Lust mehr.
Kein Stress, wenn du mal Zeit findest, wäre 2 Pass noch interessant.
Übrigens, beim y-cruncher kann man sich ein paar Compiler Optionen Anzeigen lassen:
Evt. könnt ihr mehr damit Anfangen als meine Wenigkeit.
Unbekannter Krieger
Grand Admiral Special
- Mitglied seit
- 04.10.2013
- Beiträge
- 4.455
- Renomée
- 66
- Mein Laptop
- HP 15-bq102ng (sackteuer u. ab Werk instabil)
- Prozessor
- FX-8320E@4,2 GHz & 2,6 GHz Northbridge (jeweils mit UV)
- Mainboard
- Asus M5A99X Evo R2.0 (eher enttäuschend ggü. ASRock E3)
- Kühlung
- Raijintek Nemesis (Lüfter mittig im sowie hinter dem Kühler; erstklassig)
- Speicher
- 4x4 GiB Hynix DDR3-1866 ECC
- Grafikprozessor
- XFX RX 570 8G (P8DFD6)@1180 & 2150 MHz@starkem, fortdauerndem UV | ASRock RX 570 8G@das Gleiche
- Display
- BenQ XL2411T ~ nach 3 RMAs und 6 Monaten wieder brauchbar
- SSD
- Crucial MX100 256 GB (ein Glückskauf) | SanDisk Ultra Plus 256 GB (ein Glückskauf)
- HDD
- WD20EZRZ u. a. (Seagate, Hitachi, WD)
- Optisches Laufwerk
- TSST SH-222AL
- Gehäuse
- Corsair Carbide 300R (ein Fehlkauf)
- Netzteil
- CoolerMaster V450S (ein Glückskauf)
- Betriebssystem
- Win8.x x64, Win7 x64
- Webbrowser
- welche mit minimalem Marktanteil & sinnvollen Konzepten (nicht Chrome-Seuche und Sieche-Fuchs)
- Verschiedenes
- frühere GPUs: , Asus RX 480 O8G@580 O8G, VTX3D 7850 1G
@gruffi
Meinst du, dass der Firefox-basierte Browser Pale Moon (Quellcode) mit einem deiner Compiler erstellt werden könnte? Der Schöpfer tut es mit einem MS-Compiler.
Meinst du, dass der Firefox-basierte Browser Pale Moon (Quellcode) mit einem deiner Compiler erstellt werden könnte? Der Schöpfer tut es mit einem MS-Compiler.
gruffi
Grand Admiral Special
- Mitglied seit
- 08.03.2008
- Beiträge
- 5.393
- Renomée
- 65
- Standort
- vorhanden
- Prozessor
- AMD Ryzen 5 1600
- Mainboard
- MSI B350M PRO-VDH
- Kühlung
- Wraith Spire
- Speicher
- 2x 8 GB DDR4-2400 CL16
- Grafikprozessor
- XFX Radeon R7 260X
- Display
- LG W2361
- SSD
- Crucial CT250BX100SSD1
- HDD
- Toshiba DT01ACA200
- Optisches Laufwerk
- LG Blu-Ray-Brenner BH16NS40
- Soundkarte
- Realtek HD Audio
- Gehäuse
- Sharkoon MA-I1000
- Netzteil
- be quiet! Pure Power 9 350W
- Betriebssystem
- Windows 10 Professional 64-bit
- Webbrowser
- Mozilla Firefox
- Verschiedenes
- https://valid.x86.fr/mb4f0j
Kommt halt immer darauf an, wie portabel der Code gehalten ist. Laut Entwickler sollten aber auch andere Compiler funktionieren.
Unbekannter Krieger
Grand Admiral Special
- Mitglied seit
- 04.10.2013
- Beiträge
- 4.455
- Renomée
- 66
- Mein Laptop
- HP 15-bq102ng (sackteuer u. ab Werk instabil)
- Prozessor
- FX-8320E@4,2 GHz & 2,6 GHz Northbridge (jeweils mit UV)
- Mainboard
- Asus M5A99X Evo R2.0 (eher enttäuschend ggü. ASRock E3)
- Kühlung
- Raijintek Nemesis (Lüfter mittig im sowie hinter dem Kühler; erstklassig)
- Speicher
- 4x4 GiB Hynix DDR3-1866 ECC
- Grafikprozessor
- XFX RX 570 8G (P8DFD6)@1180 & 2150 MHz@starkem, fortdauerndem UV | ASRock RX 570 8G@das Gleiche
- Display
- BenQ XL2411T ~ nach 3 RMAs und 6 Monaten wieder brauchbar
- SSD
- Crucial MX100 256 GB (ein Glückskauf) | SanDisk Ultra Plus 256 GB (ein Glückskauf)
- HDD
- WD20EZRZ u. a. (Seagate, Hitachi, WD)
- Optisches Laufwerk
- TSST SH-222AL
- Gehäuse
- Corsair Carbide 300R (ein Fehlkauf)
- Netzteil
- CoolerMaster V450S (ein Glückskauf)
- Betriebssystem
- Win8.x x64, Win7 x64
- Webbrowser
- welche mit minimalem Marktanteil & sinnvollen Konzepten (nicht Chrome-Seuche und Sieche-Fuchs)
- Verschiedenes
- frühere GPUs: , Asus RX 480 O8G@580 O8G, VTX3D 7850 1G
Wäre es für dich ein großer Aufwand, es zu versuchen? Ich habe keine Ahnung von so etwas.
gruffi
Grand Admiral Special
- Mitglied seit
- 08.03.2008
- Beiträge
- 5.393
- Renomée
- 65
- Standort
- vorhanden
- Prozessor
- AMD Ryzen 5 1600
- Mainboard
- MSI B350M PRO-VDH
- Kühlung
- Wraith Spire
- Speicher
- 2x 8 GB DDR4-2400 CL16
- Grafikprozessor
- XFX Radeon R7 260X
- Display
- LG W2361
- SSD
- Crucial CT250BX100SSD1
- HDD
- Toshiba DT01ACA200
- Optisches Laufwerk
- LG Blu-Ray-Brenner BH16NS40
- Soundkarte
- Realtek HD Audio
- Gehäuse
- Sharkoon MA-I1000
- Netzteil
- be quiet! Pure Power 9 350W
- Betriebssystem
- Windows 10 Professional 64-bit
- Webbrowser
- Mozilla Firefox
- Verschiedenes
- https://valid.x86.fr/mb4f0j
Ich kann mir das Quellcodepaket ja mal angucken, ob da ein für MinGW geeigneter Buildpfad dabei ist.
---------- Beitrag hinzugefügt um 18:52 ---------- Vorheriger Beitrag um 16:52 ----------
Das Paket ist über ein halbes GB gross. Man müsste auch noch die Mozilla Build Tools einrichten. Sry, aber das ist mir im Moment zu viel Aufwand.
---------- Beitrag hinzugefügt um 18:52 ---------- Vorheriger Beitrag um 16:52 ----------
Das Paket ist über ein halbes GB gross. Man müsste auch noch die Mozilla Build Tools einrichten. Sry, aber das ist mir im Moment zu viel Aufwand.
Ich selbst habe hier nur 32-Bit Ausführmöglichkeiten. "-mss3" bringt bei mir nichts.Wenn du die 64-bit Version von MinGW nutzt, wird automatisch mindestens SSE2 genutzt. Ansonsten kann man mit dem Flag -march eine Architektur festlegen. Dann werden alle Befehlssätze genutzt, die die Architektur unterstützt. Einzelne Befehlssatzerweiterungen kann man mit entsprechenden -m Flags explizit aktivieren, zB -mavx oder -mfma. Möchte man diese hingegen explizit nicht nutzen, dann ein no- am Anfang einfügen, zB -mno-avx oder -mno-fma. Will man maximale Optimierung mit dem MinGW, also zB auch Autovektorisierung, gibt es nach wie vor einiges beim Code zu beachten. Ein guter Artikel dazu findet sich hier.
Bezüglich der Autovektorisierung-Anleitung: Mein kompiliertes Programm stürzt schon beim ersten Beispiel in der Ausführung ab.
Wenn ich mir den Artikel durchlesen, kann ich aber durchaus jene Software-Chefs verstehen, die lieber reichlich Geld für einen Intel-Compiler hinlegen, der auch mit halbwegs „normalem“ Code schnelle Programme erzeugt. Das kommt auf Dauer vermutlich wesentlich günstiger, als den erzeugten Maschinencode zu reassemblieren und zu analysieren. Man validiert keinen Rechencode um ihn das hinterher nochmal alles umzubauen, nur damit der Compiler auch die Autovektorisierung hinbekommt. Zumindest nicht, wenn man die Dienstleistung noch relativ günstig einkaufen kann.
gruffi
Grand Admiral Special
- Mitglied seit
- 08.03.2008
- Beiträge
- 5.393
- Renomée
- 65
- Standort
- vorhanden
- Prozessor
- AMD Ryzen 5 1600
- Mainboard
- MSI B350M PRO-VDH
- Kühlung
- Wraith Spire
- Speicher
- 2x 8 GB DDR4-2400 CL16
- Grafikprozessor
- XFX Radeon R7 260X
- Display
- LG W2361
- SSD
- Crucial CT250BX100SSD1
- HDD
- Toshiba DT01ACA200
- Optisches Laufwerk
- LG Blu-Ray-Brenner BH16NS40
- Soundkarte
- Realtek HD Audio
- Gehäuse
- Sharkoon MA-I1000
- Netzteil
- be quiet! Pure Power 9 350W
- Betriebssystem
- Windows 10 Professional 64-bit
- Webbrowser
- Mozilla Firefox
- Verschiedenes
- https://valid.x86.fr/mb4f0j
Womöglich hast du dann Instruktionen im Code, die dein Prozessor nicht unterstützt. Für Matrixmultiplikationen reicht normalerweise SSE/SSE2 auch aus. Kannst du das Beispiel mal posten, wenn es nicht allzu lang ist?Ich selbst habe hier nur 32-Bit Ausführmöglichkeiten. "-mss3" bringt bei mir nichts.
Bezüglich der Autovektorisierung-Anleitung: Mein kompiliertes Programm stürzt schon beim ersten Beispiel in der Ausführung ab.
Naja, das macht man normalerweise ja auch mit dem GCC nicht. Das ist halt ein Artikel, der mal etwas über den Tellerrand hinaus schaut. Und aus jedem x-beliebigen Code kann der ICC auch keine Autovektorisierung hervorzaubern. Auch da muss man einiges beachten. GCC ist da mittlerweile schon auf einem relativ guten Level und braucht sich vor dem ICC nicht mehr zu verstecken.Wenn ich mir den Artikel durchlesen, kann ich aber durchaus jene Software-Chefs verstehen, die lieber reichlich Geld für einen Intel-Compiler hinlegen, der auch mit halbwegs „normalem“ Code schnelle Programme erzeugt. Das kommt auf Dauer vermutlich wesentlich günstiger, als den erzeugten Maschinencode zu reassemblieren und zu analysieren.
Der Zusatz "-msse2" bringt auch nichts.
Der Clou am ICC scheint wohl zu sein, dass er das häufiger hinbekommt als andere Compiler.
Hat jemand anderes die Matrixmultiplikation von Herrn Stiller mittels GCC als Vektorversion hinbekommen?
Der Clou am ICC scheint wohl zu sein, dass er das häufiger hinbekommt als andere Compiler.
Hat jemand anderes die Matrixmultiplikation von Herrn Stiller mittels GCC als Vektorversion hinbekommen?
Unbekannter Krieger
Grand Admiral Special
- Mitglied seit
- 04.10.2013
- Beiträge
- 4.455
- Renomée
- 66
- Mein Laptop
- HP 15-bq102ng (sackteuer u. ab Werk instabil)
- Prozessor
- FX-8320E@4,2 GHz & 2,6 GHz Northbridge (jeweils mit UV)
- Mainboard
- Asus M5A99X Evo R2.0 (eher enttäuschend ggü. ASRock E3)
- Kühlung
- Raijintek Nemesis (Lüfter mittig im sowie hinter dem Kühler; erstklassig)
- Speicher
- 4x4 GiB Hynix DDR3-1866 ECC
- Grafikprozessor
- XFX RX 570 8G (P8DFD6)@1180 & 2150 MHz@starkem, fortdauerndem UV | ASRock RX 570 8G@das Gleiche
- Display
- BenQ XL2411T ~ nach 3 RMAs und 6 Monaten wieder brauchbar
- SSD
- Crucial MX100 256 GB (ein Glückskauf) | SanDisk Ultra Plus 256 GB (ein Glückskauf)
- HDD
- WD20EZRZ u. a. (Seagate, Hitachi, WD)
- Optisches Laufwerk
- TSST SH-222AL
- Gehäuse
- Corsair Carbide 300R (ein Fehlkauf)
- Netzteil
- CoolerMaster V450S (ein Glückskauf)
- Betriebssystem
- Win8.x x64, Win7 x64
- Webbrowser
- welche mit minimalem Marktanteil & sinnvollen Konzepten (nicht Chrome-Seuche und Sieche-Fuchs)
- Verschiedenes
- frühere GPUs: , Asus RX 480 O8G@580 O8G, VTX3D 7850 1G
@gruffi
Zunächst einmal: Gib Bescheid, wenn es dich nervt, derartige Anfragen zu erhalten.
Hättest du Lust/Interesse zu versuchen, SMPlayer mit einem deiner Compiler zu erstellen? Es soll über Qt möglich sein, ab 14.3 mit bis zu Qt 5. SMPlayer gibt es in 32 und 64 Bit.
Downloads: http://smplayer.sourceforge.net/en/downloads
Compilier-Tutorial: http://forum.smplayer.info/viewtopic.php?f=4&t=4
Oder wie wäre es mit MPC BE? Auch dieses gibt es in 32 und 64 Bit.
Source code: http://sourceforge.net/projects/mpcbe/files/MPC-BE/MPC-BE Source Code/MPC-BE 1.4.2 Source Code/
Zunächst einmal: Gib Bescheid, wenn es dich nervt, derartige Anfragen zu erhalten.
Hättest du Lust/Interesse zu versuchen, SMPlayer mit einem deiner Compiler zu erstellen? Es soll über Qt möglich sein, ab 14.3 mit bis zu Qt 5. SMPlayer gibt es in 32 und 64 Bit.
Downloads: http://smplayer.sourceforge.net/en/downloads
Compilier-Tutorial: http://forum.smplayer.info/viewtopic.php?f=4&t=4
Oder wie wäre es mit MPC BE? Auch dieses gibt es in 32 und 64 Bit.
Source code: http://sourceforge.net/projects/mpcbe/files/MPC-BE/MPC-BE Source Code/MPC-BE 1.4.2 Source Code/
gruffi
Grand Admiral Special
- Mitglied seit
- 08.03.2008
- Beiträge
- 5.393
- Renomée
- 65
- Standort
- vorhanden
- Prozessor
- AMD Ryzen 5 1600
- Mainboard
- MSI B350M PRO-VDH
- Kühlung
- Wraith Spire
- Speicher
- 2x 8 GB DDR4-2400 CL16
- Grafikprozessor
- XFX Radeon R7 260X
- Display
- LG W2361
- SSD
- Crucial CT250BX100SSD1
- HDD
- Toshiba DT01ACA200
- Optisches Laufwerk
- LG Blu-Ray-Brenner BH16NS40
- Soundkarte
- Realtek HD Audio
- Gehäuse
- Sharkoon MA-I1000
- Netzteil
- be quiet! Pure Power 9 350W
- Betriebssystem
- Windows 10 Professional 64-bit
- Webbrowser
- Mozilla Firefox
- Verschiedenes
- https://valid.x86.fr/mb4f0j
Das How To zu SMPlayer ist eigentlich recht verständlich. Das bekommt man auch ohne grosse Compilerkenntnisse hin. MPC-BE kann ich mir mal anschauen. Vor dem Wochenende wird das aber nix.
Markus Everson
Grand Admiral Special
Keine Ahnung ob das jemanden interessiert, aber nachdem der Global Foundries Prozesse Thread bereits von der Diskussion um defekte Motherboards oder Prozessoren belegt ist poste ich es mal hier.
Virtualbox erlaubt das Setzen der CPUID, ließe sich damit der Einfluß Einfluß der intelschen Compilerhandbremse auf den Code ermitteln?
--cpuid <leaf> <eax> <ebx> <ecx> <edx>: Advanced users can use this command before a teleporting operation to restrict the virtual CPU capabilities that VirtualBox presents to the guest operating system. This must be run on both the source and the target machines involved in the teleporting and will then modify what the guest sees when it executes the CPUID machine instruction. This might help with misbehaving applications that wrongly assume that certain CPU capabilities are present. The meaning of the parameters is hardware dependent; please refer to the AMD or Intel processor manuals.
Virtualbox erlaubt das Setzen der CPUID, ließe sich damit der Einfluß Einfluß der intelschen Compilerhandbremse auf den Code ermitteln?
--cpuid <leaf> <eax> <ebx> <ecx> <edx>: Advanced users can use this command before a teleporting operation to restrict the virtual CPU capabilities that VirtualBox presents to the guest operating system. This must be run on both the source and the target machines involved in the teleporting and will then modify what the guest sees when it executes the CPUID machine instruction. This might help with misbehaving applications that wrongly assume that certain CPU capabilities are present. The meaning of the parameters is hardware dependent; please refer to the AMD or Intel processor manuals.
Ähnliche Themen
- Antworten
- 3
- Aufrufe
- 2K
- Antworten
- 37
- Aufrufe
- 13K
- Antworten
- 763
- Aufrufe
- 100K
- Antworten
- 10
- Aufrufe
- 9K
- Antworten
- 0
- Aufrufe
- 52K