Posts by Crashguard303

1) Message boards : BOINC Manager : simple thing: better colouring for the statistics (Message 61991)
Posted 30 Apr 2015 by Profile Crashguard303
Post:
@flakinho:
eFMer's BoincTasks has a user-customizable 20-colour palette for it's statistics:
The palette can not only be fixed (each project's graph has always the same colour = like BOINC does),
but also be relative (each selected=VISIBLE project's graph uses the next colour (slot) in the palette = what you described).
2) Message boards : BOINC Manager : simple thing: better colouring for the statistics (Message 61644)
Posted 16 Apr 2015 by Profile Crashguard303
Post:
Sorry, I couldn't modify the text anymore.
The end has to be like this:

The current chart uses a kind of:
'let n be the number of projects
'and i the palette color index (0 to n-1)
'and H the hue value array, elements indexed with i, values from 0 (red) to 255 (violet, almost red again)

for i = 0 to n-1
{
    H[i] = i * 256/n
}


If H-stepsize would be bigger, there will be more than 1 rainbow in the project's list with hues which are not this "close together":
let tri(x) = x mod 256 'triangle function

H[0] = 0 'start hue at red

for i = 1 to n-1
{
    H[i] = tri(H[i-1] + 256/n + user_defined) 'user_defined works as "spread tweaker", 0 leaves "colour spread" as it is.
}
This code snippet could be more compact (just a loop from 0 to n-1, using a different formula).

But this way it can be compared better with this one:
H[0] = user_defined1 'start hue at specific color

for i = 1 to n-1
{
    H[i] = tri(H[i-1] + user_defined2)
}
user_defined2 should work good with odd values (even better: prime numbers).


Or some RGB-mixing:
'let R,G and B be color intensity arrays, elements indexed with i, values from 0 to 255, meaning black to full

for i = 0 to n-1
{
 R[i] = tri(i * user_definedR)
 G[i] = tri(i * user_definedG)
 B[i] = tri(i * user_definedB)
}
Works good if each user_definedX is different (or even prime)
3) Message boards : BOINC Manager : simple thing: better colouring for the statistics (Message 61632)
Posted 16 Apr 2015 by Profile Crashguard303
Post:
make a unique list of colors from the most different ones to the most similar ones.

That's 16 colours, including white and black before we repeat to similar style colours.


Had a feeling, now I've seen the link. The C64 palette ;)

What to do when you have 50+ projects added?

Yes, that's a point.

I personally don't have this much, but:
1. How about user-definable color schemes/palettes?
So, nobody else could be blamed for "wrong colors".

2. These user-defined palettes could initially be generated with some nested triangle-functions, working with RGB or HSV / HSL (I prefer HSL, hue-saturation-lightness).
Users could use a slider to set positive H stepsize (and maybe negative L stepsize).

The key: you could use a bigger stepsize than it's used at the moment.
As far as I've got it, H-stepsize at the moment is this small, that you start with red and end with violet.

The current chart uses a kind of:
'let n be the number of projects
'and i the palette color index (0 to n-1)
'and H the hue value array, elements indexed with i, values from 0 to 255, meaning red to violet

for i = 0 to n-1
{
     H[i] = i * 255/(n+1)
}


If H-stepsize would be bigger, there will be more than 1 rainbow in the project's list with hues which are not this "close together":
let tri(x) = x mod 256 'triangle function

H[0] = 0 'start hue at red

for i = 1 to n-1
{
    H[i+1] = tri(H[i] + 255/(n+1) + user_defined)
}


Or even:
H[0] = user_defined1 'start hue at specific color

for i = 1 to n-1
{
    H[i+1] = tri(H[i] + user_defined2)
}

user_defined2 should work good with odd values (even better: prime numbers).


Or some RGB-mixing:
'let R,G and B be color intensity arrays, elements indexed with i, values from 0 to 255, meaning black to full

for i = 1 to n-1
{
 R[i] = tri(i * user_definedR)
 G[i] = tri(i * user_definedG)
 B[i] = tri(i * user_definedB)
}

Works good if each user_definedX is different (or even prime)
4) Message boards : BOINC Manager : simple thing: better colouring for the statistics (Message 61631)
Posted 16 Apr 2015 by Profile Crashguard303
Post:
And what he is saying is that we can de-select which projects are on the graph until he gets down to just the hand full that he wants to compare. When you do this those colors could be adjusted accordingly. Why should WCG stay Green shade number 189? If you only select 8 projects of the 100 you have attached, why can't the colors adjust to those core16 (or less)?


Thanks, Coleslaw.

