MMM
Results 1 to 14 of 14

Thread: how to prioritize resources? (SWAN_SYNC)

  1. #1
    Xtreme Cruncher
    Join Date
    Jul 2007
    Location
    @ the computer
    Posts
    2,510

    how to prioritize resources? (SWAN_SYNC)

    since i'll only have one card, maybe two in a cruncher also running WCG, dedicating one thread to the video card might not be so bad. i've set SWAN_SYNC to 0 in the environment variables on two of my crunchers, but one of them is not responding to it. you can see in the screenshot below that all of the threads are utilized for WCG. what am i doing wrong?



    and besides setting the environment variables, how else can i give grpugrid priority over WCG since it's only 1 or 2 threads? i set the resource share preference to 200, so gpugrid shows up in BOINC as 66%, and WCG only 33%, yet the processor usage is only between 1-3% for the GPU's. what other settings do i need to give the GPU's priority?


    [SIGPIC][/SIGPIC]

  2. #2
    Xtreme Enthusiast
    Join Date
    Oct 2007
    Location
    London, UK
    Posts
    575
    What happens when you suspend the WCG project? does the CPU usage for GPUGRID go up?


    Quote Originally Posted by creidiki View Post
    We are a band of fearless modern-day alchemists who, for fun, run solutions through sophisticated, if overpriced, separator setups, and then complain when we succeed in separating said solution.

  3. #3
    Xtreme Mentor
    Join Date
    Apr 2004
    Location
    CT, USA!!!
    Posts
    2,821
    I set mine as a user variable and I also had to shutdown and restart BOINC

    I also changed maximum cpu % for graphics 100%
    Last edited by =[PULSAR]=; 05-07-2010 at 11:27 PM.

  4. #4
    Xtreme Enthusiast
    Join Date
    Oct 2007
    Location
    London, UK
    Posts
    575
    Strange... I have mine set as System Variable too, and it is most definitely pulling 100% on one of the cores.


    Quote Originally Posted by creidiki View Post
    We are a band of fearless modern-day alchemists who, for fun, run solutions through sophisticated, if overpriced, separator setups, and then complain when we succeed in separating said solution.

  5. #5
    Xtreme Cruncher
    Join Date
    Mar 2009
    Location
    kingston.ma
    Posts
    2,139
    I think SWAN_SYNC is only relevant for the new fermi versions and not the regular version that runs on 2XX cards.

    Resource share is only a time sharing tool for how you want BOINC to switch execution between your active projects, this has no effect on CPU / GPU utilization. If you set WCG to 300 and SETI to 100 then 75% of your runtime will go towards WCG and 25% to SETI.

    300 + 100 = 400 (total resource weights)
    300 / 400 = 75% (WCG)
    100 / 400 = 25% (SETI)

    Resource sharing gets a little odd when you start to mix in GPU projects. BOINC is still trying to iron out the details to get this to work better. It *seems* to time share properly between CPU projects seperately from GPU projects. Occasionally it gets fouled up switching between GPU projects if you have more than one active GPU project. I keep Collatz active at 1 so in case GPUGrid goes down I will not have an idle GPU. I have GPUGrid set at 100 and as long as GPUGrid has work I almost never get a Collatz gpu WU so it does not impact my GPUGrid output.

    CPU usage to display graphics is only relevant if you are using a BOINC project screensaver and none of us would do that because it takes away from crunching cycles :-) This setting is really only relevant to CPU projects anyway, it will not effect GPUGrid no matter what you set it to.

    If you look at the Priority of GPU tasks in task manager you will see that they run at "Below Normal" and CPU tasks run at "Low". Low is lower than Below Normal so your GPU task will take precedence when asking for CPU resources over CPU tasks. That being said, it is up to the individual GPU project applications to make calls to the CPU at the necessary times to work efficiently. Keep in mind that you are in effect sharing a thread between a CPU and GPU task so internally the CPU must keep switching code contexts back and forth which is not particularly efficient.

    This is why when you leave a CPU thread entirely free from CPU tasks the GPU runtime is better because there is almost no code contention and context switching necessary. Ever notice that HT off processes much better than HT on? This is because HT is the CPU itself time sharing multiple code threads on one core. It utilizes the minute gaps in execution instructions in any software that is running on the CPU to minimize contention but still takes the context switching hit.

    So, now we get to SWAN_SYNC (currently only works on the fermi specific app version). This setting, in effect, ties up a full CPU thread for use by the GPU task only and depending on how well I explained the above you will understand why this reduces GPUGrid runtimes.

    Where does that leave us for optimizations? This really depends on what your personal goals are. We all are crunching GPUGrid but many of us are also crunching WCG which presents and inherent conflict as the more we optimize for GPUGrid the more we take away from WCG and vice versa.

    The best way I have found to get the max for both projects is to run WinXP. It simply is much better at crunching GPU tasks than Vista or Win7. I think the differences go beyond the different Nvidia driver implementations and speaks more about the underlying architecture and driver modes of the OSes themselves.

    For now, Linux is better for the 2XX cards on GPUGrid but they always take a full CPU thread. Internally within the application they have the equivalent of SWAN_SYNC, you can not turn it off. While GPUGrid has not yet released an app version for fermi cards on Linux I believe they will be doing so early next week and I hope they provide an option that is the equivalent of SWAN_SYNC.

    I can hear it now ... "but Snow Crash, I don't want to change my OS"!
    I understand this completely, I have one XP box that only does crunching (stuffed in the basement and I use VNC for remote control) but my daily driver is Win7. The first thing I do is to overclock my shaders as this presents no conflict with WCG processing. Of course you already have overclocked your CPU for WCG and GPUGrid gets a benefit from this also so it is a win for both projects. After that you have to decide if you are going to run HT ON or OFF and use SWAN_SYNC or not. Using either or both in any combination has a serious effect on your total output between CPU and GPU. Once the fermi app version is out of test (they passed it through beta but still consider it in test) I will be doing more performance testing of my own. For now, I think that leaving HT ON and adding the SWAN_SYNC environmental variable is a fair balance between the two projects.
    Last edited by Snow Crash; 05-09-2010 at 03:36 AM.

  6. #6
    Xtreme Cruncher
    Join Date
    Jul 2007
    Location
    @ the computer
    Posts
    2,510
    thanks snow crash, that was one hell of a post!

    so in this case, resource share setting does nothing for me. without being forced to use linux, how can i get a full thread to a gt/x 200 series card on XP or win7? it's not that i'm not willing to switch to linux, but because i don't know anything about it. i installed it, but tried for an hour to get my wireless network adapter to work on linux, but could not, so i went back to XP.

    so how does windows recognize the SWAN_SYNC command is only specific for fermi cards? what exactly is swan_sync?
    [SIGPIC][/SIGPIC]

  7. #7
    Xtreme Cruncher
    Join Date
    Mar 2009
    Location
    kingston.ma
    Posts
    2,139
    It is the app that your card is running that is or is not looking for SWAN_SYNC. I think they only did this in the version that runs on fermi. I have been hesitant to move to linux for the very same reasons you talked about.

    I think the conclusions from my previous testing still holds true for 2XX cards.
    In order of performance increase optimizations ...
    1. Linux
    2. Win XP
    3. OC shaders
    4. OC CPU (yes, this really does make a substantial difference)
    5. HT Off
    6. OC gpu memory

    In theory you could do something like download and run 3 Climate Prediction WUs (they run for a really long time, like the shortest one will take a week) which would leave a core free for GPU use. While I have ran (and probably will again) some Climate Prediction WUs, I have a much stronger focus on WCG.

    So after doing 1 (or not) and then 2,3, and 4 you have to decide if you are willing to slow up on WCG by turning off HT. I have found that it really is not a bad trade off because you are already looking at how you can dedicate a full thread to GPUGrid and I tend tto be able to OC my CPU just a little bit higher with HT off. Combined that with the fact that you are really only getting a 15-30% increase at WCG for having HT on and like I said, I think XP HT off strikes a good balance between GPU and WCG.

    The problem I have is I only have XP 32 bit and between the 285 and the 295 I'm not left with much memory. I also only have a Corsair 750TX on that rig (poor little bugger is working it's ascii off!). This combination lends more weight pushing me in the HT off direction.

  8. #8
    Xtreme Enthusiast
    Join Date
    Mar 2005
    Location
    Madison, WI
    Posts
    638
    I only have SWAN_SYNC equal to 0 under the System Variable. It definitely works.

  9. #9
    Xtreme Cruncher
    Join Date
    Mar 2009
    Location
    kingston.ma
    Posts
    2,139
    Yes, it works for 470/ 480 but no other class of card.

  10. #10
    Xtreme Cruncher
    Join Date
    Jul 2007
    Location
    @ the computer
    Posts
    2,510
    yeah, i just found that out from this thread, so thanks for the explaination snowcrash. although, i think i remember getting my gt240 to get a full thread when i paired it in the same computer with my gtx480. i might try this out again to see if i can somehow trick BOINC into doing this.
    [SIGPIC][/SIGPIC]

  11. #11
    Xtreme Cruncher
    Join Date
    Mar 2009
    Location
    kingston.ma
    Posts
    2,139
    hmmm ... other people have not been sucessful getting 4XX and 2XX running on the same box ... definately let us know if your trick works and if there wwaw anything special you needed to do. I would consider getting a new PSU and putting my 295 and 480 on the XP box in the basement for the summer and put the 285 in my study for my daily driver (it will crunch also).

  12. #12
    Xtreme Cruncher
    Join Date
    Jul 2007
    Location
    @ the computer
    Posts
    2,510
    dam i should have taken screenshots. from trying almost every possible setting to get multiple GPU's to work from my multiGPU crunching thread, i think i got it to work in the end. if my memory is correct (which is rare nowadays ), i saw the cpu usage for each acemd process in the task manager at 25%, which means each GPU got a full thread on a i3-530 with HT on. but i tried SO many different settings and combination between my gt240, gtx260, and gtx480 that it'll be hard to retrace my steps. i couldn't reproduce this full dedicated thread with just the gt240 card, so hence i created this thread.

    if i can get the mixed card to work with each other, i'll surely post back here.
    [SIGPIC][/SIGPIC]

  13. #13
    Xtreme Enthusiast
    Join Date
    Mar 2005
    Location
    Madison, WI
    Posts
    638
    If you can indeed find a way to mix these cards, we would all be delighted. I'm guessing all of us 480/470 owners have our previous GPUs either sitting around doing nothing or waiting to be sold. I would love to get my GTX 295 involved, that is if my PSU can handle (2) 480s and a 295, which I doubt it can.

  14. #14
    Xtreme Cruncher
    Join Date
    Jul 2007
    Location
    @ the computer
    Posts
    2,510
    ah ok, now i remember for sure i somehow got it working. you can see in my post #77 in the fermi thread that i was pulling the new fermi WU's with my gt240 because they were in the same machine. at that time, i had SWAN_SYNC enabled. now i need to figure out again what i did.

    edit: crap, nm . it looks like i switched the cards and reinstalled drivers, but still got the WU to work though. *sigh*
    Last edited by WhiteFireDragon; 05-13-2010 at 03:44 PM.
    [SIGPIC][/SIGPIC]

Bookmarks

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •