Skip to main content

Topic: FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda) (Read 324422 times) previous topic - next topic

0 Members and 1 Guest are viewing this topic.
  • SCOTU
  • [*][*][*]
FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #175
Hard drive shouldn't need to really move back and forth for different threads unless they're taking from drastically different parts of the disk on a high priority basis.  Hard drives and OS' have a request queue that will make efficient sweeps of the disk and even prefetch data around what it's looking at, so it usually doesn't need to do much moving assuming your keep your HDD defragmented.

FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #176
@Bad Monkey
I found out something but test will follow later. There are speed differences when I use different encoded sources. So when I convert a wav or ape or flac file with flacuda there a differences in speed. Has something to do with the preparation of a track before flacuda encodes it.

FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #177
wav is uncompressed, flac/ape has to be decompressed. While flac decompression is very fast, ape's isn't - it's quite low actually (60x or something?), that's why it takes longer than wav to convert.

  • Wombat
  • [*][*][*][*][*]
FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #178
Wonder why Mr. Chudov doesn´t respond in his threads since a while. I hope you are fine Gregory and enjoy holidays slurping some Cocktail

Now what i want to say. Regarding Cuda, i feel already a bit dissapointed. Since it is an Nvidia only thingy i wonder why even for the first next generation cards the code doesn´t work anymore.  Of cause the newer cards have much changes in hardware but...

I start to get a friend of this Opencl. Maybe we will see a Flacocl some day.
Is troll-adiposity coming from feederism?
With 24bit music you can listen to silence much louder!

  • Nowings69
  • [*][*]
FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #179
@ Gregory S. Chudov
I designed FlaCuda logo with respect original logo.
Thank you very much



  • Maggi
  • [*][*][*]
FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #180
I'm getting "Error    : Exception of type 'GASS.CUDA.CUDAException' was thrown."

[...]


I get the same error on my GTX460 ... is there anything I could do to help tackling this issue ?

Cheers,
Maggi

/edit (found an updated version)

maybe this doc could be helpful ?
http://developer.download.nvidia.com/compu...bilityGuide.pdf
  • Last Edit: 07 September, 2010, 09:38:48 AM by Maggi

  • dewdude
  • [*]
FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #181
I'm VERY late to this party. I only found out about this encoder yesterday and for the longest time had no CUDA enabled hardware.

I'm currently running a GeForce GTX260M with 1GB DDR3 (that's dedicated video ram, not shared with system) in my Asus laptop which has a C2D 2.53 P8700 and actually uses a custom desktop chipset. The GPU though is underclocked to 500/1250/800 and i'm not arsed to restore it to defaults.

Anyway...here are my results from FLACuda encoding a rather large WAV of Dark Side Of The Moon to -8. This is for the GPU only encode:

Quote
C:\Users\Jay\Desktop\FlaCuda091>cuetools.flacuda.exe -8 "Untitled_mixdown.wav" -o dsotm.flac
FlaCuda#.91, Copyright © 2009 Gregory S. Chudov.
This is free software under the GNU GPLv3+ license; There is NO WARRANTY, to
the extent permitted by law. <http://www.gnu.org/licenses/> for details.
Filename  : Untitled_mixdown.wav
File Info : 44100kHz; 2 channel; 16 bit; 01:41:47.0100000
Results  : 192.97x; 615833373 bytes in 00:00:31.6468101 seconds;


I also ran tests with --slow-gpu and in addition to that..adding --cpu-threads 2. I will mention that my CPU by default runs in the usual "as-needed" clock mode...so auto-scales depending on requirements. I didn't look at the clock when it was going up...but I can imagine that it likely jumped to the full 2.5ghz when doing this. The result speed without --cpu-threads 2 was 234.87x, I didn't feel the need to list it for such a small variance.

