Jump to content

Any plans for GPU/GPGPU usage for Paint.net?


Recommended Posts

Was just looking around the net and noticed that Pixelmator has it (Mac only, been using Mac for the past 3 years as I have no choice, the low performance and ineffective fettered -clickclickclick- UI of OSX drives me nuts).

And a bit anxious for CS4 to come out for this, as I do, do huge image editing (stitched panoramas etc).

I read the rules, searched all the places, but didnt see any previous mention of it.

Itd be cool if there were plans for it, for this software, perhaps as an experimental feature that can be turned on or off? :)

I know its probably a tall order, or out of the scope of the program, but it would be quite nice to make use of the extra available resources and power.

Dan.

Link to comment
Share on other sites

With the way video cards are going this would not even have to be added in. Just take a look at the 260 and 280. They are the new Video cards on the market and they top all other video cards from Nvidia and ATI because of what they can do. With 240 processor cores in the GPU that all run at 2.214 GHz each. They can be set to do anything your computer CPU can do. Other words you could take 40 of them processors and tell them to run Paint.NET along with your CPU.

We both know what this means for video cards. All new cards coming out will soon be able to do the samething. So the question really is, how much will this be needed by the time Paint.NET has an update ready for it, if Rick even thinks about doing it. As 4.0 is a really big list now and most of it don't got set dates as it takes sometime to add things in and live a normal life. At least I think Rick lives a normal life, can never tell with them guys who drive BMW's :P

Link to comment
Share on other sites

With the way video cards are going this would not even have to be added in. Just take a look at the 260 and 280. They are the new Video cards on the market and they top all other video cards from Nvidia and ATI because of what they can do. With 240 processor cores in the GPU that all run at 2.214 GHz each. They can be set to do anything your computer CPU can do. Other words you could take 40 of them processors and tell them to run Paint.NET along with your CPU.

No you can't, and you probably never will be able to do that

They're not x86 cores, and they shouldn't be because they're inefficient (so they probably won't ever be, except Intels Larrabee of course)

Even MSIL couldn't be JIT-ed into GPU code, at least not easily, there are far too many things that a GPU just can not do

