Bildbehandling med GPU (138'000st bilder/sek)

Trädvy Permalänk
Avstängd
Plats
Västerås
Registrerad
Feb 2016

Bildbehandling med GPU (138'000st bilder/sek)

Hej.

Sitter och laborerar ett program för att förminska bilder. Har dock stött på en del problem med att egen kernel inte tar pekare till image2d_t. Finns även en del andra begränsningar.

Någon som vet om det går att implementera egna datatyper som argument till clCreateBuffer eller måste man jobba med floatlistor som representerar bilddata och sedan skapa image2d_t i egen kernel?

Felmeddelandet säger detta när man försöker använda pekare:
AppData\Local\Temp\OCL2F2D.tmp.cl", line 1: error: pointers to image types are not allowed

Lite kuriosa:
Har gjort ett fungerade exempel och testkört med bilder på 5 megapixlar. Programmet läser dem från disk och sedan förminskar dem och sparar dem till sist på disken igen. Fungerar och gör sitt jobb.

Provade att ta bort funktionen som sparar bilderna till disk för att se hur snabb GPUn är och låta den jobba fullt ut. Nästan overkligt snabbt var resultatet.

När bilder konverterades från 5MP till 2.5MP så behandlades ca 20.000st bilder i sekunden
När bilder konverterades från 5MP till 1.5MP så behandlades ca 45.000st bilder i sekunden
När bilder konverterades från 5MP till 0.8MP så behandlades ca 138.000st bilder i sekunden

Förstås så uppnås aldrig detta i verkligheten då disk-IO begränsar långt innan. Men en snabb SSD stödjer i alla fall upp till
30-40st bilder/sekunden. Att gå igenom alla semesterbilder bör alltså inte ta många minuter

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Jan 2016

Det låter som ett intressant litet program. Photoshop tar ju en evighet på sig när man ska batch förminska bilder.
Får man ta del av programmet när det är färdigt?

FD Define Nano S ||| Asus Z170I Pro ||| i7-6700k ||| EVGA 1060 ||| Corsair Vengance 16gb ||| Hynix SC210 512GB ||| Windows 10

-| cgfx.se |-
-| turbosquid.com/Search/Artists/wemg?referral=wemg |-

Trädvy Permalänk
Medlem
Registrerad
Dec 2015
Skrivet av xPM:

Det låter som ett intressant litet program. Photoshop tar ju en evighet på sig när man ska batch förminska bilder.
Får man ta del av programmet när det är färdigt?

Håller med, intressant project som TS håller på med, använda gpu för mer än bara 3d rendering Men vill du ha ett program som redan finns och fungerar väl och använder windows så ladda hem "fast image resizer", är riktigt bra! och snabbt. I linux mint markerar jag bara alla bilder, högerklickar och väljer "resize images"

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Jan 2016
Skrivet av Klubba:

Håller med, intressant project som TS håller på med, använda gpu för mer än bara 3d rendering Men vill du ha ett program som redan finns och fungerar väl och använder windows så ladda hem "fast image resizer", är riktigt bra! och snabbt. I linux mint markerar jag bara alla bilder, högerklickar och väljer "resize images"

Tack för tipset, ska testa det.

Skickades från m.sweclockers.com

FD Define Nano S ||| Asus Z170I Pro ||| i7-6700k ||| EVGA 1060 ||| Corsair Vengance 16gb ||| Hynix SC210 512GB ||| Windows 10

-| cgfx.se |-
-| turbosquid.com/Search/Artists/wemg?referral=wemg |-

Trädvy Permalänk
Medlem
Plats
Landskrona
Registrerad
Nov 2005
Skrivet av xPM:

Det låter som ett intressant litet program. Photoshop tar ju en evighet på sig när man ska batch förminska bilder.
Får man ta del av programmet när det är färdigt?

Ska du göra saker i batch så är det väl rimligare att jämföra med Lightroom?

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Jan 2016
Skrivet av Jaevel:

Ska du göra saker i batch så är det väl rimligare att jämföra med Lightroom?

Sitter dock inte i Lightroom, men får väl ta en titt och lära mig det. Är det smidigare när man jobbar med många bilder samtidigt?

FD Define Nano S ||| Asus Z170I Pro ||| i7-6700k ||| EVGA 1060 ||| Corsair Vengance 16gb ||| Hynix SC210 512GB ||| Windows 10

-| cgfx.se |-
-| turbosquid.com/Search/Artists/wemg?referral=wemg |-

Trädvy Permalänk
Medlem
Plats
Göteborg
Registrerad
Jan 2009

lightroom fungerar utmärkt att exportera hela bibliotek eller mappar,
har flertalet olika "mallar" för exportering, 600pix långa sida, 1200, 300osv, beroende på vart de ska, med olika vattenmärkningar etc.

jobbar i min värld tillräckligt fort, men vi pratar ju verkligen inte några 138tusen bilder i sekunden, utan snarare, med mina inställningar från RAW 24mpix till 600pix jpg med komprimering kanske 3-4bilder i sekunden.

svaret riktas alltså inte mot TS/OP utan snarare @xPM.
att redigera och handskas med bildbibliotek är i min värld smidigt, klart bättre än Bridge.

Win11 pro | AMD i6 3670c 2.13ghz | Asus mode-kort delux | 16 GB 1337 MHz RAM
Nvidia 6850 | Intel 535ssd 120gb+ 350ssd 120gb | ~2 KB HDD
Fractal design K3 | motionscykel 650W | Dell 27 ventiler överliggande kam
mbturbo.com

Trädvy Permalänk
Medlem
Plats
Landskrona
Registrerad
Nov 2005
Skrivet av xPM:

Sitter dock inte i Lightroom, men får väl ta en titt och lära mig det. Är det smidigare när man jobbar med många bilder samtidigt?

Lightroom är ju Adobes program för bildbibliotek och batchhantering av bilder. För mig som inte retuscherar bilder så använder jag bara Photoshop innan jag lägger order för utskrift av stora förstoringar.

Redan vid import av bilder kan du göra batchkorrigeringar av exponering vitbalans och mycket mer.
Nu gör det inte förminskning i samma hastighet som TS program ändå men..

Trädvy Permalänk
Avstängd
Plats
Västerås
Registrerad
Feb 2016
Skrivet av xPM:

Det låter som ett intressant litet program. Photoshop tar ju en evighet på sig när man ska batch förminska bilder.
Får man ta del av programmet när det är färdigt?

Visst kan du får ta del av det när(om) det blir klart någon gång. Tanken var bara från början ett experiment för att se
vad som var möjligt med mitt mellanklass grafikkort på 3.5 TFLOPS

Trädvy Permalänk
Medlem
Registrerad
Apr 2012
Skrivet av xPM:

Sitter dock inte i Lightroom, men får väl ta en titt och lära mig det. Är det smidigare när man jobbar med många bilder samtidigt?

Capture One ska vara smidigt om man arbetar med många bilder, men interfacet är ju en inlärningskurva på..