Skip to main content

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

0 Members and 1 Guest are viewing this topic.
  • bilbo
  • [*][*][*]
FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #400
It might be helpful to disclose which version of FLACCL is being used in the testing. As Gregory stated earlier: " i should update or remove the separate FLACCL download to avoid confusion - right now it's out of date compared to the one that comes with CUETools 2.1.5."
Glass half full!

  • ktf
  • [*][*][*][*][*]
FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #401
It might be helpful to disclose which version of FLACCL is being used in the testing. As Gregory stated earlier: " i should update or remove the separate FLACCL download to avoid confusion - right now it's out of date compared to the one that comes with CUETools 2.1.5."

If you take a good look at the graphs you can see it's 2.1.5.
Music: sounds arranged such that they construct feelings.

  • Propheticus
  • [*][*][*]
FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #402
I downloaded the latest version I could find of the standalone Flaccl (0.3) since I didn't need/want cuetools. Why this would be a less recent version than what is bundled with the cuetools eludes me. I expected these to be the same.
  • Last Edit: 04 August, 2013, 07:25:19 PM by Propheticus

  • Wombat
  • [*][*][*][*][*]
FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #403
If you follow the thread you'll see i always test the latest versions bundled with CUEtools. I reported several issues over time to Grigory. Unfortunately the flacCL page at the CUEtools Wiki isn't exactly well documented. This means i sometimes find out it suddenly behaves different without a notice anywhere. I always copy out the needed files to use it with a frontend for my usage.
You need CUETools.Codecs.FLACCL.dll, CUETools.FLACCL.cmd.exe, CUETools.Codecs.FLAKE.dll, CUETools.Codecs.dll, OpenCLNet.dll and flac.cl
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 #404
Hi,

i just found out about the "new technology", FPGA PCIe OpenCL compatible cards.

have found 3 brands with Altera chips, i like more Xilinx, don´t know why.
http://www.nallatech.com/opencl-fpga-accelerator-cards.html
http://www.bittware.com/opencl-for-altera-fpgas
http://www.plda.com/products/boards/low-pr...5-lp-he?pid=205

http://www.altera.com/products/software/pa...paign=quartus13
http://www.khronos.org/opencl/
arround $1000usd.

Im eager to get one of those cards....

look the video at 18:20
FPGA vs. HD7970 vs. Xeon, "15x times faster than GPU."
http://www.youtube.com/watch?v=OAkHjyhJgWk
  • Last Edit: 16 September, 2013, 01:58:36 PM by JuanPabloCuervo

FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #405
That's very interesting, but i'm afraid not very practical for FLACCL for a number of reasons - prohibitive cost, tiny potential audience, and finally - unlikely to live up to this 15x promise.
FLACCL on any average discrete GPU already runs faster than disc IO. Any significant improvement would be limited by SSD speed.
And the saddest part - it's just not likely to be that fast on actual tasks such as FLAC compression.
A quick look at the specs of some of those shows significant hardware limitations as compared to GPUs - for example, one of them sports a 72-bit data bus. That's 2-3 times less that your average GPU. And that is what will likely determine the speed on compression tasks.
CUETools 2.1.4

FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #406
That's very interesting, but i'm afraid not very practical for FLACCL for a number of reasons - prohibitive cost, tiny potential audience, and finally - unlikely to live up to this 15x promise.
FLACCL on any average discrete GPU already runs faster than disc IO. Any significant improvement would be limited by SSD speed.
And the saddest part - it's just not likely to be that fast on actual tasks such as FLAC compression.
A quick look at the specs of some of those shows significant hardware limitations as compared to GPUs - for example, one of them sports a 72-bit data bus. That's 2-3 times less that your average GPU. And that is what will likely determine the speed on compression tasks.


The SSD limitation can be solved....with RAID 0,
but, i thought what makes AMD faster than NVIDIA doing BruteForce stuff *Not Games, it´s because the parallel processing.
FPGA is King, ASIC God.

LuxMark benchmark, crark, Flaccl, hashcat, Bitcoin, etc...
http://www.extremetech.com/computing/15346...-bitcoin-mining

