Message boards :
Number crunching :
Intel GPU memory allocation
Message board moderation
Author | Message |
---|---|
HAL9000 Send message Joined: 11 Sep 99 Posts: 6534 Credit: 196,805,888 RAC: 57 |
I recent purchased a 2nd i5-4670K to replace my aging HTPC. In configuring the UEFI/BIOS I cam across Internal Graphics Memory Size. Which I can configure from 32MB to 1024MB. It defaults to 64MB & I have it set there. GPUz shows the dynamic memory usage while crunching to be ~157MB. Both of my machines, 5837483 & 5255585, are using PEG for the primary display & seem to be humming along just fine set to 64MB. However, I wonder if I should increase this or not bother. SETI@home classic workunits: 93,865 CPU time: 863,447 hours Join the [url=http://tinyurl.com/8y46zvu]BP6/VP6 User Group[ |
Sutaru Tsureku Send message Joined: 6 Apr 07 Posts: 7105 Credit: 147,663,825 RAC: 5 |
To now I have no knowledge about CPUs with graphic inside. It looks strange, in BIOS you set 64MB and GPU-Z say 157MB usage. Maybe the first 64MB comes from the reserved system-RAM and the 93MB competes with all other work on the whole system-RAM - and maybe will slow down the crunching. If it would be my machine, I would set the 1024MB in BIOS, if enough system-RAM is installed for your other work. You could test it and look if the crunching times will be shorter. |
HAL9000 Send message Joined: 11 Sep 99 Posts: 6534 Credit: 196,805,888 RAC: 57 |
It does seem that the internal GPU is using however much system RAM it needs. I am thinking that the setting is just a limit so that the system does not use all free RAM. Then leave non for GPU. I guess with 16GB in the system & the tasks the systems are running I would never run into this issue. If that is the case I think perhaps I should at least set it to 256MB to avoid any issue, but if it is not needed to be increased I see it as wasteful. SETI@home classic workunits: 93,865 CPU time: 863,447 hours Join the [url=http://tinyurl.com/8y46zvu]BP6/VP6 User Group[ |
Cruncher-American Send message Joined: 25 Mar 02 Posts: 1513 Credit: 370,893,186 RAC: 340 |
... I see it as wasteful. Well, odds are you will NEVER come even close to using 16GB at once, no matter what you are doing. I have used 4GB on my SETI machines with 4/8 cores and 2 cards running 3 tasks each and never come close to using the 4GB up. So is it wasteful to have 16GB? Yes it is, but it is pretty cheap, so...? Or, as a great philosopher once said, "Don't sweat the small stuff" |
OzzFan Send message Joined: 9 Apr 02 Posts: 15691 Credit: 84,761,841 RAC: 28 |
The setting for Internal Graphics Memory Size is the amount system RAM to set aside as base video memory. Nearly all integrated GPUs will utilize extra system memory if not enough base memory exists (I believe this is called NUMA, which allows the CPU and GPU to use the same pool of memory as if it's one large shared pool). The setting merely ensures that the GPU always has at least X amount of system RAM (in your case, you left it at the default of 64MB). |
OzzFan Send message Joined: 9 Apr 02 Posts: 15691 Credit: 84,761,841 RAC: 28 |
... I see it as wasteful. I don't know about "no matter what you are doing"... I've done some home video editing that has used ~8-12GB of RAM, and when combined with everything else I'm doing on the system, total RAM usage can be as high as 16GB. Also, when using 64bit 7-Zip to compress large amounts of data, I've seen it use (depending on what settings I select) up to 22GB or more of RAM. So is it wasteful to have 16GB? Yes it is, but it is pretty cheap, so...? Agreed. That's why I threw in 32GB of RAM in my daily cruncher. I use the extra RAM in various other applications. I was even able to find 32GB of RAM for my Core 2-based Xeon server for $100 on eBay. Comes in quite handy as a fast cache for my file server. |
Raistmer Send message Joined: 16 Jun 01 Posts: 6325 Credit: 106,370,077 RAC: 121 |
... I see it as wasteful. This reminded me early days excessive RAM memory usage as RAM-drive. Interesting, will some software appear that allows to use part of GPU-memory as RAM-drive for system speedup? Perhaps such memory (though slower than usual RAM because of PCIe access) will be faster than SSD and much more suited for constant re-wites... EDIT: I'm speaking about discrete GPUs memory, of course. SETI apps news We're not gonna fight them. We're gonna transcend them. |
HAL9000 Send message Joined: 11 Sep 99 Posts: 6534 Credit: 196,805,888 RAC: 57 |
... I see it as wasteful. I think you misunderstood my use of "wasteful". Wasteful to allocate resources when not needed. I don't have "SETI machines" I have machines I use that also run SETI@home. One of these two systems is my gaming machine and the other is my HTPC. SETI@home classic workunits: 93,865 CPU time: 863,447 hours Join the [url=http://tinyurl.com/8y46zvu]BP6/VP6 User Group[ |
HAL9000 Send message Joined: 11 Sep 99 Posts: 6534 Credit: 196,805,888 RAC: 57 |
The setting for Internal Graphics Memory Size is the amount system RAM to set aside as base video memory. Nearly all integrated GPUs will utilize extra system memory if not enough base memory exists (I believe this is called NUMA, which allows the CPU and GPU to use the same pool of memory as if it's one large shared pool). The setting merely ensures that the GPU always has at least X amount of system RAM (in your case, you left it at the default of 64MB). I haven't thought of NUMA in the sense of the video and CPU sharing memory before. Just in multi processor systems, but that does seem about right. I'm not sure if BOINC would detected the low memory condition and suspend the task or not. With my HTPC running between ~400-500MB free out of 16GB I think I might need to bump up the value. Rather the system stuff something into swap instead of stuffing a queue of tasks. Setting 256MB should be sufficient. At least for MB work. If/when I do AP on there then I may have to reevaluate the setting again. SETI@home classic workunits: 93,865 CPU time: 863,447 hours Join the [url=http://tinyurl.com/8y46zvu]BP6/VP6 User Group[ |
OzzFan Send message Joined: 9 Apr 02 Posts: 15691 Credit: 84,761,841 RAC: 28 |
I'm not sure if BOINC would detected the low memory condition and suspend the task or not. That all depends... if BOINC queries the GPU for it's available graphics RAM, and the GPU responds with "I have X", with X being more than the base memory you specified in the BIOS, BOINC may simply just go ahead and use it because it was told that there was more memory. |
Raistmer Send message Joined: 16 Jun 01 Posts: 6325 Credit: 106,370,077 RAC: 121 |
Would be nice to find any differences between BIOS-allocated and driver allocated memories. AFAIK both can be pinned so looks like no differences at all. Perhaps the only difference is that BIOS reserved is guarantied to be while driver allocated depends on amount of free system memory at point when driver does allocation. SETI apps news We're not gonna fight them. We're gonna transcend them. |
HAL9000 Send message Joined: 11 Sep 99 Posts: 6534 Credit: 196,805,888 RAC: 57 |
I'm not sure if BOINC would detected the low memory condition and suspend the task or not. It does seem the GPU responds with "I have 1624MB". Looking at other Intel GPU hosts several are also reporting 1624MB, but then there are others reporting 728MB or 1496MB. What number they are using I don't know. Perhaps just the max allowable by the driver? I am one version behind at the moment using 15.33.8.64.3345 & 15.33.14.64.3412 was released Jan 29th. The version may be the difference in the memory size reporting. Similar to NVIDIA in their driver releases some time ago. SETI@home classic workunits: 93,865 CPU time: 863,447 hours Join the [url=http://tinyurl.com/8y46zvu]BP6/VP6 User Group[ |
HAL9000 Send message Joined: 11 Sep 99 Posts: 6534 Credit: 196,805,888 RAC: 57 |
Would be nice to find any differences between BIOS-allocated and driver allocated memories. Looking over my MB manual I just noticed there is a 2nd setting. DVMT Total Memory Size: Allows you to allocate the DVMT memory size of the onboard graphics. Options are: 128M, 256M, MAX. (Default: MAX) In searching for DVMT I found many contradictory statements on exactly what it does vs what it should do. So I shall have to play with this setting to find out if it limits the driver memory usage in some way. SETI@home classic workunits: 93,865 CPU time: 863,447 hours Join the [url=http://tinyurl.com/8y46zvu]BP6/VP6 User Group[ |
HAL9000 Send message Joined: 11 Sep 99 Posts: 6534 Credit: 196,805,888 RAC: 57 |
After doing some tests. Here are some rather confusing results. I opted for Graphics Memory Size: 256MB & DVMT: MAX. Memory Size DVMT Video Memory reported to BOINC 32MB MAX 1624MB 64MB MAX 1624MB 128MB MAX 1624MB 256MB MAX 1496MB 512MB MAX 1240MB 1024MB MAX 728MB 32MB 256MB 1624MB 64MB 256MB 1624MB 128MB 256MB 1624MB 256MB 256MB 1496MB 512MB 256MB 1240MB 1024MB 256MB 728MB 32MB 128MB 1624MB 64MB 128MB 1624MB 128MB 128MB 1624MB 256MB 128MB 1496MB 512MB 128MB 1240MB 1024MB 128MB 728MB SETI@home classic workunits: 93,865 CPU time: 863,447 hours Join the [url=http://tinyurl.com/8y46zvu]BP6/VP6 User Group[ |
Richard Haselgrove Send message Joined: 4 Jul 99 Posts: 14654 Credit: 200,643,578 RAC: 874 |
From which, do I deduce? 1) DVMT makes no difference at all 2) (Memory Size) + (Video Memory reported to BOINC) <= 1752MB 3) The best Memory Size setting is 128MB: that's enough for a decently rendered screen (not fancy graphics, but legible and colourful), but nothing taken from Compute memory? |
HAL9000 Send message Joined: 11 Sep 99 Posts: 6534 Credit: 196,805,888 RAC: 57 |
From which, do I deduce? It looks like the memory for compute purposes may not reserved/protected. If that is true. I could imagine there might be error scenarios on some system. I may have to try some tests to see if using all of the system memory effects the running task in any way. SETI@home classic workunits: 93,865 CPU time: 863,447 hours Join the [url=http://tinyurl.com/8y46zvu]BP6/VP6 User Group[ |
Raistmer Send message Joined: 16 Jun 01 Posts: 6325 Credit: 106,370,077 RAC: 121 |
With swap enabled I think no, but disk activity could be high. Try to disable swap completely. Then you will get memory allocation errors perhaps. From your table looks like Intel drivers allocates memory for OpenCL buffers from system heap indeed. Purpose of BIOS reserved memory not too clear, perhaps it's primary surface or smth alike (frame buffer). To check this one would need really big screen, 32-bit true color mode enabled. Then look what resolutions are available for 32MB setting and for 256MB setting. SETI apps news We're not gonna fight them. We're gonna transcend them. |
©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.