Even if you did manage to somehow run regular programs on your GPU it wouldn't make you happy - normal programs do not have many data-parallel parts so they can not be sped up by the GPU, so instead they'd just run on 1 core and that's bad - they're only 2.2GHz each and have a very very small cache (though you wouldn't even get that far..)

And of course, the GPU has no access to your harddisk...

On the other hand, nothing is stopping you from writing custom effects that use the GPU..

I would write plugins, if I knew what kind of plugins were needed.. :(

Link to comment
Share on other sites

The nature of image editing/processing applications makes them ideal candidates for GPGPU software, because GPGPU is really great for SIMD (Single Instruction, Multiple Data).

For example, brightening all pixel values by +10, the instruction is +10, each pixel (or even channel of a pixel) is the mutiple data.

Modern GPUs can process a huge volume of data through a single instruction at the same time.

Link to comment
Share on other sites

Of course, and you're still free to create effects that use the GPU

But I should warn you, for simply doing +10 it may not be worth the transfer time

And you'd have to be careful to make it a single-threaded effect

You'd also have to mask the result when writing it back, because of the selection (working rectangle-by-rectangle would be a very bad idea - too many transfers)

I would write plugins, if I knew what kind of plugins were needed.. :(

Link to comment
Share on other sites

With the way video cards are going this would not even have to be added in. Just take a look at the 260 and 280. They are the new Video cards on the market and they top all other video cards from Nvidia and ATI because of what they can do. With 240 processor cores in the GPU that all run at 2.214 GHz each. They can be set to do anything your computer CPU can do. Other words you could take 40 of them processors and tell them to run Paint.NET along with your CPU.

No you can't, and you probably never will be able to do that

They're not x86 cores, and they shouldn't be because they're inefficient (so they probably won't ever be, except Intels Larrabee of course)

Even MSIL couldn't be JIT-ed into GPU code, at least not easily, there are far too many things that a GPU just can not do

Even if you did manage to somehow run regular programs on your GPU it wouldn't make you happy - normal programs do not have many data-parallel parts so they can not be sped up by the GPU, so instead they'd just run on 1 core and that's bad - they're only 2.2GHz each and have a very very small cache (though you wouldn't even get that far..)

And of course, the GPU has no access to your harddisk...

On the other hand, nothing is stopping you from writing custom effects that use the GPU..

Your joking right. It called the 280 and it cores can be used as a normal CPU's.

http://www.ncix.com/products/index.php? ... chnologies

It the new gen of cards out there and has drop most 8800 and 9800 down $400.

PCI-E 2.0 may not be as fast as your CPU when put side to side looking at it that way because of the bus lines and offloading to the cores on the GPU. But who going to be looking at it side by side ?, no one because you run them together as a team. With PCI-E 2.0 doing 8 GB/s and each core doing shared work bus speed of them wont matter all that much with the sure number of cores. Did you even look at the card before you said that "no you can't" because you can use the cores to do anything your CPU can do. Such as running Paint.NET.

It has already been show: "performance improvements of up to 7x your traditional CPU"

Link to comment
Share on other sites

Your joking right. It called the 280 and it cores can be used as a normal CPU's.

No I'm not joking. And no, they can not.

Sure they can be used for many cool things, but all those things are data-parallel in nature.

Did you even look at the card before you said that "no you can't" because you can use the cores to do anything your CPU can do. Such as running Paint.NET.

Yes I did, and no you can not

It has already been show: "performance improvements of up to 7x your traditional CPU"

Which is only for the tasks that they can be used for.. (video coding, image processing, physx, things like that)

(and doesn't that seem a bit slim, considering it has 40 times the FLOPS?)

Seriously, have you done any GPU programming?

I would write plugins, if I knew what kind of plugins were needed.. :(

Link to comment
Share on other sites

Sure they can be used for many cool things, but all those things are data-parallel in nature.

Ya they are. I not saying there not. I am saying that programs like Paint.NET can be runned on them just like a normal CPU. As I said with the way video cards are going apps will start to change along with hardware.

Yes I did, and no you can not

Don't tell that to the programmers of CUDA. I got a feeling Nvidia would think about firing you seeing your a GPU programmer for there video cards.

Which is only for the tasks that they can be used for.. (video coding, image processing, physx, things like that)

The most common task are thoughs. Give people sometime, the card is still new so people companys need to play with it 1st before they start programming there programs to use the GPU.

Link to comment
Share on other sites

Ya they are. I not saying there not. I am saying that programs like Paint.NET can be runned on them just like a normal CPU. As I said with the way video cards are going apps will start to change along with hardware.

No. Only the image processing part. But that's probably the most time consuming part so it wouldn't be a bad idea to move some of it to the GPU.. And it's not even all up to rick, we could just start to write effects that use the GPU (in fact, I'll look into it right about now..)

Don't tell that to the programmers of CUDA. I got a feeling Nvidia would think about firing you seeing your a GPU programmer for there video cards.

They know full well that their GPU doesn't do everything.. (I don't work there though)

The most common task are thoughs. Give people sometime, the card is still new so people companys need to play with it 1st before they start programming there programs to use the GPU.

Yes they are, and it would be a very good idea if more of those programs started using the GPU for their computations - but then again, some of them do

So let's make PDN effects that use the GPU :)

I would write plugins, if I knew what kind of plugins were needed.. :(

Link to comment
Share on other sites

Yes I argee with you that programmers will keep the basic things on the CPU and that they will use the image processing things on the GPU. But they could still re-program the basic things to use the GPU. But it would be pointless to have things like that go to the CPU and then get offloaded to the GPU.

PDN effects using the GPU is a good idea.

Right now as much as I want a 280, I don't got the money for one and there not ready for real use yet. For 1 they can use 236 Watts just to run there selfs. I only upgraded my PSU last year to 750 Watts because 680 was not enought to power all the stuff I put into it. The other problem with them is there heating. My card now can hit the high 70's and the 280 should not go over 90 as it can start doing damage to them. So I not sure but I got a feeling with the new GPU having so much stuff to run that this card get way to hot. It like any new card that comes out. The 1st ones seem to have problems.

Link to comment
Share on other sites

Yes I argee with you that programmers will keep the basic things on the CPU and that they will use the image processing things on the GPU. But they could still re-program the basic things to use the GPU. But it would be pointless to have things like that go to the CPU and then get offloaded to the GPU.

The problem is, a GPU just can't do everything, such as initiating a file transfer from disk

And there are other things, such as single threaded programs with possibly lots of random jumps that would perform very badly on a GPU (and also take up a whole stripe of cores while only using 1 of them)

And then, there is the cache problem - GPU's have code tiny caches, which allows more space to be used for executional parts, and while that's good when you have a very small piece of code that is executed a lot of times (such as a pixelshader) then it's all fine, but it's not going to make regular code any faster

So the majority of programs wouldn't benefit one bit from executing on the GPU..

But then, by now you know this..

In case anyone's interested, I quickly wrote a basic mandelbrot shader (no PDN effect yet) which doesn't take 10 seconds to fill your screen - in fact, it runs at about 200FPS on my computer (it requires shader model 3 support though)

I would write plugins, if I knew what kind of plugins were needed.. :(

Link to comment
Share on other sites

If you manage to convert it to PDN, i'd be happy to use it :D Even though GPU's are powerful, they mostly just don't do same things... Lower clock speeds and tiny cache. They're both powerful in a different way...

Link to comment
Share on other sites

Version 4.0 will definitely not have GPU support, but I am reworking things so that it will be possible to add this in a later version. (Note that this is NOT a feature promise. So please don't go claiming that "version 4.1 will have GPU support" or something crazy.)

Edit: Anyone play with Pixelmator? That thing has crazy fast filters because of the GPU ...

The Paint.NET Blog: https://blog.getpaint.net/

Donations are always appreciated! https://www.getpaint.net/donate.html

forumSig_bmwE60.jpg

Link to comment
Share on other sites

I get weird FileNotFoundExceptions on the XNA dll even though I copied it pretty much everywhere

But it's not like I'm an effect's wizard - maybe someone else can do it? (OpenGL from C# is rather painful.. but I might try it)

I would write plugins, if I knew what kind of plugins were needed.. :(

Link to comment
Share on other sites

I get weird FileNotFoundExceptions on the XNA dll even though I copied it pretty much everywhere

But it's not like I'm an effect's wizard - maybe someone else can do it? (OpenGL from C# is rather painful.. but I might try it)

No idea. This isn't an XNA support forum though.

The Paint.NET Blog: https://blog.getpaint.net/

Donations are always appreciated! https://www.getpaint.net/donate.html

forumSig_bmwE60.jpg

Link to comment
Share on other sites

Which may be why I only suggested someone else do it..

It's annoying though, it doesn't even tell me where it's looking, only that it isn't there.

So I gave up

I would write plugins, if I knew what kind of plugins were needed.. :(

Link to comment
Share on other sites

Version 4.0 will definitely not have GPU support, but I am reworking things so that it will be possible to add this in a later version. (Note that this is NOT a feature promise. So please don't go claiming that "version 4.1 will have GPU support" or something crazy.)

Edit: Anyone play with Pixelmator? That thing has crazy fast filters because of the GPU ...

Thanks for replying tothe original intent of this thread.

As long as the possibility is there, that's quite satisfying for now :)

Haven't had a chance to try Pixelmator, as I don't use OSX at home

But im heavily looking forward to RapiHD ( http://www.elementaltechnologies.com/index.php ) a consumer version of badaboom beta has been benchmarked, and the results are to dream about.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...