Skip to main content

Notice

Please note that most of the software linked on this forum is likely to be safe to use. If you are unsure, feel free to ask in the relevant topics, or send a private message to an administrator or moderator. To help curb the problems of false positives, or in the event that you do find actual malware, you can contribute through the article linked here.
Topic: FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda) (Read 468214 times) previous topic - next topic
0 Members and 2 Guests are viewing this topic.

Re: FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)

Reply #451
Hello everyone,

I've been playing with flaccl (2.1.6) on my laptop (Windows 7 Pro 64, I5 4200M, Nvidia GTX 760M, 8 GB RAM, 3 SSD drives) but can't seem to be able to obtain proper encoding time improvement over the regular FLAC encoder.

My NVIDIA drivers are up-to-date.

I'm doing this in Foobar and my test file is a 700 MB wav file (classical music).


Command line: "C:\Program Files (x86)\FLACCL_2.1.6\FLACCL\CUETools.FLACCL.cmd.exe" -8 - -o "Image.flac" --verify --opencl-type GPU --opencl-platform "NVIDIA CUDA" --ignore-chunk-sizes
Track converted successfully.
Total encoding time: 0:22.449, 185.39x realtime

Command line: "C:\Program Files\Flac\flac.exe" -s --ignore-chunk-sizes -8 - -o "Image.flac"
Track converted successfully.
Total encoding time: 0:22.885, 181.86x realtime


I noticed that GPU usage only goes up to ~44% using flaccl. So I'm thinking there's a bottleneck somewhere.
Also, if instead of one long file I use separate tracks, both encoders go faster thanks to using all CPU threads, but max GPU usage stays the same. And in that situation flaccl is about 25% slower than the regular encoder.

I've read almost the whole thread, tried most options (which never led to any significant difference), tried loading the file in ram-disk, tried having the original file on one SSD and writing the resulting file on another, etc. I still can't seem to make it work any faster.

BTW, the laptop is plugged to the mains and the energy setting is set to max performance of course.

Do you guys have any idea about this ?

Thanks.
If it's not broken, don't fix it.

Re: FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)

Reply #452
can't seem to be able to obtain proper encoding time improvement over the regular FLAC encoder.
Are you expecting improvement when comparing them at the same compression level (-8) or at the same compression ratio/output size? Because compression ratio for flac -8 is probably close to compression ratio of flaccl -5 or something like that. I purposely made -8 quite slow - it's purpose is to achieve better compression, not necessarily to be faster.

I noticed that GPU usage only goes up to ~44% using flaccl. So I'm thinking there's a bottleneck somewhere.
That is quite possible and it's probably in the way flaccl utilizes GPU resources. The sad part about hardware accelerated algorithms, is they have to be precisely tuned for a particular hardware architecture to be effective (or sometimes to even work at all). I don't believe i ever got the chance to tune it for NVIDIA 7XX lineup.
CUETools 2.1.6

Re: FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)

Reply #453
Are you expecting improvement when comparing them at the same compression level (-8) or at the same compression ratio/output size? Because compression ratio for flac -8 is probably close to compression ratio of flaccl -5 or something like that. I purposely made -8 quite slow - it's purpose is to achieve better compression, not necessarily to be faster.

Well, I was expecting improvement at the same -8 setting. But I just tried encoding the same file with flaccl at -5 and :

Total encoding time: 0:19.204, 216.72x realtime

Faster, but we're far from the x700 + I was expecting  ;)

I also tried with setting -0 for both encoders :

FLAC
Total encoding time: 0:07.067, 588.93x realtime

FLACL
Total encoding time: 0:15.787, 263.63x realtime

Weird isn't it ?

The sad part about hardware accelerated algorithms, is they have to be precisely tuned for a particular hardware architecture to be effective (or sometimes to even work at all). I don't believe i ever got the chance to tune it for NVIDIA 7XX lineup.

I didn't realize it would be that dependent on hardware. I guess that explains it.

Even though it is therefore of no use to me, I thank you for putting in the time and effort to develop such a piece of software. Such a great idea.
If it's not broken, don't fix it.

Re: FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)

Reply #454
Why --device-id switch is not present in FlacCL?
What device will FlacCL use if user has AMD APU+AMD dedicated GPU?

Re: FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)

Reply #455
I got myself a snazzy new AMD R9 390 and decided to play with FLACCL. CPU is a quad-core i5-3570 (non-K, stock speeds) and the filesystem resides in an SSD drive. The --cpu-threads switch provides a huge speedup (more than doubles encoding speed) set for 2 threads. 3 and 4 threads actually seem to slow down encoding slightly compared to using 2 threads. GPU drivers are latest Crimson non-WHQL.

