Posts by Sandman192

1) Message boards : Questions and problems : BOINC seems to tell any V-Box project not to run on this machine. (Message 113800)
Posted 28 days ago by Sandman192
Post:
Well can do find out if it will work since LHC ran out of (ATLAS) work.
And Rosetta python projects I'm guessing is for V-Box is out as well.

Well dam, I can't test if it worked or not.
2) Message boards : Questions and problems : BOINC seems to tell any V-Box project not to run on this machine. (Message 113798)
Posted 29 days ago by Sandman192
Post:
Wow, from what you told me I have to make my PC variable to attacks to get VM work to work.
Everything you say is not all of this is in the FAQ at all and you giving me all this NEW intonation now seems off.

NEVER HAD A PROBLEM WITH RUNNING ON WIN 10 on Intel. Just made sure the BIOS had Virtual enabled and off it went.
Now I have to go through all the hops to try to get it to run.

The notification that told me VirtualBox jobs require hardware acceleration support doesn't show up any more and nothing in the logs show any errors.
I would think that the log would always come up with the error. Expressly after each startup of BOINC.

OK I'll try it your way and if it still doesn't or does work I'll still go back and change my settings back and NOT make my computer variable and just not use VM work ever again.

Add #5.
Another possible reason if you run BOINC inside a VirtualBox guest.
To forward hardware virtualization to the guest this option must be ticked in the VirtualBox GUI:
System -> Processor -> Enable Nested VT-x/AMD-V

This right here I could not figure out but why can't BOINC do all of that in V-Box?
3) Message boards : Questions and problems : BOINC seems to tell any V-Box project not to run on this machine. (Message 113758)
Posted 11 Mar 2024 by Sandman192
Post:
LHC and Rosette will not grab any V-Box work and won't tell me why.
I checked all LHC and Rosette FAQs and done some of what it needs and got no were.
I CAN run Mint and DOS under Windows V-Box. So AMD-V is enabled.
If there's a log that I can enable to help me find out why it won't run any V-Box work.
I used the BOINC bundle. Note: Some one told me it could be WSL but uninstalled and that's not the case. Hyper-V is not installed.
3/10/2024 8:58:57 PM | | Starting BOINC client version 7.24.1 for windows_x86_64
3/10/2024 8:58:57 PM | | log flags: file_xfer, sched_ops, task
3/10/2024 8:58:57 PM | | Libraries: libcurl/8.2.1-DEV Schannel zlib/1.2.13
3/10/2024 8:58:57 PM | | Data directory: E:\ProgramData\BOINC
3/10/2024 8:58:57 PM | | Running under account Sandman192
3/10/2024 8:58:57 PM | | CUDA: NVIDIA GPU 0: NVIDIA GeForce GTX 1080 Ti (driver version 551.76, CUDA version 12.4, compute capability 6.1, 11264MB, 11264MB available, 12064 GFLOPS peak)
3/10/2024 8:58:57 PM | | CUDA: NVIDIA GPU 1: NVIDIA GeForce GTX 980 (driver version 551.76, CUDA version 12.4, compute capability 5.2, 4096MB, 4096MB available, 4979 GFLOPS peak)
3/10/2024 8:58:57 PM | | OpenCL: NVIDIA GPU 0: NVIDIA GeForce GTX 1080 Ti (driver version 551.76, device version OpenCL 3.0 CUDA, 11264MB, 11264MB available, 12064 GFLOPS peak)
3/10/2024 8:58:57 PM | | OpenCL: NVIDIA GPU 1: NVIDIA GeForce GTX 980 (driver version 551.76, device version OpenCL 3.0 CUDA, 4096MB, 4096MB available, 4979 GFLOPS peak)
3/10/2024 8:58:57 PM | | OpenCL: AMD/ATI GPU 0: AMD Radeon(TM) Graphics (driver version 3608.0 (PAL,LC), device version OpenCL 2.0 AMD-APP (3608.0), 14508MB, 14508MB available, 563 GFLOPS peak)
3/10/2024 8:58:59 PM | | Windows processor group 0: 16 processors
3/10/2024 8:58:59 PM | | Host name: Sandman192
3/10/2024 8:58:59 PM | | Processor: 16 AuthenticAMD AMD Ryzen 7 7700X 8-Core Processor [Family 25 Model 97 Stepping 2]
3/10/2024 8:58:59 PM | | Processor features: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 htt pni ssse3 fma cx16 sse4_1 sse4_2 movebe popcnt aes f16c rdrandsyscall nx lm avx avx2 sse4a osvw wdt topx page1gb rdtscp fsgsbase bmi1 smep bmi2
3/10/2024 8:58:59 PM | | OS: Microsoft Windows 11: Professional x64 Edition, (10.00.22631.00)
3/10/2024 8:58:59 PM | | Memory: 27.62 GB physical, 56.62 GB virtual
3/10/2024 8:58:59 PM | | Disk: 2.73 TB total, 2.19 TB free
3/10/2024 8:58:59 PM | | Local time is UTC -5 hours
3/10/2024 8:58:59 PM | | WSL detected:
3/10/2024 8:58:59 PM | | [Ubuntu-22.04] (default): Linux Ubuntu (Ubuntu 22.04.3 LTS [4.4.0-22621-Microsoft])
3/10/2024 8:58:59 PM | | VirtualBox version: 7.0.6
3/10/2024 8:58:59 PM | | Config: use all coprocessors
3/10/2024 8:58:59 PM | | Config: open console window for VirtualBox applications

