Posts by Kellen

51) Message boards : Number crunching : Countermeasures for Increased CPU Time (Message 1020)
Posted 13 Dec 2018 by Kellen
Post:
You can use a smaller kernel size to reduce VRAM usage and run more tasks if you are not at 100%. Try 10 tasks with kernel size 22 and 1 full CPU core dedicated to each task and this should clear up the bottleneck if your card isn't at 100%. You can try kernel size 21 as well if too much memory is used.

The critical thing is to dedicate 1 CPU core to each task and don't run other stuff on the CPU.
52) Message boards : Number crunching : Countermeasures for Increased CPU Time (Message 1002)
Posted 27 Nov 2018 by Kellen
Post:
Hi Jozef,

As we get closer to the end of the project I think that it may be possible for Sergei to reduce the memory requirements (but I am no expert so he would have to confirm it). Right now, the prime tables up to ~1.414*10^10 are being loaded into memory, however the calculations may not require the entire prime table for this range anymore and this table is the majority of the VRAM requirement as far as I know.

Happy crunching!
53) Message boards : Number crunching : Countermeasures for Increased CPU Time (Message 1001)
Posted 27 Nov 2018 by Kellen
Post:
Hi Azmodes,

As far as I know there is no way to tell BOINC to send different numbers of tasks to different GPUs, but this may be possible with the cc_config file, which you can use to specify which GPUs are used for specific jobs or at all. I am not familiar with the cc_config files though. Here is the link to the cc_config page for BOINC though in case you want to try things out; [url]https://boinc.berkeley.edu/wiki/Client_configuration [/url]

Good luck!
54) Message boards : Number crunching : Countermeasures for Increased CPU Time (Message 1000)
Posted 27 Nov 2018 by Kellen
Post:
Hi All,

Thank you for your comments. Your utilization issue is very interesting Matt and highlights a potential difference between AMD and Nvidia cards. My Nvidia cards do not show a decrease in utilization until CPU time is 90% of Run Time or higher. Right now your CPU time is about 1/10th of the Run Time when running two concurrent tasks, so about 1/5 of a CPU core used per GPU. On Nvidia cards this would not cause a decrease in utilization, however AMD appears to handle these tasks differently. This may mean that AMD cards will require even more concurrent tasks to maintain full utilization.

Azmodes and Jozef's cases are somewhat different in that the utilization will decrease when 1 CPU core is no longer capable of feeding prime numbers to 1 GPU. When that happens it will be necessary to run multiple tasks per GPU and to dedicate more than 0.5 CPU cores to each one. The goal of adding more tasks is to increase the CPU cores to GPUs ratio. Running 2 concurrent tasks with 0.5 CPU cores each is the same as running 1 task with 1 CPU core. Running 3 concurrent tasks with 0.5 CPU cores each is a 1.5:1 ratio, so utilization will be improved. With that said though, BOINC handles fractional CPU usage strangely, so even if you specify 0.5 cores, it may end up using more than that, so it may give the appearance that 2 tasks with 0.5 cores is an improvement over 1 task with 1 core, but that is illusory.

Ultimately; my suggestion (as it is what I do) is to always dedicate 1 CPU core per task and wait until this is insufficient to maintain full GPU utilization and then just add another task. This will make sure that you are not running a greater number of tasks than necessary as, like Jozef pointed out, memory usage will increase with each added task.

I checked Azmodes' computer and noticed that at 9:25 UTC today the config file was updated. Looks like you've gone from 1 task every ~220s to 2 tasks every ~330s, which is a 50% increased throughput! Nice!!

Jozef; your computer still looks like it is CPU bound, as the CPU Time and Run Time of each task is identical. If you want to get full utilization, it is probably time for 3 tasks ;)
55) Message boards : Number crunching : Countermeasures for Increased CPU Time (Message 994)
Posted 27 Nov 2018 by Kellen
Post:
Greetings All,

I am sure that many of you have noticed that the ratio of CPU time to run time for each task has been steadily increasing. The reason for this is that each task requires all of the prime numbers in an ever-growing range to be calculated, and this calculation can only be performed by the CPU.