Code: [Select]
C:\output>CUETools.FLACCL.cmd.exe Image.wav
CUETools FLACCL 2.1.6, Copyright (C) 2010-2013 Grigory 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  : Image.wav
File Info : 44100kHz; 2 channel; 16 bit; 02:29:57.3500000
Device    : Hawaii, Platform: "AMD Accelerated Parallel Processing", Version: Op
enCL 2.0 AMD-APP (2004.6), Driver: 2004.6 (VM)

Run 1 Results   : 833.97x; 1118786860 bytes in 00:00:10.7886170 seconds;
Run 2 Results   : 834.12x; 1118786860 bytes in 00:00:10.7866170 seconds;
Run 3 Results   : 833.66x; 1118786860 bytes in 00:00:10.7926173 seconds;

Code: [Select]
C:\output>CUETools.FLACCL.cmd.exe --cpu-threads 2 Image.wav

Run 1 Results   : 1737.85x; 1118786860 bytes in 00:00:05.1772961 seconds;
Run 2 Results   : 1734.16x; 1118786860 bytes in 00:00:05.1882968 seconds;
Run 3 Results   : 1730.83x; 1118786860 bytes in 00:00:05.1982973 seconds;

Code: [Select]
C:\output>CUETools.FLACCL.cmd.exe --cpu-threads 3 Image.wav

Run 1 Results   : 1725.18x; 1118786860 bytes in 00:00:05.2152983 seconds;
Run 2 Results   : 1726.51x; 1118786860 bytes in 00:00:05.2112981 seconds;
Run 3 Results   : 1724.52x; 1118786860 bytes in 00:00:05.2172984 seconds;

Code: [Select]
C:\output>CUETools.FLACCL.cmd.exe --cpu-threads 4 Image.wav

Run 1 Results   : 1724.85x; 1118786860 bytes in 00:00:05.2162984 seconds;
Run 2 Results   : 1721.55x; 1118786860 bytes in 00:00:05.2262990 seconds;
Run 3 Results   : 1723.86x; 1118786860 bytes in 00:00:05.2192985 seconds;

Compared to Flake

Code: [Select]
C:\output>CUETools.Flake.exe Image.wav
CUETools.Flake, Copyright (C) 2009-2014 Grigory Chudov.
Initially based on Flake encoder by Justin Ruggles.
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  : Image.wav
File Info : 44100kHz; 2 channel; 16 bit; 02:29:57.3500000

Run 1 Results   : 231.13x; 1118353797 bytes in 00:00:38.9282265 seconds;
Run 2 Results   : 229.93x; 1118353797 bytes in 00:00:39.1302381 seconds;
Run 3 Results   : 230.75x; 1118353797 bytes in 00:00:38.9912302 seconds;

Re: FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)

Reply #456
Hi gregory

Would like to report a strange behaviour sometimes I got with Flaccl, something like this:

Quote
1 out of 2 tracks converted with major problems.

Source: "H:\Musica_vinilo\Samsara Blues Experiment\SBE12COTSMB96\Samsara Blues Experiment-2012-Center Of The Sun-Midnight Boogie (EP, WIS-3512, World In Sound)\Samsara Blues Experiment - Center Of The Sun-Midnight Boogie (EP, WIS-3512).cue" / index: 1
  An error occurred while writing to file (The encoder has terminated prematurely with code 3 (0x00000003); please re-check parameters) : "H:\Musica_vinilo\Samsara Blues Experiment\SBE12COTSMB96\Samsara Blues Experiment-2012-Center Of The Sun-Midnight Boogie (EP, WIS-3512, World In Sound)\01 - Center Of The Sun.flac"
  Additional information:
  Encoder stream format: 96000Hz / 2ch / 24bps
  Command line: "c:\Program Files (x86)\foobar2000\encoders\CUETools.FLACCL.cmd.exe" -q -8 --ignore-chunk-sizes  --cpu-threads 1 --opencl-type GPU --opencl-platform "NVIDIA CUDA" --verify - -o "01 - Center Of The Sun.flac"
  Working folder: H:\Musica_vinilo\Samsara Blues Experiment\SBE12COTSMB96\Samsara Blues Experiment-2012-Center Of The Sun-Midnight Boogie (EP, WIS-3512, World In Sound)\
 
  Conversion failed: The encoder has terminated prematurely with code 3 (0x00000003); please re-check parameters