I get this in my notification "VirtualBox jobs require hardware acceleration support. Your processor does not support the required instruction set".
4) Message boards : Questions and problems : Can't get virtual work. (Message 113663)
Posted 22 Feb 2024 by Sandman192
Post:
From Google AI answer you also need to enable IOMMU in the UEFI along with virtualization to get Oracle VM Virtual Box to work.

Ok I'll check it out.

IOMMU is set to auto.
I'm setting not to get work except for LHC AND wait.
I've did get work for LHC SSE2 and AVX.
5) Message boards : Questions and problems : Can't get virtual work. (Message 113656)
Posted 22 Feb 2024 by Sandman192
Post:
From Google AI answer you also need to enable IOMMU in the UEFI along with virtualization to get Oracle VM Virtual Box to work.

Ok I'll check it out.
6) Message boards : Questions and problems : Can't get virtual work. (Message 113655)
Posted 22 Feb 2024 by Sandman192
Post:
You have to install and configure cvmfs and install runc.

Not installing anything if LHC didn't install itself. And I don't know what your talking about? And it's not in the FAQ for any cvmfs.
I'm using V-BOX 7.0.6 which is bundled with BOINC 7.24.1.
Running Windows 11. With AMD-V enabled.
V-Box is running other OS just fine.
7) Message boards : Questions and problems : Can't get virtual work. (Message 113653)
Posted 22 Feb 2024 by Sandman192
Post:
Well if you don't know what it is then I have no idea.
The LHC FAQ says nothing about it that I can fine. Just the AMD-V.
8) Message boards : Questions and problems : Can't get virtual work. (Message 113557)
Posted 5 Feb 2024 by Sandman192
Post:
Just to eliminate it from possibilities, how much memory have you allowed BOINC to use?

32 Gigs.
9) Message boards : Questions and problems : Can't get virtual work. (Message 113556)
Posted 5 Feb 2024 by Sandman192
Post:
Just to clarify, this is Rubning Mint within VirtualBox, and trying to get work from within that instance? Or is this something else?