I had AMD, Personally i like more Nvidia, but this new FPGA could be
http://www.luxrender.net/wiki/LuxMark#Download
http://www.luxrender.net/luxmark/
  • Last Edit: 17 September, 2013, 10:36:42 PM by JuanPabloCuervo

  • SigHunter
  • [*][*]
FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #407
did some testing for myself,

encoding an album of 59 minutes 23 seconds to flac

using the FLACCL from CUETools 2.1.5 (-11 and --fast-gpu)
on a radeon 7970
Results  : 1002,26x; 462606149 bytes in 00:00:03.5547364 seconds;

using flac 1.3.0 64bit build r(-8)
on a xeon E3-1230 v3
Results  : ~77x; 463919480 bytes in ~46 seconds;
(measured with powershell "Measure-Command")

this is impressive, though the CPU-test was just single threaded and i could spawn more parallel encodings during that time

i don't see why there could be a limitation in disk IO, 460 mb in ~4 seconds (~120 mb/s) should be no problem for a normal disc (for me my raidcontroller cache eats most of it)


edit:
what makes it even more impressive is when you add --cpu-threads 4 to the commandline it does cpu+gpu
Results  : 1252,36x; 462606149 bytes in 00:00:02.8448465 seconds;
  • Last Edit: 05 October, 2013, 07:39:54 PM by SigHunter

  • SigHunter
  • [*][*]
FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #408
edit:
what makes it even more impressive is when you add --cpu-threads 4 to the commandline it does cpu+gpu
Results  : 1252,36x; 462606149 bytes in 00:00:02.8448465 seconds;


can't edit my post, but i read this http://www.hydrogenaudio.org/forums/index....st&p=799962 and i know i described it wrong. it still gives better performance tho

FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #409
i don't see why there could be a limitation in disk IO, 460 mb in ~4 seconds (~120 mb/s) should be no problem for a normal disc

If it is a sequential read, and near the start of the disk - this will be about the limit. Which makes speeds higher than 1000x available only with SSD or fast raids.
CUETools 2.1.4

  • Mangix
  • [*][*][*][*][*]
FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #410
Zombie revive!

A new version of FLACCL was released to the Hg repository a while back: http://sourceforge.net/p/cuetoolsnet/code/....FLACCL/flac.cl

If you want to try it, just replace the flac.cl from CUETools 2.1.5 in the plugins folder.

That being said, this new version creates bigger files because of this change at line 799:
Code: [Select]
cbits = min(cbits, clz(order + 1) + 1 - shared.task.obits);
. It used to be just "order" instead of "order + 1" and as a result it creates bigger files. Changing it back fixes the issue and still creates non-broken FLAC files(I had issues with Error : unsupported residual coding and a few other errors that created FLAC files which did not decode properly).

  • Mangix
  • [*][*][*][*][*]
FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #411
Can't edit on this forum.

It seems that my previous assertion was incorrect. "order + 1" sometimes creates smaller files and other times just "other" does. It seems to be very content dependent. For example, the files which previously failed to verify usually become smaller with "order" whereas the files which were fine prior to the update tend to be smaller with "order + 1".

Needs more testing.

edit: Looks like the files which gave "Error    : unsupported subframe coding (ch == 1)" are smaller with just order while the "Error    : frame crc mismatch" files become smaller with order + 1.
  • Last Edit: 26 December, 2013, 08:01:33 PM by Mangix

FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #412
This is a great encoder, but there are a few issues I have with it.
1. It doesn't copy the vorbis comment block when it encoded. Is there an option to enable this?
2. The initialization, which I assume includes compiling the kernels, takes a while. Because of this, encoding a folder of FLAC tracks can take longer with the GPU than with the CPU (Based off my 4770K and r9 290x). Is there any way to tell one process to encode all the flacs in a folder, replacing each one?

FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #413
Is there any reason I can't reliably use foobar's multiple thread encoding?
It basically spawns 4 instances of flaccl. Memory isn't an issue according to gpu-z (400-500MB out of 896MB used), but about half of the tracks fail to encode with "encoder exited prematurely with code 4"

  • Wombat
  • [*][*][*][*][*]
FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #414
Using 4 instances on a quadcore is for shure great but 4 instances on 1 GPU via OpenCL may not be the best idea.
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 #415
The thing is, it works fine for say, 10 albums. Then I have to restart the PC to make it work again, so something goes wrong.
Running 4 openCL instances gives me a boost of about 50%, so it's not bottlenecking anything. It's more like there is some sort of memory leak except it doesn't show on gpu-z's memory usage.

Also, for some reason, using "--lax -11 --verify - -o %d" (or %s instead of piping) via foobar exits the encoder with code 1, doing the same via command line encodes fine... that's probably a foobar issue.
  • Last Edit: 26 July, 2014, 01:55:20 PM by ChronoSphere

  • Wombat
  • [*][*][*][*][*]
FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #416
I tried with 4 threads in foobar with 24 albums and had no crash. Also "--lax -11 --verify - -o %d" works fine. I use the flacCL files from the 2.15beta, Win7 x64, GTX670.

CUETools.FLACCL.cmd.exe   11.05.2014 20:09
CUETools.Codecs.FLACCL.dll 11.05.2014 20:08
CUETools.Codecs.FLAKE.dll 11.05.2014 20:08
CUETools.Codecs.dll 11.05.2014 20:08
flac.cl 31.12.2013 23:18
OpenCLNet.dll 30.05.2013 22:03
Is troll-adiposity coming from feederism?
With 24bit music you can listen to silence much louder!

  • saratoga
  • [*][*][*][*][*]
FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #417
I have seen various driver issues trying to run general purpose computation on a GPU.  Maybe try updating your drivers (or even downgrading them).

FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #418
Disregard the --lax not working, I somehow had two flaccl encoder presets and the one that was saved as a converter preset was the standalone flaccl.exe. That version didn't have a --lax option yet, hence the error code 1 termination.

I'm not getting crashes with 4 threads at the moment (with either flacuda, old or new flaccl), so I don't know what caused it. Might be a driver issue, my GPU is pretty picky when it comes to that (old 260GTX). Should I get any, I'll try messing around with driver versions, but I doubt it's worth it, considering encoding in 4 threads with the upcoming libflac 1.3.1 is faster than flacCL on my GPU...
Code: [Select]
5:54:53 of music to flac:
2:15 libflac1.2.1  157,7x
1:18 flacCL        272,9x
1:10 flac64_d      304,18x
  • Last Edit: 27 July, 2014, 08:09:58 AM by ChronoSphere

  • Mangix
  • [*][*][*][*][*]
FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #419
The thing is, it works fine for say, 10 albums. Then I have to restart the PC to make it work again, so something goes wrong.
Running 4 openCL instances gives me a boost of about 50%, so it's not bottlenecking anything. It's more like there is some sort of memory leak except it doesn't show on gpu-z's memory usage.

Also, for some reason, using "--lax -11 --verify - -o %d" (or %s instead of piping) via foobar exits the encoder with code 1, doing the same via command line encodes fine... that's probably a foobar issue.

you could try updating the opencl kernel. There was a bugfix for it: http://sourceforge.net/p/cuetoolsnet/code/commit_browser

Basically, it was producing broken files at -11 --fast-gpu.

FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #420
If you look at the commit date, that change is from 2013-10-15, while the flac.cl file in the latest cuetools beta is from 2013-12-31, so the change is already included. It wasn't the issue anyway just me using an old exe.

  • Mangix
  • [*][*][*][*][*]
FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #421
despite the date, cuetools 2.1.5 still includes the old version. you can verify this by running a diff between them.

FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #422
You're right; I even re-downloaded the archive from the site and the flac.cl file is not up to date... the dangers of using a developer version, eh?

edit: typos
  • Last Edit: 28 July, 2014, 03:45:27 PM by ChronoSphere

  • Wombat
  • [*][*][*][*][*]
FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #423
I lately compiled the needed flacCL files at 30.06 if anyone is interested.
Is troll-adiposity coming from feederism?
With 24bit music you can listen to silence much louder!

  • Sparktank
  • [*]
FLACCL: CUDA-enabled FLAC encoder by Gregory S. Chudov (prev. FlaCuda)
Reply #424
I lately compiled the needed flacCL files at 30.06 if anyone is interested.


I would be interested.
I like to use "HD audio" in PaulStretch. "HD audio", lol.