As we approach the end of the project the CPU time for each task will continue to increase, and once it reaches the run time for a given task, you will notice that your GPU utilization begins to decrease. If you would like to keep GPU utilization high, you will need to run more than 1 task per GPU at some point. For owners of any Nvidia Turing (RTX 20-series) or Volta cards, the utilization issue has existed for a week or more already, and we are fast approaching the time when GTX 1080ti and other high performance cards will be affected.

Eight days ago I switched to 2 concurrent tasks on my RTX 2070 and utilization is now hovering around 98%, but slowly beginning to decrease. Once it reaches ~85% I will begin running 3 concurrent tasks.

To determine GPU utilization you can use Hardware Info 64 (https://www.hwinfo.com/download/), GPU-Z (https://www.techpowerup.com/gpuz/) or any other software you prefer.

Below I have put some directions together for how to run multiple tasks on a GPU and some general guidelines for how many concurrent tasks are likely required to get full utilization on some common GPUs. Keep in mind that this number will be affected by your CPU speed, CPU cache size, RAM speed, number of cores you are using, whether hyperthreading or SMT is enabled on your CPU, etc. They are very general, but should be in the right ballpark.

To run two tasks concurrently, make a file called app_config.xml (make a text file, then change the extension to .xml from .txt) in your Amicable Numbers data directory (on Windows the default location is C:\ProgramData\BOINC\projects\sech.me_boinc_amicable\). Put the following text in it and save the file;

<app_config>
<app>
<name>amicable_10_20</name>
<gpu_versions>
<gpu_usage>0.5</gpu_usage>
<cpu_usage>1</cpu_usage>
</gpu_versions>
</app>
</app_config>

Make sure that the file is a true .xml file and not just a .txt file with “app_config.xml” as the name. To make sure this is the case, show file name extensions in the folder (instructions here; http://kb.winzip.com/kb/entry/26/)

Once that is saved, select the Options menu in BOINC and click "Read Config Files" and two units should start running at the same time. Each unit will get a full CPU core and half of the GPU.

To run more than two tasks, keep decreasing the <gpu_usage> value. To run 3 tasks, use 0.33, 4 tasks will use 0.25 and 5 tasks will use 0.2, etc. Everything else should stay the same. This will tell BOINC to dedicate 1 CPU core and a defined fraction of the GPU to a given task.

Currently, the following number of concurrent tasks is likely required to have full GPU utilization. Again, this is just a general guideline and will vary significantly from computer to computer; checking GPU utilization will be the best way of knowing how many tasks are required. I know very little about AMD cards, so if someone has AMD guidelines, please feel free to post.

  • Titan V/ RTX 2080 ti - 3-4 tasks
  • RTX 2080 - 3 tasks
  • RTX 2070 - 2 tasks
  • GTX 1080 ti - 1 task
  • GTX 1080/GTX 1070 ti - 1 task
  • GTX 1070 - 1 task
  • GTX 1060 - 1 task
  • GTX 1050 ti - 1 task
  • GTX 1050 - 1 task
  • GT 1030 - 1 task

56) Message boards : Number crunching : Computation error (Message 990)
Posted 23 Nov 2018 by Kellen
Post:
Hi flallnatural,

When we started the new large prime search this also started happening to my computers. I have not found any way around it other than to make sure that any given task completes before I suspend BOINC work. When I want to use my computer I select "No New Tasks" for Amicable Numbers on the Projects tab in BOINC and just wait for the ones I have downloaded to finish. I run BOINC with zero buffer, so this is, at most, two tasks. As your buffer is somewhat larger, you can do the same thing, selecting No New Tasks on the Projects tab, then suspend all of the Amicable Numbers tasks that are not currently running, and wait out the one that is running. Your computer seems to be taking approximately 900 seconds to complete each task, so the most you would have to wait is 15 minutes. The perfect amount of time to make a nice cup of tea and a slice or two of toast :)

I know this isn't the solution you are looking for, but I hope it helps anyway.

Regards,
Kellen
57) Message boards : Number crunching : Amicable Numbers has slowed down (Message 988)
Posted 18 Nov 2018 by Kellen
Post:
Hi Jozef,

