Skip to main content

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

0 Members and 1 Guest are viewing this topic.
Re: FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #475
Ah okay. So I just make a big folder on many GB's, with many wav's in different genres to do the test? Or should I use something official from a special test list, other testers also use?

Yes. My AMD Phenom II X4 955 CPU is not that good with threads I think. But I should have an Intel I7 with lots of cores and threads, and virtual threads (and a lot of stuff I don't know much about, when it comes to the architechture of CPU's ;) ). Then the difference between I7 CPU and the GTX 1060 GPU would be smaller as you point out.

Sounds good with FlaCuda in EAC. Then the new version Flaccl, just with different name should not be that different. Thanks mate.
ps: Thanks, and sorry if my english is a bit broken/bad....

  • Wombat
  • [*][*][*][*][*]
Re: FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #476
For size comparisons just encode as much as it is comfortable for you. I mainly wanted to point out that one or 3 albums are not enough to conclude to much because different flac implementations slightly behave different.
Your english is good enough, no need to excuse. I often write confusing sentenses that make less sense.
Is troll-adiposity coming from feederism?
With 24bit music you can listen to silence much louder!

Re: FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #477
Ah okay.
Just testing now in Foobar. Trying later with EAC.

I took your old Flacuda parameters

"Wombats parameter about FLACUDA":
/c ""C:\path\CUETools.FlaCuda.exe" -8 --verify %s -o %d && "C:\path\metaflac.exe" --set-tag="Album=%g" --set-tag="Artist=%a" --set-tag="Title=%t" --set-tag="Tracknumber=%n" --set-tag="Date=%y" --set-tag="Genre=%m" --set-tag="Comment=FlaCuda 0.6 -8" %d"

And changed them into->

My new parameter:
/c ""C:\Program Files (x86)\foobar2000\encoders\CUETools.FLACCL.cmd.exe" -8 --verify %s -o %d && "C:\Program Files (x86)\foobar2000\encoders\metaflac.exe" --set-tag="Album=%g" --set-tag="Artist=%a" --set-tag="Title=%t" --set-tag="Tracknumber=%n" --set-tag="Date=%y" --set-tag="Genre=%m" --set-tag="Comment=FLACCL 2.1.5 -8" %d"

Foobar2000 looked like it was about to leave a finished flac on the desktop, but came up with those errors, and removed the temporary flac file from desktop:

1 out of 1 tracks converted with major problems.

Source: "C:\Users\Krusty\Desktop\Test\Enya - 2008 - And Winter Came.wav"
  An error occurred while finalizing the encoding process (Object not found) : "C:\Users\Krusty\Desktop\Enya - 2008 - And Winter Came.flac"
  Conversion failed: Object not found


Maybe its because Foobar2000 wants Output format and Destination parameters, to be separated?

Re: FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #478
@Wombat:
BTW: The parameters I was using before in EAC was:
-8 -V -T "ARTIST=%artist%" -T "TITLE=%title%" -T "ALBUM=%albumtitle%" -T "DATE=%year%" -T "TRACKNUMBER=%tracknr%" -T "GENRE=%genre%" -T "PERFORMER=%albuminterpret%" -T "COMPOSER=%composer%" %haslyrics%--tag-from-file=LYRICS="%lyricsfile%"%haslyrics% -T "ALBUMARTIST=%albumartist%" -T "DISCNUMBER=%cdnumber%" -T "TOTALDISCS=%totalcds%" -T "TOTALTRACKS=%numtracks%" -T "COMMENT=%comment%" %source% -o %dest%

If you are able to fit it to Flaccl (and maybe flacmeta. Not quite sure what that is, as I never used it before.)

  • lvqcl
  • [*][*][*][*][*]
  • Developer
Re: FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #479
My new parameter:
/c ""C:\Program Files (x86)\foobar2000\encoders\CUETools.FLACCL.cmd.exe" -8 --verify %s -o %d && "C:\Program Files (x86)\foobar2000\encoders\metaflac.exe" --set-tag="Album=%g" --set-tag="Artist=%a" --set-tag="Title=%t" --set-tag="Tracknumber=%n" --set-tag="Date=%y" --set-tag="Genre=%m" --set-tag="Comment=FLACCL 2.1.5 -8" %d"
And what's your new "Encoder file" setting?

Re: FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #480
I tried to change Wombats old settings he was using for EAC when using FLACUDA. But I can't seem to make it work. So the parameters I'm using right now does not work.

The old parameters I was using for the normal FLAC encoder/decoder version 1.3.1 was this:
-8 -V -T "ARTIST=%artist%" -T "TITLE=%title%" -T "ALBUM=%albumtitle%" -T "DATE=%year%" -T "TRACKNUMBER=%tracknr%" -T "GENRE=%genre%" -T "PERFORMER=%albuminterpret%" -T "COMPOSER=%composer%" %haslyrics%--tag-from-file=LYRICS="%lyricsfile%"%haslyrics% -T "ALBUMARTIST=%albumartist%" -T "DISCNUMBER=%cdnumber%" -T "TOTALDISCS=%totalcds%" -T "TOTALTRACKS=%numtracks%" -T "COMMENT=%comment%" %source% -o %dest%

