Help - Search - Members - Calendar
Full Version: Wavpack.exe and two-core CPU
Hydrogenaudio Forums > Lossless Audio Compression > WavPack
satorippoi
Well, basically, i love wavpack and i want to see it supporting two-core CPUs...
will it be possible?..

thanks in advance...
Mike Giacomelli
Tell your app to run two instances at once.
SebastianG
I think it's better to ask the developers of CD-Rippers for supporting encoding tracks in parallel so you don't need multithreaded version of various encoders (which are often complicated to develop).

*wink wink* :-D

my 2 cents,
Sebastian


QUOTE(Mike Giacomelli @ Dec 7 2006, 00:52) *

Tell your app to run two instances at once.

Oh, is this already supported by any cd ripping tool?
Mangix
i know foobar2000 does
gfngfgf
QUOTE(SebastianG @ Dec 6 2006, 15:59) *

QUOTE(Mike Giacomelli @ Dec 7 2006, 00:52) *

Tell your app to run two instances at once.

Oh, is this already supported by any cd ripping tool?

EAC does, too. ("EAC Options" -> "Tools" tab -> "Use x simultaneous external compressor threads")
bhoar
Also, you can run multiple instances of EAC, each with its own compressor (if you rip from multiple drives in parallel).

-brendan
satorippoi
QUOTE(Mike Giacomelli @ Dec 6 2006, 17:52) *

Tell your app to run two instances at once.


how can you do it?..
through programme interface or using Windows settings?..
Mangix
just execute wavpack.exe twice in your program. there shouldn't be anything complicated about that.
satorippoi
Nope, does not work...
if i execute wavpack twice, the computer just stalls...

p.s. OggVorbis is great - it uses 2 core at the time...
Mangix
ohmy.gif

that's weird. right now, i'm doing -x6 conversions of a few of my albums from FLAC to WavPack and i'm not experiencing any problems. i'm also using foobar2000 which launches 2 processes anyways.
Mike Giacomelli
QUOTE(satorippoi @ Dec 10 2006, 16:20) *

Nope, does not work...
if i execute wavpack twice, the computer just stalls...

p.s. OggVorbis is great - it uses 2 core at the time...



You're doing something wrong.
satorippoi
Should i activate some special settings in Windows or inside Fb2k?..
Bruno Monteiro
QUOTE(satorippoi @ Dec 12 2006, 15:50) *

Should i activate some special settings in Windows or inside Fb2k?..


I can't find that setting in Foobar either, can someone give a clue on this?
In my office's PC, a P4 2.4 GHz with Hyperthreading is what I have, and Wavpack doesn't scale as well as I'd like. It only has affinity with one "virtual" processor.

Thanks in advance! unsure.gif
Fandango
foobar2000 detects the number of cpu cores by itself and then uses one instance per core automatically. You don't have to do anything...

But if you only encode one file at a time, there will only be one wavpack process...

So the idea of starting an encoder process for each core isn't practical at all when you're only encoding one file at a time (for example an image rip in EAC). Multi-threading support within the encoder itself would be needed nevertheless in this (IMHO not so rare) case.

Btw, I'm affected by this myself since I have a hyperthreading P4.

EDIT: You can use the full power of your hyperthreading CPUs under XP (for applications that can't handle multiple threads), but it's a bit complicated. You need to exchange the multicore HAL (hardware abstraction layer) with a single core HAL, or more conveniently, create an alternative boot.ini entry... Simply disabling HT in the BIOS is not enough, because XP's thread managing system circumvents this BIOS setting (or to be more precise the multi-core kernel does). Changing the HAL involves using a different set of two essential system files of which I can't remember the names right now, one if part of the kernel of course. When creating the boot.ini entry you have to use a boot option and point to the single-core occurences of those two system files which you can find on the XP install CD or even from some place in your %WINDIR%.

Anyway, this would only be of use when you want to process big WAV files one after another and you can't process them for some reason in parallel (for example you have to rip them CDs first... and want EAC to encode the WAVs during the rip instead of letting this job do fb2k when you're done ripping to WAVs). IMHO it's not worth the trouble... just harmonise your encoding methods to your multi-core hardware setup.
satorippoi
Well, I have Core2Duo, so there is no need for hyperthreading procedures for me...
all i need is a support for dual-core CPUs...just like it is done in OggVorbis...
Bruno Monteiro
QUOTE(Fandango @ Dec 12 2006, 19:18) *

foobar2000 detects the number of cpu cores by itself and then uses one instance per core automatically. You don't have to do anything...

But if you only encode one file at a time, there will only be one wavpack process...

So the idea of starting an encoder process for each core isn't practical at all when you're only encoding one file at a time (for example an image rip in EAC). Multi-threading support within the encoder itself would be needed nevertheless in this (IMHO not so rare) case.

Btw, I'm affected by this myself since I have a hyperthreading P4.

EDIT: You can use the full power of your hyperthreading CPUs under XP (for applications that can't handle multiple threads), but it's a bit complicated. You need to exchange the multicore HAL (hardware abstraction layer) with a single core HAL, or more conveniently, create an alternative boot.ini entry... Simply disabling HT in the BIOS is not enough, because XP's thread managing system circumvents this BIOS setting (or to be more precise the multi-core kernel does). Changing the HAL involves using a different set of two essential system files of which I can't remember the names right now, one if part of the kernel of course. When creating the boot.ini entry you have to use a boot option and point to the single-core occurences of those two system files which you can find on the XP install CD or even from some place in your %WINDIR%.

Anyway, this would only be of use when you want to process big WAV files one after another and you can't process them for some reason in parallel (for example you have to rip them CDs first... and want EAC to encode the WAVs during the rip instead of letting this job do fb2k when you're done ripping to WAVs). IMHO it's not worth the trouble... just harmonise your encoding methods to your multi-core hardware setup.



Nice solution, changing the HAL, this never occurred to me. Thanks for the tip!
But in this situation where I want to convert a single album image one at a time, it's really boring, using only one HT's processor. I hope there's a new patch/version when I buy my Core2Duo! smile.gif
BTW, other lossless encoders scale well with HT and C2Duo?

Regards. rolleyes.gif
satorippoi
Well, i got my problem solved - just instead of 7 i set priority thread for transcoding at 5 in fb2k and it works like magic!!!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2008 Invision Power Services, Inc.