Yes, Mint is running within VirtualBox.
10) Message boards : Questions and problems : Can't get virtual work. (Message 113544)
Posted 4 Feb 2024 by Sandman192
Post:
Can't get virtual work for Rosset or LHC. All I get is 0 New Tasks. I checked they both got task ready to send and I have both to get all work units. I suspend all other tasks just to have BOINC get Virtual work.
The hard pat is I get no message from Event Log on why I can't get Virtual work.
I got Mint to run on VirtualBox.
2/3/2024 7:34:47 PM | | Starting BOINC client version 7.24.1 for windows_x86_64
2/3/2024 7:34:48 PM | | Processor: 16 AuthenticAMD AMD Ryzen 7 7700X 8-Core Processor [Family 25 Model 97 Stepping 2]
2/3/2024 7:34:48 PM | | OS: Microsoft Windows 11: Professional x64 Edition, (10.00.22631.00)
2/3/2024 7:34:48 PM | | No WSL found.
2/3/2024 7:34:48 PM | | VirtualBox version: 7.0.6
2/3/2024 7:34:48 PM | | Config: use all coprocessors
2/3/2024 7:34:48 PM | | Config: open console window for VirtualBox applications
2/3/2024 7:34:48 PM | LHC@home | URL https://lhcathome.cern.ch/lhcathome/; Computer ID 10835631; resource share 100
2/3/2024 7:34:48 PM | Rosetta@home | URL https://boinc.bakerlab.org/rosetta/; Computer ID 6279686; resource share 1000
2/3/2024 7:36:24 PM | Rosetta@home | project resumed by user
2/3/2024 7:36:41 PM | Rosetta@home | update requested by user
2/3/2024 7:36:45 PM | Rosetta@home | Sending scheduler request: Requested by user.
2/3/2024 7:36:45 PM | Rosetta@home | Requesting new tasks for CPU
2/3/2024 7:36:46 PM | Rosetta@home | Scheduler request completed: got 0 new tasks
2/3/2024 7:36:46 PM | Rosetta@home | No tasks sent
2/3/2024 7:36:46 PM | Rosetta@home | Project requested delay of 31 seconds
2/3/2024 7:37:22 PM | Rosetta@home | Sending scheduler request: To fetch work.
2/3/2024 7:37:22 PM | Rosetta@home | Requesting new tasks for CPU
2/3/2024 7:37:23 PM | Rosetta@home | Scheduler request completed: got 0 new tasks
2/3/2024 7:37:23 PM | Rosetta@home | No tasks sent
2/3/2024 7:37:23 PM | Rosetta@home | Project requested delay of 31 seconds
2/3/2024 7:38:01 PM | LHC@home | project resumed by user
2/3/2024 7:38:05 PM | LHC@home | update requested by user
2/3/2024 7:38:09 PM | LHC@home | Sending scheduler request: Requested by user.
2/3/2024 7:38:09 PM | LHC@home | Requesting new tasks for CPU and AMD/ATI GPU
2/3/2024 7:38:19 PM | LHC@home | Scheduler request completed: got 0 new tasks
2/3/2024 7:38:19 PM | LHC@home | No tasks sent
2/3/2024 7:38:19 PM | LHC@home | Project requested delay of 6 seconds
2/3/2024 7:38:29 PM | LHC@home | Sending scheduler request: To fetch work.
2/3/2024 7:38:29 PM | LHC@home | Requesting new tasks for CPU and AMD/ATI GPU
2/3/2024 7:38:38 PM | LHC@home | Scheduler request completed: got 0 new tasks
2/3/2024 7:38:38 PM | LHC@home | No tasks sent
2/3/2024 7:38:38 PM | LHC@home | Project requested delay of 6 seconds
11) Message boards : GPUs : Not all GPUs running. 3 GPUs only 2 running. (Message 112605)
Posted 30 Aug 2023 by Sandman192
Post:
I've got it.
1. I put the command in wrong location.
2. I didn't see the command that was already there.

1. Why is it not on by default.
2. It should be in the option menu or somewhere to select it.