Glad to hear that you got it working! I looked at your tasks and you are averaging about 88 seconds now, which is probably very close to 100% utilization. It won't be too long before utilization starts to drop and you need 3 tasks though; probably by the end of November.

Thank you for the link and power consumption tips as well. I think that I have used my computer parts budget for 2018 though, so maybe I will get one next year :)

Regards,
Kellen
58) Message boards : Number crunching : Amicable Numbers has slowed down (Message 986)
Posted 18 Nov 2018 by Kellen
Post:
Hi Jozef,

I am not home right now so I can't upload a file, but it sounds like the issue you are having is probably related to the file extensions being hidden and that you have a text file with ".xml" in the name, rather than having an .xml file. To fix this; in any folder window in Windows 10 click the "View" tab and make sure that the boxes for "File Name Extensions" and "Hidden Items" are checked. This will let you see the file extension so that you can change it to app_config.xml and also so that you can see the Program Data folder to get to the Amicable Numbers data directory, which should be located at C:/ProgramData/BOINC/projects/sech.me if I remember correctly.

In case my instructions are poor, I found a link to show what to click on to show file extensions.

http://kb.winzip.com/kb/entry/26/

Regards,
Kellen
59) Message boards : Number crunching : Amicable Numbers has slowed down (Message 984)
Posted 18 Nov 2018 by Kellen
Post:
Hi Jozef,

I do not think that the kernel size will help anymore. I have not gone through all of the code in detail, however it is my understanding that the issue now is that the CPU must determine all of the prime numbers over a very large range of values and that range of values will continue to get larger towards the end of the project. Sergei would be able to confirm it, but I suspect that the only way to increase GPU utilization from now on will be to run more tasks concurrently.

Running multiple tasks will solve the problem for now and Sergei may have other solutions to the low utilization, but I am not familiar enough with the code to figure out anything else.

Regards,
Kellen
60) Message boards : Number crunching : Amicable Numbers has slowed down (Message 982)
Posted 18 Nov 2018 by Kellen
Post:
Hi Jozef,

As we approach the end of the project the CPU time for each task will continue to increase, and for that reason you will need to run more than 1 task per GPU to reach full utilization. I switched to 2 concurrent tasks on my RTX 2070 today as the GPU utilization was down to 94%. The utilization went up to 99%-100% and now I am doing two tasks every 295 seconds instead of 1 task every 153 seconds, or a 3.7% increase in throughput.

I looked at your tasks and you can see that the CPU time and the Run Time for most of them are the same. This means that the Run Time is being limited by the CPU and not using the GPU completely.

To run two tasks concurrently, make a file called app_config.xml (make a text file, then change the extension to .xml from .txt) in your Amicable Numbers data directory and put the following text in it;

<app_config>
<app>
<name>amicable_10_20</name>
<gpu_versions>
<gpu_usage>0.5</gpu_usage>
<cpu_usage>1</cpu_usage>
</gpu_versions>
</app>
</app_config>

Once that is in there, select the Options menu in BOINC and click "Read Config Files" and two units should start running at the same time. Each unit will get a full CPU core and half of the GPU.

Once CPU usage becomes about 80-90% of the total run time of a task, then the GPU utilization will probably start to decrease. If that happens, then you can change the <gpu_usage> line to make more tasks run. 0.33 would be 3 tasks, 0.25 would be 4 tasks, 0.2 would be 5 tasks, etc. Just be aware that each task will use additional memory. At this time, each task is approximately 1400MB GPU memory, so 5 tasks would be 7GB.

Based on the potential total performance of your GPU compared to mine, 2 tasks might not be enough to fully utilize the RTX 2080ti and you may have to run 3 to get full use. The number of required tasks will continue to increase until the end of the project.

Hope this helps.

Regards,
Kellen
61) Message boards : Number crunching : Massive Improvement to Runtimes With New Nvidia Driver (Message 852)
Posted 28 May 2018 by Kellen
Post:
Evening Folks,

