elaborate step-by-step OS X 10.5 src install

Get help with all aspects of SABnzbd
Forum rules
Help us help you:
  • Are you using the latest stable version of SABnzbd? Downloads page.
  • Tell us what system you run SABnzbd on.
  • Adhere to the forum rules.
  • Do you experience problems during downloading?
    Check your connection in Status and Interface settings window.
    Use Test Server in Config > Servers.
    We will probably ask you to do a test using only basic settings.
  • Do you experience problems during repair or unpacking?
    Enable +Debug logging in the Status and Interface settings window and share the relevant parts of the log here using [ code ] sections.
Post Reply
bpwats
Newbie
Newbie
Posts: 28
Joined: May 16th, 2008, 10:13 am

elaborate step-by-step OS X 10.5 src install

Post by bpwats »

Hi all,

To remind myself, I created a step-by-step list for how to get SABnzbd running the way I like on my Macs.
As a starting point, I use 10.5 Leopard on Intel multi-core together with latest software versions (SABnzbd 0.4.5 etc.) in a folder called "SABnzbd src install osx" on my desktop and with the necessary developer tools items pre-installed.
Granted it's probably too elaborate for most, but you read which steps I took and maybe you can use it to update the sparse help pages.


1) double click
Cheetah-2.0.1.tar.gz
feedparser-4.1.zip
yenc-0.3.tar.gz

to expand

2) open terminal
3) cd to SABnzbd src install osx

Code: Select all

cd ~/Desktop/SABnzbd\ src\ install\ osx/Cheetah-2.0.1/
4) install python module

Code: Select all

sudo python setup.py install
5) change to

Code: Select all

cd ../feedparser-4.1
6) change to

Code: Select all

cd ../yenc-0.3
7) build python module

Code: Select all

sudo python setup.py build
8) install python module

Code: Select all

sudo python setup.py install
9 ) get par2cmdline-0.4-tbb-20081005-mac.zip from
http://www.chuchusoft.com/par2_tbb/download.html
10) expand archive, if not already (by Safari)
double click and place in our working folder on desktop
11) change to

Code: Select all

cd ../par2cmdline-0.4-tbb-20081005-mac
12) copy par2 binary

Code: Select all

sudo mv ./par2 /usr/bin/
13) copy Thread Building Blocks library file

Code: Select all

sudo mv ./libtbb.dylib /usr/lib/
14) get rarosx-3.8.0.tar.gz from
http://www.rarlab.com/download.htm
15) expand archive, if not already (by Safari)
double click place in our folder on desktop
16)  change to

Code: Select all

cd ../rar
17) copy unrar binary (freeware)

Code: Select all

sudo mv ./unrar /usr/bin/
18) download SABnzbd-0.4.5-src.tar.gz from
http://www.sabnzbd.org/
19) expand archive, if not already (by Safari)
double click
20)  change to

Code: Select all

cd ..
21) move SABnzbd-0.4.5 to

Code: Select all

sudo mv SABnzbd-0.4.5/ /usr/local/bin/
22) rename folder to SABnzbd

Code: Select all

sudo mv /usr/local/bin/SABnzbd-0.4.5/ /usr/local/bin/SABnzbd/
23) unnecessary step to set executable on SABnzbd.py (it is already)

Code: Select all

chmod +x /usr/local/bin/SABnzbd/SABnzbd.py
24) start SABnzbd

Code: Select all

python /usr/local/bin/SABnzbd/SABnzbd.py
25) make your configurations in the web interface on
http://localhost:8080/sabnzbd/
--
26) to have SABnzbd always run in the background (handy for scanning binary news web RSS feeds and it avoids a terminal icon), create

Code: Select all

sudo pico /Library/LaunchAgents/org.teamsabnzbd.sabnzbd.plist
27) copy the following plain text into the file

