Ubuntu 9.04 x64 & Pyrit with ATI Stream
Okay, so since i just got the new graphics card (an ASUS EAH4850), i wanted to try out some of the GPU computing possibilities of the card. The Pyrit project exists to take advantage of multiple GPU computing platforms, such as Nvidia CUDA, and ATI Stream, so i decided to give that a whirl.
I downloaded the Pyrit and the Ati Stream packages from the Pyrit site. I found out i also need the ATI Stream SDK, which can be obtained from the AMD site. The thing to be noted here is that there is currently only support for RPM based systems, such as Fedora, CentOS etc. So of course, i thought, "Alien!", the package converter. I apt-get'ed Alien and RPM, and got working on the thing.
You download the package, which is a .tar.gzip file. Unpack the file to get to the .run file. The run file can be exectured simply with ./filename.run. This should result in the script from the .run file being executed. It'll fail shortly after the EULA, or it did on my x64 system.
I opened up the run file, and commented out the part where it deletes the temporary folder where it extracts the actual RPM file (and before that, tries to run rpm on the file, which fails).
#!/bin/bash
echo "ATI Brook+ SDK Installer"TMP="atibrook"
HERE=`pwd`
DST=/usr/local
FOPEN="more"
RPM="alien"#Extract archive into /tmp/atibrook
echo -n "Extracting archive..."
dd if=$0 of=/tmp/${TMP}.tar.gz bs=1 skip=16384 >& /dev/null
echo "DONE"
mkdir /tmp/atibrook
cd /tmp/atibrook
echo -n "Uncompressing package..."
tar -xzf ../${TMP}.tar.gz
echo "DONE"#Accept EULA
${FOPEN} EndUserLicense.txt
echo -n "Do you accept this license agreement? [y/n]: "
read agree
if test A"$agree" = Ay -o A"$agree" = AY; then
echo "You accepted the license, continuing installation."
else
echo "You declined the license, aborting..."
rm -rf /tmp/atibrook
rm /tmp/${TMP}.tar.gz
exit
fi#Install via rpm
echo ""
echo -n "Select a path for installation [default]: "
read USERPATHif test "$USERPATH" != ""; then
echo "Using '$USERPATH' for directory prefix."
echo ""
echo "Installing package via RPM..."
$RPM --prefix=$USERPATH /tmp/atibrook/*.rpm
else
echo "Using default directory /usr/local/atibrook"
echo ""
echo "Installing package via RPM..."
$RPM /tmp/atibrook/*.rpm
fi#### THIS PART I COMMENTED OUT SO IT LEAVES THE RPM INTACT ####
#Cleanup
#echo ""
#echo "Removing Temporary Files..."
#rm -rf /tmp/atibrook
#rm /tmp/${TMP}.tar.gz
echo "Exiting installation..."
exit
So the result is that in /tmp/atibrook you now have the rpm file.
Running Alien against it results in an error about rpm.pm on line 155. Something relating to perl, the complete error is:
Installing package via RPM...
Unpacking of '/tmp/atibrook/atistream-brook-1.4.0_beta-1.x86_64.rpm' failed at /usr/share/perl5/Alien/Package/Rpm.pm line 155.
Exiting installation...
Now, i have no fucking idea how to fix it. Looking at line 155, it relates to the cpio command not working properly, but how and why and what the fuck? I'm not a developer. I'll need to show this to someone, like B, maybe he can figure it out.
I also tried instructions i found on the AMD Developer Forum (requires registration). These detail the use of rpm2cpio, instead of alien, but that doesn't work either. The RPM seems malformed somehow. Perhaps as a result of it being made with a specific tool (the name of which escapes me), which creates files that are unreadable by rpm2cpio.
Blargh. I'm gonna run a Fedora 11 live CD soon, and see that it actually works. Get some numbers off this thing. It's supposed to do 7800 PKM's, which is a lot faster than for instance an Intel I7 920. Sweetness.
August 11th, 2009 - 18:40
“The Debian rpm package does not support LZMA compressed cpio payloads. ”
http://groups.google.com/group/linux.debian.bugs.dist/browse_thread/thread/9a7e4aa83d67331a/59ac7a9f16899830?q=%23509444#59ac7a9f16899830
August 13th, 2009 - 15:53
Hey, thanks for your reply, great to know. It’s just a jungle with all these different ways to do essentially the same thing…
I’ll try it with the patch and see how it works!