Just wanted to let everyone know that after updating to the most recent Nvidia drivers my runtimes dropped by 80 seconds on my GTX 1080s (from ~550s to ~470s). It had been a while since updating so I don't know when this improvement happened, but if you haven't updated in a while, now might be a good time :)

Regards,
Kellen
62) Message boards : Random stuff : Project Status Page (Message 810)
Posted 29 Apr 2018 by Kellen
Post:
That was fast! Thanks!
63) Message boards : Random stuff : Project Status Page (Message 808)
Posted 29 Apr 2018 by Kellen
Post:
Good day Sergei,

The project status page does not seem to have been updated for a while today, about 9 hours or so since last update, and occasionally I am getting the error message "Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 4096 bytes) in /home/boincadm/boinc/amicable/html/user/server_status.php on line 402" when refreshing the page.

Just figured I'd let you know :)

Regards,
Kellen
64) Message boards : News : GPU version fix (Message 780)
Posted 27 Mar 2018 by Kellen
Post:
Well, I'm glad this was caught early! 20 days is a lot better than 200 days :)

Is this bug the reason for the semi-random work unit runtimes lately?
65) Message boards : Random stuff : Command Line Change (Message 758)
Posted 7 Mar 2018 by Kellen
Post:
Thank you for the description of what is happening and for the lightning fast response. I look forward to seeing how many amicable numbers are found in this portion of the search :)

Regards,
Kellen
66) Message boards : Random stuff : Command Line Change (Message 756)
Posted 7 Mar 2018 by Kellen
Post:
Hi Sergei,

I noticed the command line changed today. The previous command line was pretty self-explanatory. Just wondering what the new command does. Here is an example of one of mine:

/lpr 14196036660 14196089144 /task_size 399970106980

Thank you,
Kellen
67) Message boards : News : Credit badges for 100, 200 and 500 thousand total credit (Message 736)
Posted 14 Feb 2018 by Kellen
Post:
Hi Allen,

There are badges for number of pairs found actually :) The first one is at 100 pairs, then 200, 500, 1000, etc.

Best of luck in your search for pairs!

Regards,
Kellen
68) Message boards : News : The search up to 10^20 (Message 709)
Posted 20 Jan 2018 by Kellen
Post:
What would the RAM requirement be for the search to 10^21? I would guess that it wouldn't quite be a 10x jump to 15GB, but it could still be quite substantial.

The memory required is O(sqrt(N)), so it will not be a 10x jump:
CPU version would require ~1400 MB of memory.
GPU version would require ~3700 MB of GPU memory.

Great! Thank you for the quick reply! That is better than I thought. 3700MB for GPU would still leave a large portion of GPUs capable of participating and only 1400MB for CPU is quite low so I doubt anyone would be left out of the search up to 10^21 if it occurs.
69) Message boards : News : The search up to 10^20 (Message 706)
Posted 19 Jan 2018 by Kellen
Post:
One more sad Boincer here. I have to give up my Amicable Numbers contribution because of the 2GB memory requirement. Is this because the computing becomes more complex now? Or can we expect this limit getting lower again somewhere in the future?

The algorithm has to store and use all prime numbers up to square root of N*2 where N is the search limit. After we switched to 10^20, this prime numbers table requires ~1208 MB alone, other internal buffers also increased in size a bit, so the program doesn't even fit in 1.5 GB anymore.


What would the RAM requirement be for the search to 10^21? I would guess that it wouldn't quite be a 10x jump to 15GB, but it could still be quite substantial.
70) Message boards : Bug tracker : Many computation errors (Message 682)
Posted 5 Dec 2017 by Kellen
Post:
Hi Hal5000,

I had this problem as well with this project and others and have found that by making sure only BOINC is running and by putting my GPU into debug mode that I get very few now.

To put your GPU in Debug Mode; right click on your desktop and select Nvidia Control Panel. In the Help Menu you can enable debug mode.

In the system tray, try to close all programs that are running too. I've found that running any games (even RPG Maker games) or watching YouTube or even just light Web browsing can cause these errors to occur.

Hope this helps and best of luck!


Previous 50


©2024 Sergei Chernykh