Code: Select all

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>KeepAlive</key>
	<dict>
		<key>SuccessfulExit</key>
		<true/>
	</dict>
	<key>Label</key>
	<string>org.teamsabnzbd.sabnzbd</string>
	<key>ProgramArguments</key>
	<array>
		<string>/usr/local/bin/SABnzbd/SABnzbd.py</string>
	</array>
	<key>RunAtLoad</key>
	<true/>
</dict>
</plist>
28) close and save the file

Code: Select all

Ctrl-X
	Y
	<Enter>
29) change file owner
     

Code: Select all

sudo chown root /Library/LaunchAgents/org.teamsabnzbd.sabnzbd.plist
30) load the new file by launchctl

Code: Select all

launchctl load -w /Library/LaunchAgents/org.teamsabnzbd.sabnzbd.plist

Regards,
Bryan Wats
User avatar
inpheaux
Administrator
Administrator
Posts: 563
Joined: January 16th, 2008, 9:14 pm

Re: elaborate step-by-step OS X 10.5 src install

Post by inpheaux »

Out of curiosity, why would you go through all of this effort when we've got a universal .app?
rAf
Moderator
Moderator
Posts: 546
Joined: April 28th, 2008, 2:35 pm
Location: France
Contact:

Re: elaborate step-by-step OS X 10.5 src install

Post by rAf »

Thanks Bryan for this very detailed tuto !

