|
|
|
|
Du meinst auf jeden Kern einen Webserver und dann an die die serialisierten Bildobjekte schicken?
|
|
|
|
|
|
|
Wie kriegt man denn mit Wuala mehr als 2GB? Geht das kostenlos?
|
|
|
|
|
|
|
| Zitat von Danzelot
Das ist so nicht praktikabel, weil ein Pixel ja grundsätzlich von allen Pixeln oben/links abhängig ist - man muss also nicht nur die Randbereiche nacharbeiten sondern auch die Bereiche 2-4 sobald 1 abgeschlossen ist.
Mein eigener Ansatz wäre gewesen die Threads das Bild zeilenweise abarbeiten zu lassen und sie dann jeweils 2 Pixel verzögert zu starten. Das sähe dann so aus:
http://i.imgur.com/QaXPH.png
Der Ansatz in dem Paper die Threads diagonal arbeiten zu lassen ist, wenn ich das richtig verstehe, möglichst wenig Kommunikation zwischen den verschiedenen Kernen notwendig zu machen weil das so langsam ist.
| |
Ich dachte man braucht nur die Pixe im Umkreis von 1 und auch nur darunterliegende, siehe:
http://de.wikipedia.org/wiki/Floyd-Steinberg-Algorithmus
Oder hab ich das missverstanden?
Und ja, Kommunikation zwischen den Threads is teuer und kann das ganze unsinnig machen. Am besten die Threads greifen nicht mal die gleichen Resourcen zu, dass kann auch mit atomaren Operationen langsam sein. Für den Lese-Zugriff müsste ich das nochmal recherchieren, aber normalerweise bräuchte der Thread darauf einen Lock. Und wenn ein Thread auf einen gelockten Bereich zugreifen will, muss er eben warten.
Daher auch das übliche Divide and Conquer bei der Parallelisierung. Weil, wenn ich nicht wirklich parallel arbeitet kann, brauch ich auch keine Parallelisierung.
|
|
|
|
|
|
|
| Zitat von Danzelot
Bei Firefox kann man Tabs mit Strg-Klick irgendwie markieren und dann ist ein (*) vor dem Titel. Aber da passiert nichts.
| |
Und mit Strg + Umschalt + T kann man den zuletzt geschlossenen Tab wieder öffnen.
|
|
|
|
|
|
|
| Zitat von SirSiggi
Wie kriegt man denn mit Wuala mehr als 2GB? Geht das kostenlos?
| |
Du hast zwei Möglichkeiten an freien Speicherplatz zu kommen: Du kannst eigenen Speicherplatz für die Cloud zur Verfügung stellen* (freigegebener Speicher * Onlinezeit) oder über Coupons zumindest für ein Jahr 16gb freischalten:
http://www.retailmenot.com/view/wuala.com
e\ Die Coupons um bis zu 16gb zu kommen gibt es scheinbar grad gar nicht. Aber immerhin
* Traffic hält sich sogar in Grenzen, hatte es mal kurzeitig an, brauche aber zur zeit nicht mehr als 5gb.
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von TriggerTG am 22.06.2011 14:42]
|
|
|
|
|
|
| Zitat von [DK]Peacemaker
| Zitat von Danzelot
Das ist so nicht praktikabel, weil ein Pixel ja grundsätzlich von allen Pixeln oben/links abhängig ist - man muss also nicht nur die Randbereiche nacharbeiten sondern auch die Bereiche 2-4 sobald 1 abgeschlossen ist.
Mein eigener Ansatz wäre gewesen die Threads das Bild zeilenweise abarbeiten zu lassen und sie dann jeweils 2 Pixel verzögert zu starten. Das sähe dann so aus:
http://i.imgur.com/QaXPH.png
Der Ansatz in dem Paper die Threads diagonal arbeiten zu lassen ist, wenn ich das richtig verstehe, möglichst wenig Kommunikation zwischen den verschiedenen Kernen notwendig zu machen weil das so langsam ist.
| |
Ich dachte man braucht nur die Pixe im Umkreis von 1 und auch nur darunterliegende, siehe:
http://de.wikipedia.org/wiki/Floyd-Steinberg-Algorithmus
Oder hab ich das missverstanden?
| | Ja, der Fehler wird auf den nächsten Pixel propagiert und beeinflusst dann dessen Rundung auf den entsprechenden Palettenwert - der Quantisierungsfehler wird dann aber auch wieder zwischen Palettenwert und dem Originalwert inklusive Quantisierungsfehler ausgerechnet, nicht zwischen Palettenwert und ursprünglichen Originalwert.
|
|
|
|
|
|
|
| Zitat von TriggerTG
| Zitat von SirSiggi
Wie kriegt man denn mit Wuala mehr als 2GB? Geht das kostenlos?
| |
Du hast zwei Möglichkeiten an freien Speicherplatz zu kommen: Du kannst eigenen Speicherplatz für die Cloud zur Verfügung stellen* (freigegebener Speicher * Onlinezeit) oder über Coupons zumindest für ein Jahr 16gb freischalten:
http://www.retailmenot.com/view/wuala.com
e\ Die Coupons um bis zu 16gb zu kommen gibt es scheinbar grad gar nicht. Aber immerhin
* Traffic hält sich sogar in Grenzen, hatte es mal kurzeitig an, brauche aber zur zeit nicht mehr als 5gb.
| |
Hm... ja, geht vielleicht gerade noch für mich, aber für andere Leute kann man das kaum machen (meine Mutter nutzt Dropbox, weil wir so ganz einfach Daten austauschen können (sie kann mir mit einem Druck auf eine Taste an ihrem Scanner einfach was scannen ohne das sie wissen muss wie das geht) und weil ich so ihre Daten auf mehreren PCs und damit sicher habe. Wir sind mittlerweile bei ca. 5GB Daten. Das heißt ich müsste 10GB bei Wuala kaufen... 19 Euro sind ja jetzt nicht so viel... naja, mal überlegen...
Eigentlich hat mit Dropbox super gefallen, weil es einfach immer ohne zu diskutieren funktioniert hat und man sich leicht 16GB holen konnte, die mir sicher einige Jahre reichen würden.
In meiner Dropbox sind vor allen Dingen meine Uni-Sachen, etc. Also nicht unbedingt wirklich kritisches Zeug.
|
|
|
|
|
|
|
| Zitat von Danzelot
| Zitat von [DK]Peacemaker
| Zitat von Danzelot
Das ist so nicht praktikabel, weil ein Pixel ja grundsätzlich von allen Pixeln oben/links abhängig ist - man muss also nicht nur die Randbereiche nacharbeiten sondern auch die Bereiche 2-4 sobald 1 abgeschlossen ist.
Mein eigener Ansatz wäre gewesen die Threads das Bild zeilenweise abarbeiten zu lassen und sie dann jeweils 2 Pixel verzögert zu starten. Das sähe dann so aus:
http://i.imgur.com/QaXPH.png
Der Ansatz in dem Paper die Threads diagonal arbeiten zu lassen ist, wenn ich das richtig verstehe, möglichst wenig Kommunikation zwischen den verschiedenen Kernen notwendig zu machen weil das so langsam ist.
| |
Ich dachte man braucht nur die Pixe im Umkreis von 1 und auch nur darunterliegende, siehe:
http://de.wikipedia.org/wiki/Floyd-Steinberg-Algorithmus
Oder hab ich das missverstanden?
| | Ja, der Fehler wird auf den nächsten Pixel propagiert und beeinflusst dann dessen Rundung auf den entsprechenden Palettenwert - der Quantisierungsfehler wird dann aber auch wieder zwischen Palettenwert und dem Originalwert inklusive Quantisierungsfehler ausgerechnet, nicht zwischen Palettenwert und ursprünglichen Originalwert.
| |
Ach Sorry, da hätt ich auch selbst drauf kommen können. Dann muss es wohl die diagonale Variante werden.
|
|
|
|
|
|
|
Ich lese auf jeden Fall jetzt nochmal das Paper in Ruhe durch um zu verstehen wie die sich die Kommunikation zwischen den Threads vorstellen und wie man das optimieren kann.
Außerdem kann man doppelt parallelisieren, wir haben bisher immer mit mindestens einem Bit pro Farbe gearbeitet und daher kann man jeden Farbkanal einzeln abarbeiten \o/
|
|
|
|
|
|
|
| Zitat von Danzelot
Ich lese auf jeden Fall jetzt nochmal das Paper in Ruhe durch um zu verstehen wie die sich die Kommunikation zwischen den Threads vorstellen und wie man das optimieren kann.
Außerdem kann man doppelt parallelisieren, wir haben bisher immer mit mindestens einem Bit pro Farbe gearbeitet und daher kann man jeden Farbkanal einzeln abarbeiten \o/
| |
Vergiss nicht, dass der Zugriff auf die gleichen Resourcen problematisch ist. Gleichzeitig hast du auch nicht so viele Farbkanäle, als dass du das hochskalieren könntest.
|
|
|
|
|
|
|
| Zitat von SirSiggi
| Zitat von TriggerTG
| Zitat von SirSiggi
Wie kriegt man denn mit Wuala mehr als 2GB? Geht das kostenlos?
| |
Du hast zwei Möglichkeiten an freien Speicherplatz zu kommen: Du kannst eigenen Speicherplatz für die Cloud zur Verfügung stellen* (freigegebener Speicher * Onlinezeit) oder über Coupons zumindest für ein Jahr 16gb freischalten:
http://www.retailmenot.com/view/wuala.com
e\ Die Coupons um bis zu 16gb zu kommen gibt es scheinbar grad gar nicht. Aber immerhin
* Traffic hält sich sogar in Grenzen, hatte es mal kurzeitig an, brauche aber zur zeit nicht mehr als 5gb.
| |
Hm... ja, geht vielleicht gerade noch für mich, aber für andere Leute kann man das kaum machen (meine Mutter nutzt Dropbox, weil wir so ganz einfach Daten austauschen können (sie kann mir mit einem Druck auf eine Taste an ihrem Scanner einfach was scannen ohne das sie wissen muss wie das geht) und weil ich so ihre Daten auf mehreren PCs und damit sicher habe. Wir sind mittlerweile bei ca. 5GB Daten. Das heißt ich müsste 10GB bei Wuala kaufen... 19 Euro sind ja jetzt nicht so viel... naja, mal überlegen...
Eigentlich hat mit Dropbox super gefallen, weil es einfach immer ohne zu diskutieren funktioniert hat und man sich leicht 16GB holen konnte, die mir sicher einige Jahre reichen würden.
In meiner Dropbox sind vor allen Dingen meine Uni-Sachen, etc. Also nicht unbedingt wirklich kritisches Zeug.
| | Wenn du für retailmenot einen E-Mail-Notifier einstellst, kommen immer mal wieder Codes reingetrudelt. Ansonsten geben die die Codes PCWELT06, COMPUTER-HOY, PC-MAGAZIN zusammen 7 GB zusätzlichen Speicherplatz.
|
|
|
|
|
|
|
Und vielen Dank an die Gratulationisten!
|
|
|
|
|
|
|
Mit nem 8 Stunden Jetlag zu arbeiten ist Krieg
|
|
|
|
|
|
|
| Zitat von Y2Keeper
Mit nem 8 Stunden Jetlag zu arbeiten ist Krieg
| |
Heulsuse!
|
|
|
|
|
|
|
| Zitat von SkunkyVillage
| Zitat von Y2Keeper
Mit nem 8 Stunden Jetlag zu arbeiten ist Krieg
| |
Heulsuse!
| |
Wenn ich nicht so muede waere, Juengelschen...
|
|
|
|
|
|
|
| Zitat von Y2Keeper
| Zitat von SkunkyVillage
| Zitat von Y2Keeper
Mit nem 8 Stunden Jetlag zu arbeiten ist Krieg
| |
Heulsuse!
| |
Wenn ich nicht so muede waere, Juengelschen...
| |
Schlimmer als 'n Kater kanns halt nicht sein!
|
|
|
|
|
|
|
| Zitat von SkunkyVillage
| Zitat von Y2Keeper
| Zitat von SkunkyVillage
| Zitat von Y2Keeper
Mit nem 8 Stunden Jetlag zu arbeiten ist Krieg
| |
Heulsuse!
| |
Wenn ich nicht so muede waere, Juengelschen...
| |
Schlimmer als 'n Kater kanns halt nicht sein!
| |
Au contraire mon petit skunk
|
|
|
|
|
|
|
Na klar schickt mir mein Vater einige Fotos, die ich für eine Webseite verwenden soll, lieber als CD per Post als es fix in Wuala freizugeben. Er weiß ganz genau wie das geht.
"Geht schneller und ist einfacher"
Ja klar
|
|
|
|
|
|
|
Irgendwie geht mir heute alles aufm Sack
|
|
|
|
|
|
|
| Zitat von [DK]Peacemaker
| Zitat von Danzelot
Ich lese auf jeden Fall jetzt nochmal das Paper in Ruhe durch um zu verstehen wie die sich die Kommunikation zwischen den Threads vorstellen und wie man das optimieren kann.
Außerdem kann man doppelt parallelisieren, wir haben bisher immer mit mindestens einem Bit pro Farbe gearbeitet und daher kann man jeden Farbkanal einzeln abarbeiten \o/
| |
Vergiss nicht, dass der Zugriff auf die gleichen Resourcen problematisch ist. Gleichzeitig hast du auch nicht so viele Farbkanäle, als dass du das hochskalieren könntest.
| | Das mit den Ressourcen muss ich mir nochmal gründlicher durchlesen, und ich habe den Verdacht dass die von uns minimal erwarten dass wir eben die drei Farbkanäle parallelisieren. Vielleicht lasse ich das auch und nehme direkt diese Treppenform vom Algorithmus, das braucht dann halt massenhaft Threads wo ich mir noch nicht sicher bin ob man das vernünftig auf die Anzahl der verfügbaren Kerne runterbrechen kann.
|
|
|
|
|
|
|
|
|
|
|
| Zitat von Danzelot
Merkt man.
| |
|
|
|
|
|
|
|
Soooo muede. Must not sleep. Yet.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Sach ma, Tigga, ist das neuerdings deine Masche, einen zu deinem Post völlig unpassenden Smiley zu wählen?
|
|
|
|
|
|
|
| Zitat von Danzelot
| Zitat von [DK]Peacemaker
| Zitat von Danzelot
Ich lese auf jeden Fall jetzt nochmal das Paper in Ruhe durch um zu verstehen wie die sich die Kommunikation zwischen den Threads vorstellen und wie man das optimieren kann.
Außerdem kann man doppelt parallelisieren, wir haben bisher immer mit mindestens einem Bit pro Farbe gearbeitet und daher kann man jeden Farbkanal einzeln abarbeiten \o/
| |
Vergiss nicht, dass der Zugriff auf die gleichen Resourcen problematisch ist. Gleichzeitig hast du auch nicht so viele Farbkanäle, als dass du das hochskalieren könntest.
| | Das mit den Ressourcen muss ich mir nochmal gründlicher durchlesen, und ich habe den Verdacht dass die von uns minimal erwarten dass wir eben die drei Farbkanäle parallelisieren. Vielleicht lasse ich das auch und nehme direkt diese Treppenform vom Algorithmus, das braucht dann halt massenhaft Threads wo ich mir noch nicht sicher bin ob man das vernünftig auf die Anzahl der verfügbaren Kerne runterbrechen kann.
| |
So lange es getrennt partitioniert ist, ist das alles kein Problem. Du verpackst es dann in Arbeitsaufträge, die dann eben die vernünftige Anzahl von Threads verwenden.
Es wäre ja genau so parallel, wenn du 60 Arbeitspakete hast und jeder Kern 15 davon macht. Brauchst ja nicht unbedingt 60 Threads
|
|
|
|
|
|
|
| Zitat von cms
Sach ma, Tigga, ist das neuerdings deine Masche, einen zu deinem Post völlig unpassenden Smiley zu wählen?
| |
|
|
|
|
|
|
|
|
|
|
|
| Zitat von [DK]Peacemaker
Es wäre ja genau so parallel, wenn du 60 Arbeitspakete hast und jeder Kern 15 davon macht. Brauchst ja nicht unbedingt 60 Threads
| | Grundsätzlich ist das möglich, aber in meinem Fall ist es nicht praktikabel weniger Arbeitspakete als Threads zu verwenden weil alle Pixel von den Ergebnissen der Threads oben und links voneinander abhängig sind. Wenn man sich hier mal die kleinstmöglichen Arbeitsbereiche der Threads anguckt:
bleibt mir, um weniger Threads zu benötigen, nur die Arbeitsbereiche breiter zu machen. Das führt aber dann dazu dass die Performance tendenziell mieser wird weil es vorkommt dass ein Thread nur ein relativ kleines Stück vom Bild bearbeitet.
Und noch eine Frage: Ich werde das Originalbild unverändert lassen, die Quantisierungsfehler in einem zweidimensionalen Array speichern und das Ergebnisbild in einem zweiten Bild speichern. Abgesehen davon dass ich garantieren muss dass wenn ein Thread einen Bildpunkt bearbeitet, dessen Abhängigkeiten schon erfüllt sein müssen, kann es da zu Zugriffsproblemen kommen? Ich meine spontan nicht, wenn ich bei dem Quantisierungsfehler-Array aufpasse wird aus dem einen Bild nur gelesen und in das andere nur geschrieben, da dürfte nichts passieren, oder?
|
[Dieser Beitrag wurde 1 mal editiert; zum letzten Mal von Danzelot am 22.06.2011 19:19]
|
|
|
|
|
Thema: Gehirnsalat ( wir unter uns ) |