Quote
C:\Users\Jay\Desktop\FlaCuda091>cuetools.flacuda.exe --slow-gpu --cpu-threads 2 -8 "Untitled_mixdown.wav" -o dsotm2.flac
FlaCuda#.91, Copyright © 2009 Gregory S. Chudov.
This is free software under the GNU GPLv3+ license; There is NO WARRANTY, to
the extent permitted by law. <http://www.gnu.org/licenses/> for details.
Filename  : Untitled_mixdown.wav
File Info : 44100kHz; 2 channel; 16 bit; 01:41:47.0100000
Results  : 234.98x; 615867393 bytes in 00:00:25.9894865 seconds;


I wanted to see what it could do with 96/24 data, but sadly it's limited to 16-bit audio...so while this may work great for archiving CD's, it won't outright replace all my FLAC usage.

I'd output times and stuff from the standard FLAC encoder, but i see no way to get it to display any data of such and assume i need some kind of special version,  which I don't feel like tracking down. However, based on the somewhat inaccurate method of a stopwatch and the flac.exe CLI encoder....it was no where near this kind of speed.

Excellent job though. I didn't think I'd see flac encode that fast at level 8.
  • Last Edit: 08 September, 2010, 04:52:07 PM by dewdude

  • Wombat
  • [*][*][*][*][*]
FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #182
Lately i dropped in a Quadcore in my old fellow 965P board. Just have to show you how it looks when i encode a cd and even with verify. Just look at the "Time" column closely



Edit: together with my GTX260 i mentioned earlier in this thread.
  • Last Edit: 10 September, 2010, 07:08:27 PM by Wombat
Is troll-adiposity coming from feederism?
With 24bit music you can listen to silence much louder!

  • Wombat
  • [*][*][*][*][*]
FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #183

Should that have been it?
Another great idea fading?
Is troll-adiposity coming from feederism?
With 24bit music you can listen to silence much louder!

FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #184
Sorry for slacking, i've been extremely busy at work lately and still don't have time to answer all PMs and such. Meanwhile, here's a beta version of OpenCL flac encoder for ATI/AMD GPUs. I only tested it on Radeon HD 5450, which is extremely slow. No idea if this thing will be much faster than CPU-based flac encoders when using more advanced GPUs. My guess is we won't see such speeds as with CUDA.
  • Last Edit: 15 October, 2010, 03:55:15 PM by Gregory S. Chudov
CUETools 2.1.4

  • Case
  • [*][*][*][*][*]
  • Developer (Donating)
FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #185
Seems to be about the same speed on my Radeon HD 5870 as FlaCUDA v0.4 was on my GTX 285.
[ Specified attachment is not available ]
  • Last Edit: 15 October, 2010, 07:17:46 PM by Case

FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #186
That's good news. I thought it was worse. Thanks a lot!
CUETools 2.1.4

  • Wombat
  • [*][*][*][*][*]
FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #187
Nice!
Sadly i can´t get it running on my GTX260. The driver version is 258.96 and should support Opencl 1.0
I get this error: Build failed with errorcode BULD_PROGRAM_FAILURE
Is troll-adiposity coming from feederism?
With 24bit music you can listen to silence much louder!

FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #188
OpenCL doesn't automatically mean that it runs on any GPU. This is a version for AMD GPUs. There will be a combined version later.
CUETools 2.1.4

  • Wombat
  • [*][*][*][*][*]
FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #189
Ah ok, don´t hurry.
I just wonder what standards are for these days. You programmers must have a really hard time doing compatibility checks these days. For me noob Opencl is Opencl, shouldn´t matter what brand.
Is troll-adiposity coming from feederism?
With 24bit music you can listen to silence much louder!

  • Destroid
  • [*][*][*][*][*]
FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #190
I applaud the effort for getting OpenCL projects going. I suppose having an the AMD graphics adapter is my own issue but I don't think Stream/CUDA being sectioned-off to their respective brands can help the concept of "parallel processing is the future."

Gregory: would you mind commenting on your experience dealing with OpenCL vs. CUDA? I'd be interested to hear what pro's and con's are from a developer.

And I might add that the title of this topic is becoming less accurate
"Something bothering you, Mister Spock?"

FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #191
Well, the languages themselves are very similar. 99% of concepts are the same, sometimes renamed for no apparent reason. They could have just adopted CUDA as a standard, but i guess that was unacceptable for political reasons. Main added feature in OpenCL is language support for SSE-like vector operations, which are needed to effectively use AMD GPUs and probably Intel's future SandyBridge architecture.

Unfortunately, OpenCL cannot completely hide the differences in hardware architectures. You still have to write the same algorithm twice for NVIDIA and AMD hardware, or suffer unacceptable performance penalties. But at least you can reuse some parts and more easily write software that supports both.

AMD's OpenCL compiler and documentation in their current state were a huge disappointment. About half of the time i spent porting FlaCUDA to OpenCL was wasted on combating numerous compiler errors and such. CUDA had it problems too, but nothing like this, for example.
CUETools 2.1.4

  • Maurits
  • [*][*][*][*]
FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #192
Well, the languages themselves are very similar. 99% of concepts are the same, sometimes renamed for no apparent reason. They could have just adopted CUDA as a standard, but i guess that was unacceptable for political reasons. Main added feature in OpenCL is language support for SSE-like vector operations, which are needed to effectively use AMD GPUs and probably Intel's future SandyBridge architecture.

Unfortunately, OpenCL cannot completely hide the differences in hardware architectures. You still have to write the same algorithm twice for NVIDIA and AMD hardware, or suffer unacceptable performance penalties. But at least you can reuse some parts and more easily write software that supports both.

AMD's OpenCL compiler and documentation in their current state were a huge disappointment. About half of the time i spent porting FlaCUDA to OpenCL was wasted on combating numerous compiler errors and such. CUDA had it problems too, but nothing like this, for example.

Considering OpenCL is much newer than CUDA, is still developing (recently from version 1.0 to 1.1), the SDKs are still improving and the hardware manufacturers are still improving their implementation of OpenCL in the drivers, do you think this is just a temporary phase?

Could it be that eventually OpenCL is close to CUDA in performance and the multi-vendor opportunities make a small hit worth it?
There is a hidden message in the song at approximately 4:32. If played at half speed, Waters can be heard to say, "That was pretty avant-garde, wasn't it?"

FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #193
I sure hope so, but it might take a couple of years before it reaches maturity.
CUETools 2.1.4

  • alvaro84
  • [*][*][*]
FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #194
And what about DirectCompute?

FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #195
To be honest, i don't know much about it, except that it's not likely to be available outside of Windows world, so it doesn't sound promising.
CUETools 2.1.4

  • viktor
  • [*][*][*][*]
FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #196
i've installed catalyst 10.10 APP version for my hd4350 on windows 7 x64.

when i try to encode a wav file, it keeps saying:

Error: Build failed with error code BUILD_PROGRAM_FAILURE

the same file encodes fine with flac.exe. any ideas?

  • SCOTU
  • [*][*][*]
FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #197
To be honest, i don't know much about it, except that it's not likely to be available outside of Windows world, so it doesn't sound promising.


Microsoft is actually porting DirectX to Linux, no clue when that'll actually happen, though.

edit: correction, it may only be Direct3D.
  • Last Edit: 28 October, 2010, 04:40:28 PM by SCOTU

  • Lucho
  • [*]
FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #198
i've installed catalyst 10.10 APP version for my hd4350 on windows 7 x64.

when i try to encode a wav file, it keeps saying:

Error: Build failed with error code BUILD_PROGRAM_FAILURE

the same file encodes fine with flac.exe. any ideas?


Probably you didnt install OpenCL driver, look at this page:  http://sites.amd.com/us/game/downloads/Pages/downloads.aspx  ,choose your OS and than at "individual packages"

  • viktor
  • [*][*][*][*]
FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #199
Probably you didnt install OpenCL driver, look at this page:  http://sites.amd.com/us/game/downloads/Pages/downloads.aspx  ,choose your OS and than at "individual packages"


the APP version contains that.