14 Aug 2009

boinc update

So, a new project has come into the BOINC world:


The Collatz project is designed to prove/disprove the Collatz conjecture through brute force techniques. The project will end when this is done.

Good thing about this project is that there are optimised apps for ATi GPUs and nVidia GPUs. The 64-bit CPU application is pretty good as well, the 32-bit one is a bit crap. But, it doesn't have the single precision requirement like MilkyWay, so I can use my two 4670 cards for it as well.

So I've put them into Dutchie, and Dutchie into the old P4 case I had. My ATi cards in HAL are now working on Collatz too, and when GPUGrid hits 1M, it'll transfer over too. My CPUs will still work on the goals mentioned in my last post. So far, time per WU looks like:

802.781 sec for 159.75 creds
780.875 sec for 149.11 creds

1359.91 sec for 155.14 creds
1442.56 sec for 157.38 creds
1434.11 sec for 158.53 creds

Q6600 @ 2.85Ghz, 32-bit:
32533.23 sec for 167.23 creds

So yeah, CPU is a bit crap at 2k creds per day per quad core on 32-bit. But 1M Collatz creds should take about 60 days on one 4850. Or 30 on two, 15 on four.

11 Aug 2009

boinc update

Ahh, more BOINC progress.

Just hit 13M credits total, nearly 10M in Milkyway, nearly 1M in GPUGrid and nearly 250K in SETI:

I'm hitting all my main targets here. I was wanting to pad out this graphic:

With results at each of the 10K, 25K, 50K, 100K, 250K, 500K, 750K, 1M, 2.5M, 5M and 10M milestones. Each milestone requires a certain amount of projects to reach that level, and SETI will be getting my my 250K one soon and MW will hit the 10M one soon. So that goal is done.

Well, what's left then? Gain more credits?

In respect to the fact that I'll be using a 16 thread machine at work in the near future, I've come up with the following plan:

a) Reach my main goals with respect to the second graphic. This means:
- Milkyway @ 10M
- GPUGrid @ 1M
- SETI @ 250K

b) Work on little projects where I am below 80% in terms of credit. For now I'll limit this to:
- Rosetta
- FreeHal
- Einstein
- Spinhenge
- Ramsey
- Malaria
- SETI-Beta
And for each of them I'll get them up to 50K, and hopefully above that 80% line.

c) Now for some bigger goals - get as high as I can on each project to get 1st or 2nd in terms of 'who joined the same day I did'. This means the following projects and targets:
- CPDN @ 250K
- QMC @ 600K / 1.2M
- PrimeGrid @ 250K
- WCG @ 1.25M
- Cosmology @ 1M
- Rosetta @ 500K/1M/5M
For Rosetta and QMC, the numbers gets me into 3rd/2nd/1st but because there is such a gap it might be worth doing it in stages.

All this time, my GFX cards will be doing MilkyWay (get up to 20M or something) and GPUGrid/SETI/Aqua.

I do have a motherboard and chip here (i.e. Dutchie) not in a case or with graphics cards, so I'm deciding whether to build it up into a machine, or try and sell it on as my father is needing a new machine soon.

9 Aug 2009

benchmark update

This week I helped a friend pick out a new laptop. I picked out a few, but eventually she decided on the Acer Aspire 5536:


CPU: AMD Athlon X2 QL-64 2.1 Ghz
GPU: Radeon Mobility HD 3200
HDD: 250GB
Screen: 15.6"
Price: Around 350

All-in-all, a very nice price for what is a very nice laptop. I also got to benchmark it.

The QL-64 was a never before seen chip on hwbot, so a quick request to support got it added. Needless to say, this resulted in a swathe of gold for me... :)

CPU-Z: 2118.53 Mhz
PiFast: 73.26 sec @ 2100 Mhz
1M SuperPi: 45.96 sec @ 2100 Mhz
32M SuperPi: 40 min 44.08 sec @ 2100 Mhz
32M wPrime: 39.35 sec @ 2100 Mhz
1024M wPrime: 21 min 1.12 sec @ 2100 Mhz

I wasn't able to benchmark using PC05 - for some reason it wouldn't install. Also didn't bother with the GPU due to time, and that card is hotly contested with better CPUs.

However, I still have a mountain of graphics cards and processors to bench. Lets see how far I get.

3 Aug 2009

designing a benchmark

So, this new benchmark I'm making. Let's call it gpuCompute.

The idea is to have a benchmark that exploits the capabilities of GPGPU and have nothing to do with graphics. So mathematics.

I did some tests designing a program that goes through every number from 1 to N, and determines if N is prime. This means, in general:

for i = 1 to N {
if isPrime(i) {

isprime(k) {
for i = 2 to k {
if k%i == 0 {return false;}
return true;

However, this can be shortened to go from 2 to sqrt(k), to make it go faster.

Well this benchmark checked 160 billion numbers in 3.3 seconds on my GTX280. If I stuck in an output (i.e. de-commented the prime++;) then it did 1 million in 0.2 seconds due to bad memory coalescence. When overclocking the GFX card, it only responded to an OC on the Core frequency. Hmm, not good.

Here's how it looked:

After conversing with the guys at BenchTec, they wanted a 2-3 minute benchmark. So utilising some functions I've done at work with 2D finite element simulation, I programmed some of that in.

In a nutshell, a 2D finite element simulation takes a grid of R*Z nodes, then computes each note in a new timestep as the average of the nodes around it of the previous timestep. So a grid of 1000x1000 has one million nodes - or one million threads for a cuda device. Then to increase the length of the simulation, add more time steps or increase the grid size.

This kernel function uses liberal amounts of texture memory, and 2*4*R*Z bytes of graphics memory. So I need something for the smaller CUDA cards to run, so I've limited the grid to take up at most 64MB of graphics memory and just increased the timesteps. Due to the liberal use of memory and reasonable levels of calculation per thread, this system responds very nicely to any sort of core or mem overclock. Niice :)

So all that's left to do is:

a) Change the program so multiple GPUs can be used.
b) Implement some sort of checksum to stop cheating.
c) Move it to OpenCL so ATi cards can use it too.

a haul in the mail

Today I went to my college post box to receive an awesome haul:

Celeron 1.7Ghz (Costa Rica)
Celeron 1.7Ghz (Malay)
Celeron 1.8Ghz (Malay)
Celeron 2.2Ghz (Costa Rica)
Celeron D 2.66Ghz (Malay)
Pentium 4 1.6Ghz (Costa Rica)
Pentium 4 1.5Ghz (Costa Rica) x 2

All for around £1.50 each.

Some pure socket 478 benching ahead at some point.

1 Aug 2009

benchmark update

I took a bit of a detour this past couple of weeks. I'm doing a big round up of all the latest Catalyst driver releases for ATI cards on all the 3D benchmarks. There are some significantly surprising results! I'm less than halfway through as the testing is quite rigourous, and the results will be put up in the members section of BenchTecUK forums. Not a member? Join the team at HWbot, put up 3 scoring results (which isn't that hard) and start posting on the forum.

I've actually been quite generous to myself recently, and picked up some more equipment:

ATi 2400 Pro
nVidia 7800GS
5 Socket A processors, from Duron 700 to Athlon 1400
Socket A motherboard and cooler w/VGA port (1.5V and 3.3V)
Various Socket 478 processors from ebay

I took apart my old P4 mobo from its case so I could mess around with it. I took the cooler off, and the P4 proc came off with it! Looks like they'd used 3g of thermal material to seat the proc, and it'd set. I had to douse the area with TIM to help dissolve the thermal material, then use two screwdrivers to seperate the proc from the cooler. But I reseated it the way I wanted, hopefully I can push that beyond 3.6Ghz now.

I bought the Socket A procs and gfx cards from the BenchTec forums. I didn't have a socket A motherboard, but the procs were cheap, so I picked up a mobo/proc/cooler combo off ebay for under 20 notes. Got the mobo combo in the mail yesterday, only to find they'd used EVEN MORE thermal material on the proc... it hadn't even set properly. So I cleaned that up, and I'll test it soon after my Catalyst round up.

As far is BOINC is concerned, I'm atm only running 2 ATI cards on Milkyway - it'll be four when I've finished the Catalyst roundup. Aqua isn't giving out as much work, or credit, as before - but I got enough WUs to push me over 1m this week. GPUGrid climbed over 750k and is onto 1m fairly soon. SETI is being very awkward, and is having trouble getting to 250k. I may swap my nVidia card on GPUGrid over to Seti when GPUGrid reaches 1m - maybe get SETI to 1m. We'll see what happens.

At the minute, Dutchie is laying without power supply or graphics cards. I'll sort that soon.

On a bright note, I'm being commissioned to design a couple of websites. No doubt you can guess where that cash is going.

Also as a side project, as I've been learning CUDA and dabbling in OpenMP, I've been thinking of writing a benchmark program. The guys at BenchTec are being supportive - it probably wont be used at hwbot, but might use it in some form of competition at BenchTec. I'll post it here too :)

Take care, I'm back to benching.