I can make it work by using the very simple parameters, with CUETools.FLACCL.cmd.exe v. 2.1.5:
-8 %source%

But then I don't get all the ID3 tags I had before, when converting or ripping.

Any ideas? Seems like I'm close to make everything work. Not very good at this kind of technical stuff.
  • Last Edit: 08 December, 2016, 05:06:36 PM by Krusty The Clown

  • Wombat
  • [*][*][*][*][*]
Re: FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #481
I tried again and here is how it works, EAC 1.3. Use the setting from the pic and make sure to use the correct paths and flags from EAC to feed metaflac http://www.exactaudiocopy.de/en/index.php/support/faq/

/c ""R:\CUETools_2.1.6_encoders\CUETools.FLACCL.cmd.exe" -8 --verify %source% -o %dest% && "R:\flac\metaflac.exe" --set-tag="ARTIST=%artist%" --set-tag="ALBUM=%albumtitle%" --set-tag="TOTALTRACKS=%numtracks%" --set-tag="TRACKNUMBER=%tracknr2%" --set-tag="TITLE=%title%" --set-tag="DATE=%year%" --set-tag="GENRE=%genre%" %dest%"
  • Last Edit: 08 December, 2016, 08:53:06 PM by Wombat
Is troll-adiposity coming from feederism?
With 24bit music you can listen to silence much louder!

Re: FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #482
Perfect. It works now. I have never guessed to put path to command prompt. Is the reason to use cmd, and metaflac because of the flaccl doesn't have options for include ID3 tags unlike the normal flac encoder that, and need to be "helped" with cmd and metaflac?

Thanks anyway for the help in EAC. Now I just need to make sure flaccl is configured correct in Foobar2000. What is your settings there? Thanks

  • Wombat
  • [*][*][*][*][*]
Re: FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #483
I don't use foobar with flacCL but it should be simple like any other codec. You may add -b 4096 if you plan to encode different samplerates. Original flac uses a blocksize of 4096 while the CUEtools encoders may use bigger values. My network player couldn't play these.
Is troll-adiposity coming from feederism?
With 24bit music you can listen to silence much louder!

Re: FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #484
Ah okay. Don't know much about blocksize, but I never change samplerate when converting. Only change samplerate if I fiddle with music samples in a music editor like Sound Forge or Audacity to make it go faster or slower for fun. But thanks for the tip and help thou.

Anyway, I overclocked my GPU a bit with MSI afterburner with Core on 110, and Mem on 550. So the 45.05 min wav I did before, now took 00:00:05.6375715 seconds; instead of 00:00:07.9134911 seconds when using CMD/Dos/Command Promt. :-)



Re: FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #485
Wasn't able to attach photo from desktop before. I try again...  ::)



Hm...don't know how to attach photos here.

Anyway. I guess people with newer cards like Titan X cards can convert a 45 min wav in 1 or 2 secs.
  • Last Edit: 14 December, 2016, 02:24:42 AM by Krusty The Clown

  • rutra80
  • [*][*][*][*][*]
  • Members (Donating)
Re: FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #486
Is it just me or is FLACCL slower in real use than FLAC? On a single big file FLACCL is much faster, sure, but when I encode a real CD with many several minutes long songs, every instance of FLACCL initializes for long enough to extenuate encoding speed gains, even when multithreading. Here on Celeron G1820 & Radeon R7 260X it took ~40 seconds to encode an album with FLACCL, and ~30 with FLAC.

  • kode54
  • [*][*][*][*][*]
  • Administrator
Re: FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #487
You can't multi-thread FLACCL. Each individual instance is designed to use the full resources of your GPU. Running more than one at a time, they fight over the GPU. It's like multi-instancing an already multi-threaded encoder.

Yeah, and I'm not going to expect it to perform miracles when you toss it at budget hardware. Either way, I'd expect the real bottleneck to any CD ripping operation to be the actual CD ripping, not the encoding. It should be done encoding each track before it even finishes ripping the next one.

  • IgorC
  • [*][*][*][*][*]
Re: FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #488
Is it just me or is FLACCL slower in real use than FLAC?
As far as i remember FLACCL has different level scale in comparison with FLAC.

FLACCL -6  is comparable to FLAC -8 in terms of compression ratio.
FLACCL -8  is equivalent to something like FLAC -8 -p -e

  • rutra80
  • [*][*][*][*][*]
  • Members (Donating)
Re: FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #489
I tried both single and multi-instance, the latter turns out to be actually faster. I wouldn't call Radeon R7 260X to be explicitly "budget", unless you mean that initialisation time is a fault of budget Celeron. But then, on a faster CPU initialisation would be faster, but so would be FLAC. As for encoding speed while ripping, it's irrelevant these days - encoding a single song takes a couple of seconds while ripping takes a dozen.
IgorC, I'll try comparing the settings you mention.
  • Last Edit: 07 January, 2017, 07:52:25 PM by rutra80

  • Wombat
  • [*][*][*][*][*]
Re: FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #490
As far as i remember FLACCL has different level scale in comparison with FLAC.

