Message boards :
Number crunching :
optimization for athlon XP and 3DNow under windows
Message board moderation
Author | Message |
---|---|
dreaad Send message Joined: 9 Apr 04 Posts: 2 Credit: 737,358 RAC: 0 |
has someone compiled boinc and seti specifically optimized for athlon XP with 3DNow istructions under windows? i've tried with visual studio .net 2003 but there is only option for SSE and SSE2 istructions. then when i've installed the boinc version 4.12 the wu's time is increased a lot (from 3h15m to 4h45m).I have an athlon XP 2600+. thank you to everyone. bye |
dreaad Send message Joined: 9 Apr 04 Posts: 2 Credit: 737,358 RAC: 0 |
has ever anyone tried to compile boinc himself for athlon XP? i'd like to run an optimized version of boinc for my PC :-). bye |
Benher Send message Joined: 25 Jul 99 Posts: 517 Credit: 465,152 RAC: 0 |
3DNow is a 2 floating point at once feature of AMD. No compiler will figure out that a person is using a series of 2 floats in a loop (...well virtually no compiler), except in simple cases like adding all the values in the buffer onto a single total (the sum of the buffer). SSE is 4 floats at once feature created by intel and used on later Althons. SSE2 is 2 bigger (more precise) floats feature. When you turn on SSE or SSE2 with VC++ compiler, it just changes all float code to use the lower part of the SSE feature (1/4 of the SSE register capacity). To make REAL uuse of 3DNow or SSE you need to rewrite the seti source code (note, seti...not boinc...two different programs). Something like ..oh..this for example for(int j = 0; j >1; amd_preCache(theBufs, pwr2, len); A = s_get(fftBuf(4)); B = s_get(fftBuf(5)); x0 = s_add(A, B); x1 = s_sub(A, B); A = s_get(fftBuf(6)); B = s_get(fftBuf(7)); x2 = s_add(A, B); x3 = s_sub(A, B); x3 = swap_negRI(x3); y4 = s_add(x0, x2); y6 = s_sub(x0, x2); y5 = s_add(x1, x3); y7 = s_sub(x1, x3); A = s_get(fftBuf(2)); B = s_get(fftBuf(3)); x2 = s_add(A, B); x3 = s_sub(A, B); y5 = s_accumCX(y5, y5); y7 = s_accumCX(y7, y7); |
©2024 University of California
SETI@home and Astropulse are funded by grants from the National Science Foundation, NASA, and donations from SETI@home volunteers. AstroPulse is funded in part by the NSF through grant AST-0307956.