Thanks for the suggestions, Crashguard303.

Yacob

Yes, also a good idea.

You're welcome.
5) Message boards : BOINC Manager : simple thing: better colouring for the statistics (Message 61573)
Posted 14 Apr 2015 by Profile Crashguard303
Post:
...and vice versa:
If you move over a project in the list on the right, the project's line is highlighted in the graph.
6) Message boards : BOINC Manager : Feature Requests & Need Info (Message 61505)
Posted 9 Apr 2015 by Profile Crashguard303
Post:
@Vas:
How about using TThrottle?
It keeps an eye on CPU and GPU temperature and specifically lowers core use of BOINC tasks, if a given temperature threshold is exceeded.
7) Message boards : GPUs : GPU Throttle? (Message 61504)
Posted 9 Apr 2015 by Profile Crashguard303
Post:
@all:
I tested TThrottle and like it ;)

@Neil:
How about another project using GPU?
8) Message boards : BOINC Manager : simple thing: better colouring for the statistics (Message 61482)
Posted 8 Apr 2015 by Profile Crashguard303
Post:
Maybe it would just help, if the circles and triangles at the edges were bigger.
Or two-colored lines (hatching / shading).
Or a different line-shaping ("stamping" triangles, circles or boxes, called "brushes" in graphics software).

Apart from changing the line colours, how about this:
If you move the mouse cursor over a line, the corresponding project name is highlighted in the list on the right and / or a tooltip shows the project's name ("data row"'s name).
The tooltip could also show x- (time) and y-values (score).
MS-Excel does this when using diagrams / charts.
9) Message boards : GPUs : GPU Throttle? (Message 61468)
Posted 8 Apr 2015 by Profile Crashguard303
Post:
Code update:
1. initial mouse position is only checked once at script start and if mouse was moved.
2. tooltip refresh needs only 1 line now instead of 3 lines.
; move mouse cursor 1 pixel up and down each 300 seconds (using i to count)

;boinc running?
If ProcessExist("boinc.exe") {

   ;initialize seconds counter
   i := 0

   ;store initial mouse position
   MouseGetPos, StartVarX, StartVarY

   loop {
         ;refresh tooltip
         Tooltip %i%

         ;wait 1 second
         sleep 1000
 
         ;check mouse position again
         MouseGetPos, CheckVarX, CheckVarY

         ;mouse position changed?
         If (StartVarX != CheckVarX) or (StartVarY != CheckVarY) {
           
            ;reset seconds counter
            i := 0

            ;store new (current) mouse position as initial position
            MouseGetPos, StartVarX, StartVarY
         }

         ;mouse position NOT changed?
         else {

            ;increase seconds counter
            i++
          
            ;time passed?  
            if (i = 300) {

               ;bump mouse
               MouseMove, 0, -1, 0, R
               MouseMove, 0, 1, 0, R

               ;reset seconds counter
               i := 0
            }

         }
        }
}

;function which is used above
ProcessExist(Name){
  Process,Exist,%Name%
  return Errorlevel
}
10) Message boards : BOINC Manager : Feature Requests & Need Info (Message 61450)
Posted 7 Apr 2015 by Profile Crashguard303
Post:
[...] 1. I would like Boinc to monitor the temp of my hardware and reduce work on any core that is going above a certain heat threshold that I specify. [...]

I can understand the idea and wish this, too, but I guess it is hard to implement, because BOINC would have to "know" all existing motherboards, some kind of "translation".

Example: I tested SpeedFan to monitor fan speed an temperatures.
It shows serveral readouts, but some positions are nonsense (-17°F or something like this).
CoreTemp also supports only certain AMD- or Intel-CPUs.

Well... to avoid this, BOINC could read everything out from the mainboard it can get and let the user select a position which makes sense.

2. I would like to be able to assign an amount of threads / cores / GPUs per project. So I can put 3 threads on Seti, 3 threads on LHC, and 2 threads on Asteroids, and then set my GPU to alternate between each thing. [...]

The GPU alternating thingy is something different, but AFAIK, you can set the workload for each project in a config file.
I also want this feature, too, because if BOINC runs 2 instances of vLHC@home simultaneously, my PC freezes after some minutes.

CPU & GPU each may have their own "switch between applications each x minutes" option.

3. I would like the ability to tell boinc to force start a project in the list. Even if it is set to run as preferences or suspended[...]

Yes, this would be nice.
Selecting & stopping all other projects (then directly releasing them again) does work, but isn't the real McCoy TMHO.
Isn't funny if there are many tasks in the list.
11) Message boards : GPUs : GPU Throttle? (Message 61433)
Posted 7 Apr 2015 by Profile Crashguard303
Post:
After
;bump mouse
MouseMove, 0, -1, 0, R