You can use osx src available on sf.net too which inlude par2 and rar binaries... (steps 9->17 are not needed with it).
I've missed the chuchusoft par2 update, i'll update it for next release (we've finally got an universal multicore par2 !).
And i'll add cElementTree and pyOpenSSL at your install list.
bpwats
Newbie
Newbie
Posts: 28
Joined: May 16th, 2008, 10:13 am

Re: elaborate step-by-step OS X 10.5 src install

Post by bpwats »

inpheaux wrote: Out of curiosity, why would you go through all of this effort when we've got a universal .app?
Yes, it may seem redundant, but I actually started out runnning from src when there was no .app available yet.
I like to be in control and maintain myself. System integration and optimization is the main reason.
When you think about it, all sorts of versions of par/unrar etc. are included in various apps (giving ease of use, granted, but bloated).
I used to really like SABnzbdGUI v1 beta 2, but with the LaunchAgent (the Apple proper way of doing things since 10.4) this one is out too
(my main use is restart by shutting down, now a single click).
Another reason is, running from sources allows me to run bleeding edge.

Bryan
bpwats
Newbie
Newbie
Posts: 28
Joined: May 16th, 2008, 10:13 am

Re: elaborate step-by-step OS X 10.5 src install

Post by bpwats »

rAf wrote: Thanks Bryan for this very detailed tuto !
You're welcome.
You can use osx src available on sf.net too which inlude par2 and rar binaries... (steps 9->17 are not needed with it).
I know, see answer previous reply. I may look into it again.

I've missed the chuchusoft par2 update, i'll update it for next release (we've finally got an universal multicore par2 !).
Great! Btw, the experimental CUDA version does not work entirely properly yet on my CUDA enabled GT8800 Mac Pro.
And i'll add cElementTree and pyOpenSSL at your install list.
CelementTree is included in python 2.5, which is included in OS X 10.5, thereby obsolete; only for those who have an earlier python pre-installed on OS X 10.4.
pyOpenSSL is something I don't use (yet). My ISP does not support it within their own network. If I can get IPv6 working, I'll start using it with the XS4ALL server.

Thanks for your work as well,
Bryan
rAf
Moderator
Moderator
Posts: 546
Joined: April 28th, 2008, 2:35 pm
Location: France
Contact:

Re: elaborate step-by-step OS X 10.5 src install

Post by rAf »

bpwats wrote: Great! Btw, the experimental CUDA version does not work entirely properly yet on my CUDA enabled GT8800 Mac Pro.
I've planned to test the CUDA version, i've got a macbook pro with a 8600 GT and it seems to be supported, i'll post my results.

Also you can check out SABnzbdX, a gui for simplify using SABnzbd...
You can remove dock icon from SABnzbd with it.
rAf
Moderator
Moderator
Posts: 546
Joined: April 28th, 2008, 2:35 pm
Location: France
Contact:

Re: elaborate step-by-step OS X 10.5 src install

Post by rAf »

I've made a simple test with experimental CUDA par2 :
WITH CUDA GPU PROCESSING

Code: Select all

Repair is required.
19 file(s) exist but are damaged.
69 file(s) are ok.
You have 11439 out of 11476 data blocks available.
You have 1162 recovery blocks available.
Repair is possible.
You have an excess of 1125 recovery blocks.
37 recovery blocks will be used to repair.

Computing Reed Solomon matrix.
Constructing: done.
Solving: done.

GPU processing is enabled for 37 data/recovery blocks.
The GPU was used for 9.7% of the processing (41507 out of 424612 processing blocks).
Wrote 930163785 bytes to disk

Repair complete.

real	5m4.106s
user	4m16.655s
sys	0m29.532s
WITHOUT CUDA GPU PROCESSING

Code: Select all

Repair is required.
19 file(s) exist but are damaged.
69 file(s) are ok.
You have 11455 out of 11476 data blocks available.
You have 1162 recovery blocks available.
Repair is possible.
You have an excess of 1141 recovery blocks.
21 recovery blocks will be used to repair.

Computing Reed Solomon matrix.
Constructing: done.
Solving: done.

Wrote 930163785 bytes to disk

Verifying repaired files:

real	4m51.954s
user	3m9.604s
sys	0m21.666s
Conclusion : with my config and this set of files, seems no real gain... maybe with smaller files set there significative improvement, i have to make more tests.
bpwats
Newbie
Newbie
Posts: 28
Joined: May 16th, 2008, 10:13 am

Re: elaborate step-by-step OS X 10.5 src install

Post by bpwats »

rAf wrote: Conclusion : with my config and this set of files, seems no real gain... maybe with smaller files set there significative improvement, i have to make more tests.
A quick test on my system, reveals this:
(here i create a 10% redundant par2 set of files, on one of the Wii games I own and have backed up = single DVD-size).

Code: Select all

MacPro:backups XXXXXXX$ par2cuda c -v -t+ -r10 XXXXXXXXX.iso 
par2cmdline version 0.4, Copyright (C) 2003 Peter Brian Clements.
Modifications for concurrent processing, Unicode support, and hierarchial
directory support are Copyright (c) 2007-2008 Vincent Tan.
Concurrent processing utilises Intel Thread Building Blocks 2.0,
Copyright (c) 2007-2008 Intel Corp.
Executing using the 32-bit x86 (IA32) instruction set.

par2cmdline comes with ABSOLUTELY NO WARRANTY.

This is free software, and you are welcome to redistribute it and/or modify
it under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version. See COPYING for details.

Processing checksums and Reed-Solomon data concurrently.
Block size: 2350576
Source file count: 1
Source block count: 2000
Redundancy: 10%
Recovery block count: 200
Recovery file count: 8

Opening: XXXXXXXXX.iso

GPU processing is enabled for 136 data/recovery blocks.
Computing Reed Solomon matrix.
Constructing: done.
The GPU was used for 28.5% of the processing (114327 out of 400000 processing blocks).
Wrote 470115200 bytes to disk
Writing recovery packets
Writing verification packets
Done
I use a single CPU 8-core 2008 Mac Pro, with NVidea 8800GT. This is a "Compute Capability 1.1" device, as required.
From the manual:

Code: Select all

Cards such as the 8400, 8500, 8600, 8800 GS, 8800 GT, 8800M GTS (mobile), and 8800M GTX (mobile) are capable of being used. Mobile variants will also work, for example, 8600 refers to both the desktop and mobile versions such as 8600 GT (desktop) and 8600M GT (mobile).
It is expected that high-end GPU's are more beneficial, ranging from 2 up to 50% performance gain.

I noticed, there is no gain in verifying files.

Actually, I accidently used the libtbb.dylib that comes with the latest considered stable version (it is a much bigger 454kb file).
Using the CUDA supplied libtbb.dylib (98kb; it is probably no FAT binary), yields slightly worse results:

Code: Select all

MacPro:backups XXXXXXX$ par2 c -v -t+ -r10 XXXXXXXXX.iso
par2cmdline version 0.4, Copyright (C) 2003 Peter Brian Clements.
Modifications for concurrent processing, Unicode support, and hierarchial
directory support are Copyright (c) 2007-2008 Vincent Tan.
Concurrent processing utilises Intel Thread Building Blocks 2.0,
Copyright (c) 2007-2008 Intel Corp.
Executing using the 32-bit x86 (IA32) instruction set.

par2cmdline comes with ABSOLUTELY NO WARRANTY.

This is free software, and you are welcome to redistribute it and/or modify
it under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version. See COPYING for details.

Processing checksums and Reed-Solomon data concurrently.
Block size: 2350576
Source file count: 1
Source block count: 2000
Redundancy: 10%
Recovery block count: 200
Recovery file count: 8

Opening: XXXXXXXXX.iso

GPU processing is enabled for 143 data/recovery blocks.
Computing Reed Solomon matrix.
Constructing: done.
The GPU was used for 28.0% of the processing (112013 out of 400000 processing blocks).
Wrote 470115200 bytes to disk
Writing recovery packets
Writing verification packets
Done
This was a second test, and sure if this falls within negligible differences (my computer was also veryfying another file for about 2 mins concurrently).

Both say: Concurrent processing utilises Intel Thread Building Blocks 2.0,

Using the pre-compiled binary from Intel TBB 2.1 for IA32 OS X yields:
Concurrent processing utilises Intel Thread Building Blocks 2.0,
and these results:

Code: Select all

MacPro:backups XXXXXX$ par2 c -v -t+ -r10 XXXXXXXXX.iso
par2cmdline version 0.4, Copyright (C) 2003 Peter Brian Clements.
Modifications for concurrent processing, Unicode support, and hierarchial
directory support are Copyright (c) 2007-2008 Vincent Tan.
Concurrent processing utilises Intel Thread Building Blocks 2.0,
Copyright (c) 2007-2008 Intel Corp.
Executing using the 32-bit x86 (IA32) instruction set.

par2cmdline comes with ABSOLUTELY NO WARRANTY.

This is free software, and you are welcome to redistribute it and/or modify
it under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version. See COPYING for details.

Processing checksums and Reed-Solomon data concurrently.
Block size: 2350576
Source file count: 1
Source block count: 2000
Redundancy: 10%
Recovery block count: 200
Recovery file count: 8

Opening: XXXXXXXXX.iso

GPU processing is enabled for 143 data/recovery blocks.
Computing Reed Solomon matrix.
Constructing: done.
The GPU was used for 27.5% of the processing (110369 out of 400000 processing blocks).
Wrote 470115200 bytes to disk
Writing recovery packets
Writing verification packets
Done
Regards,
Bryan
Last edited by bpwats on November 20th, 2008, 7:20 pm, edited 1 time in total.
bpwats
Newbie
Newbie
Posts: 28
Joined: May 16th, 2008, 10:13 am

Re: elaborate step-by-step OS X 10.5 src install

Post by bpwats »

As SABnzbd indicates also, the experimental CUDA version gets stuck at 99% of the repair process:

Code: Select all

MacPro:wiierd-hfgn XXXXXX$ par2 r -t+ -v /Users/XXXXXX/Downloads/incomplete/wiierd-hfgn/wiierd-hfgn.par2
par2cmdline version 0.4, Copyright (C) 2003 Peter Brian Clements.
Modifications for concurrent processing, Unicode support, and hierarchial
directory support are Copyright (c) 2007-2008 Vincent Tan.
Concurrent processing utilises Intel Thread Building Blocks 2.0,
Copyright (c) 2007-2008 Intel Corp.
Executing using the 32-bit x86 (IA32) instruction set.

par2cmdline comes with ABSOLUTELY NO WARRANTY.

This is free software, and you are welcome to redistribute it and/or modify
it under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version. See COPYING for details.

Processing verifications and repairs concurrently.
Loading "wiierd-hfgn.par2".
Loaded 190 new packets
Loading "wiierd-hfgn.vol00+01.par2".
Loaded 1 new packets including 1 recovery blocks

There are 94 recoverable files and 0 other files.
The block size used was 1562500 bytes.
There are a total of 2965 data blocks.
The total size of the data files is 4630672518 bytes.

Verifying source files:

Target: "wiierd-hfgn.r00" - found.
Target: "wiierd-hfgn.r02" - found.
Target: "wiierd-hfgn.r01" - found.
Target: "wiierd-hfgn.r03" - found.
Target: "wiierd-hfgn.r04" - found.
Target: "wiierd-hfgn.r06" - found.
Target: "wiierd-hfgn.r07" - found.
Target: "wiierd-hfgn.r05" - found.
Target: "wiierd-hfgn.r08" - found.
Target: "wiierd-hfgn.r09" - found.
Target: "wiierd-hfgn.r10" - found.
Target: "wiierd-hfgn.r11" - damaged. Found 31 of 32 data blocks.
Target: "wiierd-hfgn.r12" - found.
Target: "wiierd-hfgn.r14" - found.
Target: "wiierd-hfgn.r13" - found.
Target: "wiierd-hfgn.r15" - found.
Target: "wiierd-hfgn.r16" - found.
Target: "wiierd-hfgn.r17" - found.
Target: "wiierd-hfgn.r18" - found.
Target: "wiierd-hfgn.r19" - found.
Target: "wiierd-hfgn.r20" - found.
Target: "wiierd-hfgn.r21" - found.
Target: "wiierd-hfgn.r22" - found.
Target: "wiierd-hfgn.r23" - found.
Target: "wiierd-hfgn.r24" - found.
Target: "wiierd-hfgn.r25" - found.
Target: "wiierd-hfgn.r26" - found.
Target: "wiierd-hfgn.r27" - found.
Target: "wiierd-hfgn.r28" - found.
Target: "wiierd-hfgn.r29" - found.
Target: "wiierd-hfgn.r30" - found.
Target: "wiierd-hfgn.r32" - found.
Target: "wiierd-hfgn.r31" - found.
Target: "wiierd-hfgn.r33" - found.
Target: "wiierd-hfgn.r36" - found.
Target: "wiierd-hfgn.r34" - found.
Target: "wiierd-hfgn.r35" - found.
Target: "wiierd-hfgn.r37" - found.
Target: "wiierd-hfgn.r38" - found.
Target: "wiierd-hfgn.r39" - found.
Target: "wiierd-hfgn.r40" - found.
Target: "wiierd-hfgn.r41" - found.
Target: "wiierd-hfgn.r43" - found.
Target: "wiierd-hfgn.r42" - found.
Target: "wiierd-hfgn.r44" - found.
Target: "wiierd-hfgn.r45" - found.
Target: "wiierd-hfgn.r46" - found.
Target: "wiierd-hfgn.r47" - found.
Target: "wiierd-hfgn.r48" - found.
Target: "wiierd-hfgn.r49" - found.
Target: "wiierd-hfgn.r50" - found.
Target: "wiierd-hfgn.r52" - found.
Target: "wiierd-hfgn.r51" - found.
Target: "wiierd-hfgn.r53" - found.
Target: "wiierd-hfgn.r54" - found.
Target: "wiierd-hfgn.r55" - found.
Target: "wiierd-hfgn.r56" - found.
Target: "wiierd-hfgn.r57" - found.
Target: "wiierd-hfgn.r58" - found.
Target: "wiierd-hfgn.r59" - found.
Target: "wiierd-hfgn.r60" - found.
Target: "wiierd-hfgn.r61" - found.
Target: "wiierd-hfgn.r62" - found.
Target: "wiierd-hfgn.r64" - found.
Target: "wiierd-hfgn.r63" - found.
Target: "wiierd-hfgn.r65" - found.
Target: "wiierd-hfgn.r66" - found.
Target: "wiierd-hfgn.r68" - found.
Target: "wiierd-hfgn.r67" - found.
Target: "wiierd-hfgn.r71" - found.
Target: "wiierd-hfgn.r69" - found.
Target: "wiierd-hfgn.r70" - found.
Target: "wiierd-hfgn.r72" - found.
Target: "wiierd-hfgn.r75" - found.
Target: "wiierd-hfgn.r73" - found.
Target: "wiierd-hfgn.r74" - found.
Target: "wiierd-hfgn.r76" - found.
Target: "wiierd-hfgn.r77" - found.
Target: "wiierd-hfgn.r78" - found.
Target: "wiierd-hfgn.r79" - found.
Target: "wiierd-hfgn.r80" - found.
Target: "wiierd-hfgn.r81" - found.
Target: "wiierd-hfgn.r83" - found.
Target: "wiierd-hfgn.r82" - found.
Target: "wiierd-hfgn.r84" - found.
Target: "wiierd-hfgn.r85" - found.
Target: "wiierd-hfgn.r86" - found.
Target: "wiierd-hfgn.r87" - found.
Target: "wiierd-hfgn.r88" - found.
Target: "wiierd-hfgn.r90" - found.
Target: "wiierd-hfgn.sfv" - found.
Target: "wiierd-hfgn.r89" - found.
Target: "wiierd-hfgn.r91" - found.
Target: "wiierd-hfgn.rar" - found.

Scanning extra files:


Repair is required.
1 file(s) exist but are damaged.
93 file(s) are ok.
You have 2964 out of 2965 data blocks available.
You have 1 recovery blocks available.
Repair is possible.
1 recovery blocks will be used to repair.

Computing Reed Solomon matrix.
Constructing: done.
Solving: done.

GPU processing is enabled for 1 data/recovery blocks.
Repairing: 99.9%
Developer is notified.

Bryan Wats
rAf
Moderator
Moderator
Posts: 546
Joined: April 28th, 2008, 2:35 pm
Location: France
Contact:

Re: elaborate step-by-step OS X 10.5 src install

Post by rAf »

Thanks for sharing your tests results.
With your config, it seems that you have a higher GPU usage than me but what about time needed for repairing.
Is it faster ?
bpwats
Newbie
Newbie
Posts: 28
Joined: May 16th, 2008, 10:13 am

Re: elaborate step-by-step OS X 10.5 src install

Post by bpwats »

rAf wrote: With your config, it seems that you have a higher GPU usage than me but what about time needed for repairing.
Is it faster ?
Not at all; it gets stuck at 99.9%  :(
Hence my message above, that the experimental CUDA version is not working entirely properly yet.
SABnzbd shows 99% repairing indefinately.
The PAR developer is looking into it, with my kind of file size set.

What I see happening when not stuck yet, is the CPU(s) being offloaded up to a third of the required calculations to the GPU.
So this frees up the CPU(s) for other tasks, but I cannot tell yet, if it is faster also. I will do some timing tests when the bug is resolved.

My take is, that this a welcome feature, when CPU speed development is hitting a brick wall in terms of heat generation (hence the multi-core direction) and (higher end) GPUs have become pretty strong computing units themselves. It spreads the load and seems more efficient use of total computer processing power.

Creating (a 10% par2 file set of a DVD-size file) is more computationally intensive (this the CUDA version CAN do, but may be incorrect) than repairing a single block of a DVD-size file. CUDA does not help file verification stage.

With Grand Central/OpenCL in Mac OS X 10.6, developers should be enabled easier to take advantage of multi-core processors and CPU's.

Greetings,
Bryan Wats
bpwats
Newbie
Newbie
Posts: 28
Joined: May 16th, 2008, 10:13 am

Re: elaborate step-by-step OS X 10.5 src install

Post by bpwats »

rAf wrote: Thanks for sharing your tests results.
With your config, it seems that you have a higher GPU usage than me but what about time needed for repairing.
Is it faster ?
I took a DVD-5 unscrabled image and split it up in 87 50MB parts:

Code: Select all

$ rar a -v50000k jumper.rar Jumper.iso
No time measured, but took at least 10 mins or so.

On this I created a par set using STABLE Oct 5 version 64 bit

Code: Select all

$ time par2 c -r10 -t+ jumper.par2 *.rar
...

Code: Select all

real	7m56.489s
user	28m35.073s
sys	0m22.364s
Then I deleted the last rar part (#87 = 47,9MB) and repaired

Code: Select all

$ time par2 r -t+ jumper.par2
Processing verifications and repairs concurrently.
Loading "jumper.par2".
Loaded 176 new packets
Loading "jumper.vol000+01.par2".
Loading "jumper.vol001+02.par2".
Loading "jumper.vol007+08.par2".
Loading "jumper.vol003+04.par2".
Loaded 1 new packets including 1 recovery blocks
Loading "jumper.vol015+16.par2".
Loaded 4 new packets including 4 recovery blocks
Loading "jumper.vol031+32.par2".
Loaded 2 new packets including 2 recovery blocks
Loading "jumper.vol063+64.par2".
Loaded 8 new packets including 8 recovery blocks
Loading "jumper.vol127+73.par2".
Loaded 16 new packets including 16 recovery blocks
Loaded 32 new packets including 32 recovery blocks
Loaded 64 new packets including 64 recovery blocks
Loaded 73 new packets including 73 recovery blocks

There are 87 recoverable files and 0 other files.
The block size used was 2302680 bytes.
There are a total of 2000 data blocks.
The total size of the data files is 4453458623 bytes.

Verifying source files:

Target: "jumper.part003.rar" - found.
Target: "jumper.part004.rar" - found.
Target: "jumper.part002.rar" - found.
Target: "jumper.part001.rar" - found.

Target: "jumper.part083.rar" - found.
Target: "jumper.part087.rar" - missing.
Target: "jumper.part086.rar" - found.
Target: "jumper.part084.rar" - found.
Target: "jumper.part085.rar" - found.

Scanning extra files:


Repair is required.
1 file(s) are missing.
86 file(s) are ok.
You have 1978 out of 2000 data blocks available.
You have 200 recovery blocks available.
Repair is possible.
You have an excess of 178 recovery blocks.
22 recovery blocks will be used to repair.

Computing Reed Solomon matrix.
Constructing: done.
Solving: done.

Wrote 50258623 bytes to disk

Verifying repaired files:

Target: "jumper.part087.rar" - found.

Repair complete.

Code: Select all

real	2m15.460s
user	3m20.589s
sys	0m16.296s
Repair was done correctly, could be unrarred properly

Code: Select all

$ time unrar x jumper.part001.rar
...

Code: Select all

real	2m28.054s
user	1m38.156s
sys	0m23.110s
---
Switch to the CUDA enabled version
---

See how long it takes to repair the deleted last rar part:

Code: Select all

$ time par2cuda r -t+ jumper.par2
Processing verifications and repairs concurrently.
Loading "jumper.par2".
Loaded 176 new packets
Loading "jumper.vol000+01.par2".
Loading "jumper.vol001+02.par2".
Loading "jumper.vol007+08.par2".
Loading "jumper.vol003+04.par2".
Loaded 1 new packets including 1 recovery blocks
Loading "jumper.vol015+16.par2".
Loaded 2 new packets including 2 recovery blocks
Loading "jumper.vol031+32.par2".
Loaded 4 new packets including 4 recovery blocks
Loading "jumper.vol063+64.par2".
Loaded 8 new packets including 8 recovery blocks
Loading "jumper.vol127+73.par2".
Loaded 16 new packets including 16 recovery blocks
Loaded 32 new packets including 32 recovery blocks
Loaded 64 new packets including 64 recovery blocks
Loaded 73 new packets including 73 recovery blocks

There are 87 recoverable files and 0 other files.
The block size used was 2302680 bytes.
There are a total of 2000 data blocks.
The total size of the data files is 4453458623 bytes.

Verifying source files:

Target: "jumper.part004.rar" - found.
Target: "jumper.part001.rar" - found.

Target: "jumper.part084.rar" - found.
Target: "jumper.part087.rar" - missing.
Target: "jumper.part082.rar" - found.
Target: "jumper.part083.rar" - found.
Target: "jumper.part086.rar" - found.

Scanning extra files:


Repair is required.
1 file(s) are missing.
86 file(s) are ok.
You have 1978 out of 2000 data blocks available.
You have 200 recovery blocks available.
Repair is possible.
You have an excess of 178 recovery blocks.
22 recovery blocks will be used to repair.

Computing Reed Solomon matrix.
Constructing: done.
Solving: done.

GPU processing is enabled for 22 data/recovery blocks.
The GPU was used for 27.2% of the processing (11988 out of 44000 processing blocks).
Wrote 50258623 bytes to disk

Verifying repaired files:

Target: "jumper.part087.rar" - found.

Repair complete.

Code: Select all

real	2m14.092s
user	3m0.162s
sys	0m20.505s
So it is only a second faster to repair almost 50 MB. Not really significant, imho.
That is, if it unrar's okay. Previuously, I got stuck at 99% when using CUDA version.

Code: Select all

$ time unrar x jumper.part001.rar
...
Extracting from jumper.part086.rar

...         Jumper.iso                                                98%

Extracting from jumper.part087.rar

...         Jumper.iso                                                OK
All OK

Code: Select all

real	2m33.901s
user	1m38.086s
sys	0m23.114s
It does, thankfully.
So, will the CUDA version be faster when creating the 10% par2 file set?

Code: Select all

$ time par2cuda c -r10 -t+ jumper.par2 *.rar
Processing checksums and Reed-Solomon data concurrently.
Block size: 2302680
Source file count: 87
Source block count: 2000
Redundancy: 10%
Recovery block count: 200
Recovery file count: 8

Opening: jumper.part001.rar

Opening: jumper.part087.rar

GPU processing is enabled for 123 data/recovery blocks.
Computing Reed Solomon matrix.
Constructing: done.
The GPU was used for 14.3% of the processing (57527 out of 400000 processing blocks).
Wrote 460536000 bytes to disk
Writing recovery packets
Writing verification packets
Done

Code: Select all

real	6m59.591s
user	24m42.713s
sys	0m28.688s
So this is a minute difference! However, the CUDA version being experimental, it its not clear yet if the generated file set is even reliable/correct.
I don't use it (yet). As noted before, CPU usage is much lower, however.

If you need more testing, let me know.
Regards,
Bryan
Last edited by shypike on December 5th, 2008, 2:57 am, edited 1 time in total.
bpwats
Newbie
Newbie
Posts: 28
Joined: May 16th, 2008, 10:13 am

Re: elaborate step-by-step OS X 10.5 src install

Post by bpwats »

A new version was posted, that solves the problem I have in the CUDA-version.

http://chuchusoft.com/par2_tbb/download.html
Post Reply