Source: "H:\Musica_vinilo\Samsara Blues Experiment\SBE12COTSMB96\Samsara Blues Experiment-2012-Center Of The Sun-Midnight Boogie (EP, WIS-3512, World In Sound)\Samsara Blues Experiment - Center Of The Sun-Midnight Boogie (EP, WIS-3512).cue" / index: 2
  Track converted successfully.

Quote
Source: "H:\Musica_vinilo\Samsara Blues Experiment\SBE10LDT96\Samsara Blues Experiment-2010-Long Distance Trip (LP, WIS-3505, World In Sound)\Samsara Blues Experiment - Long Distance Trip (LP, WIS-3505).cue" / index: 4
  An error occurred while writing to file (The encoder has terminated prematurely with code 3 (0x00000003); please re-check parameters) : "H:\Musica_vinilo\Samsara Blues Experiment\SBE10LDT96\Samsara Blues Experiment-2010-Long Distance Trip (LP, WIS-3505, World In Sound)\04 - Wheel Of Time.flac"
  Additional information:
  Encoder stream format: 96000Hz / 2ch / 24bps
  Command line: "c:\Program Files (x86)\foobar2000\encoders\CUETools.FLACCL.cmd.exe" -q -8 --ignore-chunk-sizes  --cpu-threads 1 --opencl-type GPU --opencl-platform "NVIDIA CUDA" --verify - -o "04 - Wheel Of Time.flac"
  Working folder: H:\Musica_vinilo\Samsara Blues Experiment\SBE10LDT96\Samsara Blues Experiment-2010-Long Distance Trip (LP, WIS-3505, World In Sound)\
 
  Conversion failed: The encoder has terminated prematurely with code 3 (0x00000003); please re-check parameters

It's not related to any specific input and happens randomly; If I try to convert again the problematic files it works.
Have to add I only convert hires files in foobar (since Cuetools can not handle them..); so maybe it's a problem with hires.

EDIT:
I use multiple threads (up to 6) via foobar options. So 6 encoding processes are supposed to be working at the same time.

Operating System:   Windows 7 Ultimate, 64-bit (Service Pack 1)
DirectX version:   11.0
GPU processor:      GeForce GTX 960
Driver version:      361.43

Re: FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)

Reply #457
All HiBitrate files up to 192kHz i encoded the last years with the recent flacCL did not cause any error. I don't use foobar.
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 #458
Strage. Code 3 means encoder aborted even before it started compression, while parsing arguments and setting up things. Maybe it was lacking some kind of resources, such as memory on the GPU - make sure you don't run many encoders in parallel (which is what fb2k tries to do by default)
CUETools 2.1.6

Re: FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)

Reply #459
The strange thing is it happens randomly as I say. I can not relate the problem to anything specific. And for sure it never happened to me with any other encoder using parallel encoding ( 6 or even more).

The gpu is not used for anything more and I have plenty of free RAM. I'm currently trying to reproduce the same problems with only 1 encoder as you suggest.

Will try different scenarios forcing the number of encoders in parallel and the amount of free ram. Hires support in Cuetools would help though.
Meanwhile I will try using the encoder directly via batch files.

Btw if there is a problem with parallel encoding then foobar itself has a flaw since the program is not supposed to force encoding at any cost. i.e. if some encoder provides wrong output due to memory/processor limitations then it should automatically adjust the encoding to the real workload.
The "expected usage" is to wait until the resources can be used by the current encoding task, not just a crash and continue with more encoding tasks.
If that's what is happening here, then nothing to do with you. But it would be helpful to have some further evidence backed by someone else, not just me.

EDIT: rereading the post, I wonder how the GPU memory is being managed at all by foobar (?).
I mean, I never had any problem with RAM with "common" encoders but then maybe the foobar core was thought to work with system RAM not GPU memory.
If there's where the problem lies ,at some point it's needed some check to wait before encoding; but... should it be done by foobar or the encoder itself in this particular case?

All this is speculation, will perform those test and I'm open to suggestion. I have been noticing this problem since the first day Hires was "well" implemented.

Re: FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)

Reply #460
When dealing with command line encoders, there's no way for fb2k to negotiate with the encoder how many instances should run. So it just has a global "Thread count" setting. Would be nice of course if it was per-encoder.
CUETools 2.1.6

Re: FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)

Reply #461
Have a workaround and it's using temp files instead of pipes but then all the performance improvements are gone.