you can append:
MouseMove, 0, 1, 0, R

to move the mouse cursor just 1 pixel down again after it was moved up 1 pixel.

This would have the effect that work is suspended, but the cursor won't do a "slow travel northwards".
12) Message boards : GPUs : GPU Throttle? (Message 61431)
Posted 7 Apr 2015 by Profile Crashguard303
Post:
Here is a new version of my script.
Now it tracks mouse movement, so it won't just do a periodical interruption.

Time value can now be adjusted in seconds, seconds are also shown as tooltip.
If you don't want the tooltips to be shown, remove the relating script lines or write ";" at line start to turn them to a comment.
; each 300 seconds (counted with i) move mouse 1 pixel up

;initialize second counter
i := 0
;initialize tooltip at mouse
Tooltip [%i%]

;boinc running?
If ProcessExist("boinc.exe") {
  loop {
        ;check mouse position
        MouseGetPos, StartVarX, StartVarY

        ;wait 1 second
        sleep 1000
 
        ;check mouse position again
        MouseGetPos, CheckVarX, CheckVarY

        ;mouse position changed?
        If (StartVarX != CheckVarX) or (StartVarY != CheckVarY) {
           
           ;reset seconds counter
           i := 0

           ;reset tooltip
           Tooltip [%i%]
        }

        ;mouse position NOT changed?
        else {

           ;increase seconds counter
           i++

           ;refresh tooltip
           Tooltip [%i%]
          
          ;300seconds = 5minutes passed?  
          if (i = 300) {

             ;bump mouse
             MouseMove, 0, -1, 0, R

             ;reset seconds counter
             i := 0

             ;reset tooltip
             Tooltip [%i%]
          }
         }
       }
}

;function which is used above
ProcessExist(Name){
  Process,Exist,%Name%
  return Errorlevel
}
13) Message boards : GPUs : GPU Throttle? (Message 61392)
Posted 4 Apr 2015 by Profile Crashguard303
Post:
Thanks, you just gave another idea, even for older cards: underclocking the hardware!
14) Message boards : BOINC Manager : Idea - GPU select option. (Message 61391)
Posted 4 Apr 2015 by Profile Crashguard303
Post:
I'm not quite sure, because a.t.m. I've only got 1 GPU running and deactivated onboard graphics.

But as far as I remember, you can set which application can use which GPU by NVIDIA System settings:
1.: Right click on the Desktop (just the background, no icon or so). A list will appear
2.: Select "NVIDIA Sytem settings" from list (green NVIDIA symbol). A Popup Window will appear.
3.: Go to the Left Panel: Select "3D-Settings".
4.: Go to the Right Panel: Select "Programm Settings" Tab (not Global!). This will show most known games & apps.
5.: Probably, you will now have to add the BOINC.exe to the app list, then select it to change it's options.
6.: When BOINC.exe is selected, in the scrollable window below is an option "CUDA GPUs" (which is set to "all" by default, that's the key!). Just check the GPU you want to use for BOINC.
7.: Then you'll have to select the game and assign the other GPU to it.

I know, that this will only help for the situation "BOINC + game running simultaneously".
But I don't know if you can set a dynamic use (use 2 GPU for BOINC as long as no game is running) this way.

What you could test with NIVIDIA settings is:
Allow BOINC to use 2 GPUs, allow the game just to use 1 specific GPU.
Maybe this way the game will "borrow" 1 GPU from the 2 GPUs used by BOINC when it is started.

So, maybe at first try, assigning just 1 instead of all GPUs for the game is done more quickly (because most games are in the list, BOINC has to be added).
15) Message boards : GPUs : GPU Throttle? (Message 61387)
Posted 4 Apr 2015 by Profile Crashguard303
Post:
@Neil:
It was an old ATI Radeon which I burned, too. (AGP 8x).

30°C is pretty good.
I'm not up-to-date, but as far as I can remember, 60°C for CPU and 70°C for GPU are critical.
...or was it vice versa?

A friend (who sells PC Hardware) told me, that some cards are not made to run on full workload for 24/7.

Keep this in mind:
GCs which are usable for BOINC have programmable shaders, so they are mainly designed for 3D-games.

In 3D games, the GPU workload raises with the the number of objects which have to be rendered. In scenes with few objects, the card has some time to chill.

Plus, most games cap the framerate to the refresh rate of the monitor (you can also force this by activating Vsync).
This means that the card COULD render more frames, but it doesn't, because it makes no sense to calculate more frames than the monitor does show.