FLACCL -6  is comparable to FLAC -8 in terms of compression ratio.
FLACCL -8  is equivalent to something like FLAC -8 -p -e
The recent official flac versions compress similar to flacCL at -8. CUEtools flake -8 is similar to flac -8 -ep at a usable speed. The last flake compression optimization didn't make it into flacCL.
Is troll-adiposity coming from feederism?
With 24bit music you can listen to silence much louder!

  • kode54
  • [*][*][*][*][*]
  • Administrator
Re: FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #491
It sells for under $150, so I'd call it a "budget" card. An RX 480, by comparison, sells for between $250 and $300, so it's more of a mid-range card. It also benchmarks Passmark's GPU compute performance at about 3-4x as fast as that R7 260X.

Maybe it does benefit from multi-threading. Maybe it's fast enough so that your hard drive is the bottleneck. In which case, it doesn't really matter which encoder you use, until you start using greater than FLAC -8 compression settings, in which case some decoders may not even be able to keep up due to memory constraints, such as on embedded devices.

  • rutra80
  • [*][*][*][*][*]
  • Members (Donating)
Re: FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #492
I admit I made a mistake - I didn't notice that FLACCL was using integrated Intel OpenCL which is roughly as fast as FLAC... :-*

BUT

It doesn't make a difference! :D
Here go times for encoding 29 songs in fb2k (FLACCL uses -7 so it produces files bigger than FLAC -8):
  • FLAC - 20s
  • FLACCL multi-instance AMD - 29s
  • FLACCL multi-instance Intel - 34s
  • FLACCL single-instance AMD - 48s
It's not encoding speed that's an issue (encoding itself is 5x faster than FLAC: ~600x vs ~120x), it's initialization time. And it surely isn't drive's bottleneck (Samsung 850 EVO).
  • Last Edit: 07 January, 2017, 09:49:58 PM by rutra80

  • kode54
  • [*][*][*][*][*]
  • Administrator
Re: FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #493
Clearly it should be caching the encode kernels on disk somewhere to speed up initialization. Or at least optionally providing a path to store encode kernels, with filenames keyed to FLACCL version and any encode options which would be compiled into it.

  • IgorC
  • [*][*][*][*][*]
Re: FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #494
The recent official flac versions compress similar to flacCL at -8. CUEtools flake -8 is similar to flac -8 -ep at a usable speed. The last flake compression optimization didn't make it into flacCL.
Ah, great. I saw that a devs have squeezed  ~0.2% for FLAC  1.3.1&1.3.2. Just didn't know how it compared to FLACCL.

It's not encoding speed that's an issue (encoding itself is 5x faster than FLAC: ~600x vs ~120x), it's initialization time.
I had a same experience with FLACCL. That's why I've moved to FLAC 1.3.1 (the version when it has become very fast).

  • kode54
  • [*][*][*][*][*]
  • Administrator
Re: FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #495
It should be saving compiled OpenCL binary blobs to:

%localappdata%\CUE Tools\OpenCL

Make sure the process has write permission to that path, and that there's nothing there conflicting with it.

E: I just checked. It does take almost a full second to initialize on an RX 480, even with the .cl file pre-compiled. Which nullifies the advantage of encoding a 2 minute track in 200ms if the software encoder can produce the same results in less time than the 200ms plus the combined startup time of the FLACCL encoder.
  • Last Edit: 08 January, 2017, 12:29:34 AM by kode54

  • Wombat
  • [*][*][*][*][*]
Re: FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #496
The recent official flac versions compress similar to flacCL at -8. CUEtools flake -8 is similar to flac -8 -ep at a usable speed. The last flake compression optimization didn't make it into flacCL.
I was wrong, sorry. I didn't use flacCL in a while but on average it still compresses better as the oficial -8 flac but now more varying over different albums. flac came close but CUEtools flake at -8 really is similar or better as -ep -8. I tested this with a bunch of recent albums, no sience.
Is troll-adiposity coming from feederism?
With 24bit music you can listen to silence much louder!

  • Isabelxxx
  • [*]
Re: FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #497
It should be saving compiled OpenCL binary blobs to:

%localappdata%\CUE Tools\OpenCL

Make sure the process has write permission to that path, and that there's nothing there conflicting with it.

E: I just checked. It does take almost a full second to initialize on an RX 480, even with the .cl file pre-compiled. Which nullifies the advantage of encoding a 2 minute track in 200ms if the software encoder can produce the same results in less time than the 200ms plus the combined startup time of the FLACCL encoder.

Reproducible behavior on my side too.

One of the reasons the standard Flac encoder becomes more useful for multiple files; I also pointed in previous posts how foobar can not manage properly multiple FLACCL encoder threads throwing errors from time to time. Maybe it's related to this delay (?).

Re: FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #498
same test using the same file...
cd1.wav
7700K
GTX 1050 Ti
-8
tested all combinations possible...
from 32 to 2048
https://youtu.be/HSQR0SONYZk?list=PLFLW4YcfJg9E8c0mk1KJJtANx2pzJA4u3
  • Last Edit: 11 August, 2017, 07:29:46 PM by JuanPabloCuervo