And using bat files to use multiple instances is the same since the encoder can not read flac as input so... nothing gained there. I wonder if I can use sox or something like that for pipes and do the same than foobar is doing.

The only other possibility was using FLACCL via cuetools but then hi res files are not supported. (and I don't think you can use multiple threads there too)

Finally using multiple flac CPU encoders is faster than 1 GPU encoder for multiple files. So while FLACCL is clearly an improvement the implementation is limited and the performance improvements are lost in many common scenarios.

Don't take as a negative comment but an honest critic (not specifically to you), since it's a pity seeing no more coordination between developers to have this implemented in a better way. This should have gained much more attention and repercussion. And I would consider encoders to be more important in foobar development than another eyecandy WHS script.

Re: FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)

Reply #462
I'm not trying to replace all flac encoders in the world with GPU accelerated ones. There are use cases where it makes sense, and cases where not so much. Honestly, i was more interested in just providing a proof-of-concept and i'm still hoping that it will get noticed and integrated in solutions where it does make sense.

I was also curious to see how much i can improve the compression ratio having so much computational power at my disposal. Results looked good at first (it does sufficiently better than reference FLAC), but eventually CPU based encoder (CUETools.Flake) has caught up by being smarter instead of using brute force.
CUETools 2.1.6

Re: FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)

Reply #463
While I agree with your concerns I don't have the optimism you seem to have about things being developed by others just because they are clearly better if you show a proof-of-concept.

2016. Flac is capable of working with 32 bit files but no encoder can made those files. ALL DAWs work at 32 bit float. You would think with the computational power we have we would store files always in a compressed way to save space... but no, use wav for that. Just because.... well people has no argument. If I ask for 32 bit flac the thread gets locked. People in this forum can not differentiate between listening convenience and other uses audio and file formats have.
https://hydrogenaud.io/index.php/topic,83520.0.html

2016. No official or supported multithreaded encoder yet. (many attempts now forgotten)

No 64 bits encoders yet. It's a proved fact 64 bits software is faster in 64 bits environments. There are threads in this forum showing it.

Traders little helpers was one of those great softwares which are now abandonware. 2016 and you are stuck to create ffp ASCI files even when Unicode is the standard now.

While everybody have plenty of RAM, Ram Disk is still not being used in ABX in foobar for ex. And the reason is simple... with mechanical Hard disks sometimes there is a delay while changing tracks when using wav and big files, rendering the ABX useless since you can now something changed according to that. That simple solution would solve it... you can imagine the answer gave to my suggestion too.

etc.

I'm really pessimistic about the idea that improvements will eventually be used when developers don't care about its real implementation.
Anyone can say you have reached your goals, and provided excellent results. But I can assure you this will not be used unless you make that effort to implement it and reach other developers IMO.

It has been 7 years since you started this project for ex... you can analyze the impact it had outside this forum. Or how foobar has been adapted for it or other frontends. Except Cuetools, but that's yours.

I was also curious to see how much i can improve the compression ratio having so much computational power at my disposal. Results looked good at first (it does sufficiently better than reference FLAC), but eventually CPU based encoder (CUETools.Flake) has caught up by being smarter instead of using brute force.
Would be interesting to see a mixture of both and don't focus only in specific hardware. GPU could be used as an additional thread to CPU if the encoder manages the multi-threading; thus effectively using both. You already have the code for that in fact, only needed to call this routine or the one you use in flake for files according to the CPU/GPU usage.

Anyway I don't want to tire you with my POV. You already did what you aimed as you said. Thank you!

Re: FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)

Reply #464
Flac is capable of working with 32 bit files but no encoder can made those files. ALL DAWs work at 32 bit float.

FLAC doesn't support 32 bit float, so no surprise you can't use it.  IMO if you need to save intermediate files used for audio work, FLAC is an ok choice, but there are probably better options.  FLAC is most useful for distribution because of its widespread compatibility and low computational complexity. 

If I ask for 32 bit flac the thread gets locked. People in this forum can not differentiate between listening convenience and other uses audio and file formats have.
https://hydrogenaud.io/index.php/topic,83520.0.html

I think that thread was locked because you bumped an old thread to quote a 2.5 year old post in order to complain about an unrelated problem.  You're welcome to start a new thread though if you still have questions, but it will annoy people if you stick things at the end of existing threads inappropriately.

2016. No official or supported multithreaded encoder yet. (many attempts now forgotten)

I don't think there is much interest in a multithreaded FLAC encoder, since the primary use of FLAC (distribution) typically uses multiple tracks, whereas a multithreaded encoder would make more sense for encoding/editing single tracks. 

No 64 bits encoders yet. It's a proved fact 64 bits software is faster in 64 bits environments. There are threads in this forum showing it.

You can download 64 bit flac encoders from the flac project page. 

I'm really pessimistic about the idea that improvements will eventually be used when developers don't care about its real implementation.

I think people don't care about many of the things you are suggesting because they are unusual or in some cases not the preferred way for most people to do things.  If you want to do unusual things, you may find that not many other people are interested.  That is just how it works.

Re: FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)

Reply #465
When dealing with command line encoders, there's no way for fb2k to negotiate with the encoder how many instances should run. So it just has a global "Thread count" setting. Would be nice of course if it was per-encoder.
The converter has an option to limit specific encoders to run in a single thread, which should be appropriate option for most if not all cases where multiple instances are problematic. It's a perfect setting for FLACCL at least.

Re: FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)

Reply #466
You would think with the computational power we have we would store files always in a compressed way to save space... but no, use wav for that.
WavPack supports lossless compression of 32-bit floating point. Use the right tool for the job at hand.

2016. No official or supported multithreaded encoder yet. (many attempts now forgotten)
FLACCL is multithreaded and can utilize all your CPU cores while encoding a single file.

No 64 bits encoders yet. It's a proved fact 64 bits software is faster in 64 bits environments. There are threads in this forum showing it.
There are 64-bit encoders but they aren't necessarily faster. 32-bit versions often contain hand-written assembly optimizations that allow them to be faster.

Traders little helpers was one of those great softwares which are now abandonware. 2016 and you are stuck to create ffp ASCI files even when Unicode is the standard now.
I don't see the point in creating ffp files at all. That if anything seems like an artifact from some dark ages.

While everybody have plenty of RAM, Ram Disk is still not being used in ABX in foobar for ex. And the reason is simple... with mechanical Hard disks sometimes there is a delay while changing tracks when using wav and big files, rendering the ABX useless since you can now something changed according to that. That simple solution would solve it... you can imagine the answer gave to my suggestion too.
If you have enough memory the files are cached and there's absolutely no difference in behavior. If you don't have enough memory trying to store stuff in memory would just result in swapping.

It has been 7 years since you started this project for ex... you can analyze the impact it had outside this forum. Or how foobar has been adapted for it or other frontends. Except Cuetools, but that's yours.
foobar2000 implemented required changes in Converter to easily run FLACCL in a single instance only.

Re: FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)

Reply #467
I do not know why but every time when I use FlacCL sound in encoded FLAC is extremely distorted! I checked both versions 2.1.5 and 2.1.6.

Command
FLACCL.cmd.exe -o "audio.flac" -b 512  --opencl-platform "Intel(R) OpenCL" --opencl-type CPU --cpu-threads 1 "audio.wav"

Source WAV and encoded FLAC if you want to check on your PC
http://www.mediafire.com/file/dzuvokkj64zcnn6/audio_files.7z

Also FlacCL crashes with --verify command


Re: FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)

Reply #468
I did not try to use it with iGPU but the settings below work for me in foobar's commandline converter.

Radeon HD5750, i3-540:
Code: [Select]
-q -9 --verify --slow-gpu --task-size 256 --cpu-threads 2 - -o %d

GeForce GTX950, i3-4160:
Code: [Select]
--verify --task-size 256 --cpu-threads 2 - -o %d

Re: FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)

Reply #469
The first hit in google:
"Xeon E5-2690 v3 doesn't report correct OpenCL Max Compute Units"
In relation to Visual Studio. It might be a bug around that.
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 #470
The first hit in google:
"Xeon E5-2690 v3 doesn't report correct OpenCL Max Compute Units"
In relation to Visual Studio. It might be a bug around that.

OpenCL reports 16 CU. The same distorted audio creates AMD platform.

Code: [Select]
Platform 0. 
    Name             : AMD Accelerated Parallel Processing
    Vendor           : Advanced Micro Devices, Inc.
    Version          : OpenCL 1.2 AMD-APP (937.2)
    Profile          : FULL_PROFILE
    Extensions       : cl_khr_icd cl_amd_event_callback cl_amd_offline_devices cl_khr_d3d10_sharing

Platform 1.
    Name             : Intel(R) OpenCL
    Vendor           : Intel(R) Corporation
    Version          : OpenCL 1.2 
    Profile          : FULL_PROFILE
    Extensions       : cl_khr_icd cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_byte_addressable_store cl_khr_depth_images cl_khr_3d_image_writes cl_intel_exec_by_local_thread cl_khr_spir cl_khr_fp64