If I cap my new card in old games to 60FPS, I hardly hear it's fan noise.
If I "unleash" the card and deactivate FPS-capping, it generates about 600fps and makes noise like a hovercraft.
So, this it what BOINC does.

What I've noticed, that even if cooling does work good, a 24/7 full-load makes the fan's bearings wear off faster.
I guess, this was the actual reason, why my old GC got toasted.

Would be cool if BOINC had separate settings for running & pause time (in minutes) for CPU and GPU each, resulting 4 parameters instead of 1 in percent.
This CPU-time-in-percent thingy causes a wobbling fan noise, so the fan is periodically braked and accelerated in a short intervall.

With these 4 time parameters, you won't have to care about hardware readout.
16) Message boards : GPUs : GPU Throttle? (Message 61366)
Posted 3 Apr 2015 by Profile Crashguard303
Post:
If your CPUs don't have cooling problems, you can set them to "run always" and just uncheck this option for GPU,
so the script will only interrupt GPU usage periodically to give it a break.
17) Message boards : GPUs : GPU Throttle? (Message 61365)
Posted 3 Apr 2015 by Profile Crashguard303
Post:
Same here, I burned a Graphics Card some years ago (on a weekend when I wasn't at home).
So at the moment I've only let GPU-applications work when I was looking after the PC.

Now, I've found a workaround using an AutoHotkey script:
As you can stop BOINC's CPU and GPU usage when the PC is used,
the script simulates this by "moving the mouse 1 pixel up" periodically,
giving CPU & GPU some time to chill.

To do this, you'll have to:
1. Install AutoHotkey
2. Create a AHK-Script with text-editor (e.g. "MouseBump.AHK)
3. Write something like this in the file:
; each x minutes mouse 1 pixel up
If ProcessExist("boinc.exe"){

  ;suspend same as in BOINC:
  sleep 60000

  ;repeat this:
  loop {
       ;after 5 minutes:
       sleep 300000

       ;"use PC":
       MouseMove, 0, -1, 0, R

       ;suspend same as in BOINC:
       sleep  60000
  }
}

;function which checks if BOINC is running (used above):
ProcessExist(Name){
  Process,Exist,%Name%
  return Errorlevel
}


This will check if BOINC is running.
If so, it waits 1 minute (60,000ms) and then starts the following loop:
1. wait 5 minutes (300,000ms)
2. move mouse 1 pixel up (so BOINC "thinks" PC is in use)
3. wait 1 minute (60,000ms) to let boinc continue it's work.

You can change the sleep values as you like.
The value which appears double (sleep 60000 = 1 minute) should be the same you've set in BOINC at "Suspend work if no mouse/keyboard activity in last X Minutes".
18) Message boards : BOINC client : My Wish List (Message 42463)
Posted 6 Feb 2012 by Profile Crashguard303
Post:
It's more an optical issue, but BOINC should only recalculate the remaining time of an application, if the percentage value did change.
If not, it should simply subtract one second per second.

This would prevent the remaining time counting upwards while percentage doesn't change, and would be useful for projects where the finished percentage values change rarely.

And I think, this is not that hard to implement.
19) Message boards : BOINC Manager : My Wish List - 2 (Message 20320)
Posted 16 Sep 2008 by Profile Crashguard303
Post:
You can achieve this by setting the "Switch between applications every ..." time to some large number, at least larger than the longest-lasting WU.

Peter


Good idea, thanks!
Now I did so.

Alex
20) Message boards : BOINC Manager : My Wish List - 2 (Message 20288)
Posted 16 Sep 2008 by Profile Crashguard303
Post:
A similar wish as Eibwen did:

If the remaining time (not percentage) of a WU is lower than x, this WU should be calculated first (in some applications it´s called "endgame mode").

x could be the same time as selected in the BOINC Manager at Advanced/Preferences/Processor usage/"switch between applications each x Minutes".

So it will be good, if there were a checkbox beneath this option.

The reason is that in contrast to my home-PC, which is running for 24/7, I´ve got some remote PCs at my family, where the Computers are not used regularly.

So it can happen, that there are some WUs with a remaining time of only some minutes, and BOINC "thinks" it´s okay, because the deadline of these WUs is some days later, and calculates for other projects.

Then the PC is turned off (at the weekend for example), and isn´t used for some days, so the deadline is reached and the almost-finished-WUs are worthless.

regards,
Alex

Edit:
An easier way:
There should be a way to disable the application-switching by setting the "switch-time" to zero.


Next 20

Copyright © 2023 University of California. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.