It's running all 3 GPUS.
12) Message boards : GPUs : Not all GPUs running. 3 GPUs only 2 running. (Message 112604)
Posted 30 Aug 2023 by Sandman192
Post:
<cc_config>
<log_flags>
<file_xfer>1</file_xfer>
<sched_ops>1</sched_ops>
<task>1</task>
<app_msg_receive>0</app_msg_receive>
<app_msg_send>0</app_msg_send>
<async_file_debug>0</async_file_debug>
<benchmark_debug>0</benchmark_debug>
<checkpoint_debug>0</checkpoint_debug>
<coproc_debug>0</coproc_debug>
<cpu_sched>0</cpu_sched>
<cpu_sched_debug>0</cpu_sched_debug>
<cpu_sched_status>0</cpu_sched_status>
<dcf_debug>0</dcf_debug>
<disk_usage_debug>0</disk_usage_debug>
<file_xfer_debug>0</file_xfer_debug>
<gui_rpc_debug>0</gui_rpc_debug>
<heartbeat_debug>0</heartbeat_debug>
<http_debug>0</http_debug>
<http_xfer_debug>0</http_xfer_debug>
<idle_detection_debug>0</idle_detection_debug>
<mem_usage_debug>0</mem_usage_debug>
<network_status_debug>0</network_status_debug>
<notice_debug>0</notice_debug>
<poll_debug>0</poll_debug>
<priority_debug>0</priority_debug>
<proxy_debug>0</proxy_debug>
<rr_simulation>0</rr_simulation>
<rrsim_detail>0</rrsim_detail>
<sched_op_debug>0</sched_op_debug>
<scrsave_debug>0</scrsave_debug>
<slot_debug>0</slot_debug>
<state_debug>0</state_debug>
<statefile_debug>0</statefile_debug>
<suspend_debug>0</suspend_debug>
<task_debug>0</task_debug>
<time_debug>0</time_debug>
<trickle_debug>0</trickle_debug>
<unparsed_xml>0</unparsed_xml>
<work_fetch_debug>0</work_fetch_debug>
</log_flags>
<options>
<abort_jobs_on_exit>0</abort_jobs_on_exit>
<allow_gui_rpc_get>0</allow_gui_rpc_get>
<allow_multiple_clients>0</allow_multiple_clients>
<allow_remote_gui_rpc>0</allow_remote_gui_rpc>
<disallow_attach>0</disallow_attach>
<dont_check_file_sizes>0</dont_check_file_sizes>
<dont_contact_ref_site>0</dont_contact_ref_site>
<lower_client_priority>0</lower_client_priority>
<dont_suspend_nci>0</dont_suspend_nci>
<dont_use_vbox>0</dont_use_vbox>
<dont_use_wsl>0</dont_use_wsl>
<exit_after_finish>0</exit_after_finish>
<exit_before_start>0</exit_before_start>
<exit_when_idle>0</exit_when_idle>
<fetch_minimal_work>0</fetch_minimal_work>
<fetch_on_update>0</fetch_on_update>
<force_auth>default</force_auth>
<http_1_0>0</http_1_0>
<http_transfer_timeout>300</http_transfer_timeout>
<http_transfer_timeout_bps>10</http_transfer_timeout_bps>
<max_event_log_lines>2000</max_event_log_lines>
<max_file_xfers>2</max_file_xfers>
<max_file_xfers_per_project>2</max_file_xfers_per_project>
<max_stderr_file_size>0.000000</max_stderr_file_size>
<max_stdout_file_size>0.000000</max_stdout_file_size>
<max_tasks_reported>0</max_tasks_reported>
<ncpus>-1</ncpus>
<no_alt_platform>0</no_alt_platform>
<no_gpus>0</no_gpus>
<no_info_fetch>0</no_info_fetch>
<no_opencl>0</no_opencl>
<no_priority_change>0</no_priority_change>
<no_rdp_check>0</no_rdp_check>
<os_random_only>0</os_random_only>
<process_priority>-1</process_priority>
<process_priority_special>-1</process_priority_special>
<use_all_gpus>1</use_all_gpus>
<proxy_info>
<socks_server_name></socks_server_name>
<socks_server_port>80</socks_server_port>
<http_server_name></http_server_name>
<http_server_port>80</http_server_port>
<socks5_user_name></socks5_user_name>
<socks5_user_passwd></socks5_user_passwd>
<socks5_remote_dns>0</socks5_remote_dns>
<http_user_name></http_user_name>
<http_user_passwd></http_user_passwd>
<no_proxy></no_proxy>
<no_autodetect>0</no_autodetect>
</proxy_info>
<rec_half_life_days>10.000000</rec_half_life_days>
<report_results_immediately>0</report_results_immediately>
<run_apps_manually>0</run_apps_manually>
<save_stats_days>30</save_stats_days>
<skip_cpu_benchmarks>0</skip_cpu_benchmarks>
<simple_gui_only>0</simple_gui_only>
<start_delay>0.000000</start_delay>
<stderr_head>0</stderr_head>
<suppress_net_info>0</suppress_net_info>
<unsigned_apps_ok>0</unsigned_apps_ok>
<use_all_gpus>0</use_all_gpus>
<use_certs>0</use_certs>
<use_certs_only>0</use_certs_only>
<vbox_window>0</vbox_window>
</options>
</cc_config>
13) Message boards : GPUs : Not all GPUs running. 3 GPUs only 2 running. (Message 112602)
Posted 30 Aug 2023 by Sandman192
Post:
Well, it says "ignored by config". so that's the place to start looking. Double-check (proof-read) your cc_config.xml file.

  • Did you put 'use_all...' in the right section (options)
  • is there only one instance of that command (keep them in alphabetical order)
  • Did you restart BOINC after adding that command?

and so on.



I just showed you the command I put down.
<use_all_gpus>1</use_all_gpus>

I did put it in alphabetical order.
And I did restart BOINC after.
I already had the command in and it worked before on a different computer.
14) Message boards : GPUs : Not all GPUs running. 3 GPUs only 2 running. (Message 112590)
Posted 30 Aug 2023 by Sandman192
Post:
I have 3 GPUs.
1 - 1080Ti, 1 - 980 and 1 - Internal GPU on a AMD 7700X
I'm only getting 2 running. The 1080Ti and AMD internal GPU. The 980 is not doing anything. Both work right out of the box.
I can get the 980 to run on 3D Mark so it is posable.
I think BOINC is confuse when have an internal GPU.
I added a command <use_all_gpus>1</use_all_gpus> and still nothing.
BOINC sees all 3 GPUs.
8/29/2023 9:42:19 PM | | Starting BOINC client version 7.22.2 for windows_x86_64
8/29/2023 9:42:19 PM | | log flags: file_xfer, sched_ops, task
8/29/2023 9:42:19 PM | | Libraries: libcurl/8.0.1-DEV Schannel zlib/1.2.13
8/29/2023 9:42:19 PM | | Data directory: E:\ProgramData\BOINC
8/29/2023 9:42:19 PM | | Running under account Sandm
8/29/2023 9:42:20 PM | | CUDA: NVIDIA GPU 0: NVIDIA GeForce GTX 1080 Ti (driver version 537.13, CUDA version 12.2, compute capability 6.1, 11264MB, 11264MB available, 12064 GFLOPS peak)
8/29/2023 9:42:20 PM | | CUDA: NVIDIA GPU 1 (not used): NVIDIA GeForce GTX 980 (driver version 537.13, CUDA version 12.2, compute capability 5.2, 4096MB, 4096MB available, 4979 GFLOPS peak)
8/29/2023 9:42:20 PM | | OpenCL: NVIDIA GPU 0: NVIDIA GeForce GTX 1080 Ti (driver version 537.13, device version OpenCL 3.0 CUDA, 11264MB, 11264MB available, 12064 GFLOPS peak)
8/29/2023 9:42:20 PM | | OpenCL: NVIDIA GPU 1 (ignored by config): NVIDIA GeForce GTX 980 (driver version 537.13, device version OpenCL 3.0 CUDA, 4096MB, 4096MB available, 4979 GFLOPS peak)
8/29/2023 9:42:20 PM | | OpenCL: AMD/ATI GPU 0: AMD Radeon(TM) Graphics (driver version 3570.0 (PAL,LC), device version OpenCL 2.0 AMD-APP (3570.0), 12269MB, 12269MB available, 563 GFLOPS peak)

Just to note, I had both 1080Ti and 980 on a different MoBo with no internal GPU and both ran fine together.
Edit: I just saw that "GPU not used" but why?
Window 11, BOICN 7.22.2[/quote]
15) Message boards : BOINC Manager : Addons that may help make things easier (Message 106827)
Posted 20 Jan 2022 by Sandman192
Post:
1. Projects Tab: Add "Won't get new tasks for all projects" button. But doesn't change Status column for each project that does or doesn't have won't get new tasks. Just gray all projects when selected.
2. Project Tab: Add "Pause CPU only" button to make it so you can pause CPU work but leave GPU work alone and running.
3. Task Tab: Place "Total work units" footer to show all work units running and is stored on computer.
For all Tabs: Place "CPU" "GPU" "Net" = Networking in bottom right footer to show if either of them are paused.
Maybe like it does in WordPad with the Cap for Caps Lock and/or icon. Great to let you know if you forgot that you paused them. Of give us that option to show what we want it to show.
4. Add short cut key to pause all work even if BOINC is not focused. Great if your computer slows to a crawl. Sometimes Taskbar can be unstable at times, and you can't click on anything there or just the hole computer where you can't click on anything to respond, but computer is still running fine, and you want to get back control of the computer. 3 keys should be ok. Times it took so long to get my computer under control. Running to many virtual box work units at once will do that.
16) Message boards : Questions and problems : BOINC will only run 1 GPU when set to less than 10 days of work. (Message 106548)
Posted 27 Dec 2021 by Sandman192
Post:
What DOES it say in the Event Log?

I see nothing that's related to GPU work and why it stopped using the second GPU.

I did the test again. Right now, both GPUs are running and is set for 10 days.

I did a 1-day test and not right away, but it did stop on the second GPU.
I did a 5-day test, and it ran both GPUs for a while and then stopped on the second GPU again.
I went to 7 days, and it ran both GPUs just fine.
I went to 6-day test, and it ran both GPUs again and then stopped on the second GPU stopped again.

So, no lower than 7 days of extra work or it will just stop working on the second GPU.
17) Message boards : Questions and problems : BOINC will only run 1 GPU when set to less than 10 days of work. (Message 106525)
Posted 26 Dec 2021 by Sandman192
Post:
Have you set

<use_all_gpus>1</use_all_gpus>
in cc_config.xml?

Does BOINC list both GPUs in the event log at startup, without saying that the second is unused?


It is on. I told you it was running all GPUs and only stopped if I go to anything less than 10 days of work. Setting it back to 10 days starts running all GPUs. That is very odd indeed.
18) Message boards : Questions and problems : BOINC will only run 1 GPU when set to less than 10 days of work. (Message 106497)
Posted 24 Dec 2021 by Sandman192
Post:
I have 2 GPUs, a 1080 and a 980 and when I set "day of work to 0.5, 1 or 2 days BOINC will only run just the 1080 only and will never run any work on the 980. And I still have at least 50 GPUs WUs waiting when it was set to 10 days but setting BOINC to 0.5, 1 or 2 days it will stop using the 980.

Assine GPU work.
Einstein
Moo Wrapper
All of Prime
Milkyway
Collatz


Windows 10, BOINC v7.16.20
19) Message boards : Questions and problems : GPU tasks skipped after scheduler overcommits CPU cores (Message 104586)
Posted 17 Jun 2021 by Sandman192
Post:
If you reduce your work cache size, you will never have tasks going into EDF mode and pre-empting other projects. Then the client can work as it is supposed to and obey project resource shares.

Also the <rec_half_life_days>X</rec_half_life_days> value is a legacy from cpu only project days and doesn't compensate for gpu work.


Reducing cache size does nothing.
Still same results.
20) Message boards : Questions and problems : GPU tasks skipped after scheduler overcommits CPU cores (Message 103725)
Posted 28 Mar 2021 by Sandman192
Post:
You probably pushed up the priority of the other projects by being locked into working on TN-Grid for so long by deadline pressure. It will return to normal gradually, but over a period of several days.

See the Configuration Options page of the User Manual. Try setting the line

<rec_half_life_days>X</rec_half_life_days>
A project's scheduling priority is determined by its estimated credit in the last X days. Default is 10; set it larger if you run long high-priority jobs.
to something much smaller: one day, instead of the default 10, would sort things out quicker.

If I had to edit a setting to make it work then it's a bug if that setting is by default and not working as devs intended then it's a BUG. Does that stand for 10 days of extra work? If so then changing it from the BOINC options doesn't work. I've tried. 1 day, 10 days, nothing.
It's not just TN-Grid. WCG is the same way. Just now I have it set to get more work for WCG. And as soon as the other projects are done... All I'll get is WCG and nothing else. I've done this twice already. Never had this problem until I updated BOINC. For years... Ever since BOINC came out I had 20 projects and all 20 projects were "waiting to run". Now 1 project is "waiting to run" when WGC or TN-Grid is added. 10 days or 1. Does not matter.

I'm not changing any settings. I here to report a bug. The point is if I had to change settings every time I updated BOINC then why? That's when I notice problems.

P.S. Note: I had no work at all "waiting to run". So I added Milky Way only for GPU work. And all it did is run 1 of my 2 GPUs installed. Adding another project like Moo Wrapper into it and Milky Way started on the second GPU just fine???😲 And only after I added another GPU project.


Next 20

Copyright © 2024 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.