0.0 Device name      : ATI RV770
    Hardware version : OpenCL 1.0 AMD-APP (937.2)
    Software version : CAL 1.4.1734
    OpenCL C version : OpenCL C 1.0 
    Compute units    : 10

0.1 Device name      :        Intel(R) Xeon(R) CPU E5-2690 0 @ 2.90GHz
    Hardware version : OpenCL 1.2 AMD-APP (937.2)
    Software version : 2.0 (sse2,avx)
    OpenCL C version : OpenCL C 1.2 
    Compute units    : 16

1.0 Device name      :        Intel(R) Xeon(R) CPU E5-2690 0 @ 2.90GHz
    Hardware version : OpenCL 1.2 (Build 57)
    Software version : 5.0.0.57
    OpenCL C version : OpenCL C 1.2 
    Compute units    : 16

Re: FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)

Reply #471
I did not try to use it with iGPU but the settings below work for me in foobar's commandline converter.

Radeon HD5750, i3-540:
Code: [Select]
-q -9 --verify --slow-gpu --task-size 256 --cpu-threads 2 - -o %d

GeForce GTX950, i3-4160:
Code: [Select]
--verify --task-size 256 --cpu-threads 2 - -o %d

Thank you! At least I know that something is wrong on my side :)

Re: FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)

Reply #472
I want to remind that the official flac 1.3.1 had huge speed improvements and even compresses slightly better at -8 as the last flacCL, 1.3.2 has a pre-release today.
The last compression improvements with CUEtools flake are not part of flacCL.
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 #473
Here is my hardware and drivers:

AMD Phenom II X4 955 (quad core CPU)
RAM: 12 GB (in single mode) DDR3
MB: ASUSTeK Computer INC. M4A77T (AM3) (SATA II with 3.0Gb/s (375 MB/s) & PCIe 2.0 (5 GT/s))
Gfx/Device: GeForce GTX 1060 6GB RAM, Platform: "NVIDIA CUDA", Version: OpenCL 1.2 CUDA 8.0.0, Driver: 376.19 (supports PCIe 3.0 (8 GT/s) (CUDA cores=1280. My older gtx 260 had 196 CUDA cores)  :))
232GB Samsung SSD 840 EVO 250GB (SSD) (SATA III with 6Gb/s)
Win.10 64bit, DX12
-------------------------------------------------------------------------
Here are my test results:

Enya - 2008 - And Winter Came.wav

File Info : 44100kHz; 2 channel; 16 bit; 00:45:05.2000000

477.197.324 bytes (dir commando in dos) 455 MB (477.197.324 bytes) (properties in windows)

Encoding with CUETools.FLACCL.cmd.exe v. 2.1.5 in command line, With no options (-8 as default compression level), version from Sourceforge,

Results   : 341,85x; 264757720 bytes in 00:00:07.9134911 seconds; seconds

Enya - 2008 - And Winter Came.flac

264.757.720 bytes (dir commando in dos), 252 MB (264.757.720 bytes) (properties in windows)

Foobar2000 1.3.13 using the FLAC encoder/decoder version 1.3.1 took about 30 sec. Sorry about the last number is not very precise. But not sure where to find the log file, or info about CPU time in Foobar2000. Maybe somebody can help me with that.
But to boil it all down: CUETools.FLACCL.cmd.exe using CUDA took 7.45 sec, and flac.exe in Foobar using CPU took about 30 sec., for a whole album on 45 min. length.  ;)
BTW: the flac made in Foobar2000 with flac v.1.3.1 have the size 265.036.381 bytes (in dos) and 252 MB (265.036.381 bytes) (in properties) so that's 265036381-264757720 =278.661 bytes (262 kb in difference with Flaccl version the smallest size)
BTW2: If there's any math wiz kid/computer wiz kid out there, maybe he or she can calculate what the Flac time convertion would be instead, if I go out and buy a better MB with SATA III and PCIe 3.0 support ;-) Maybe even faster than the 7.45 sec.

Re: FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)

Reply #474
For size comparisons you should use a corpus of several GB consisting of different genres. Today you can use the default flac with many threads so the speed differences won't be dramatic.
Didn't you ask before editing how to use it in EAC? I once had flaCuda running in EAC. The syntax should be similar: https://hydrogenaud.io/index.php/topic,76193.msg670975.html#msg670975
Is troll-adiposity coming from feederism?
With 24bit music you can listen to silence much louder!