A list of puns related to "Memory Safety"
I've been studying garbage collectors and reference counters and and trying to come up with a way to build a better garbage collector/reference counter. And I have an idea, which is to codify certain typical patterns for references and allow users to use those and memory will automatically be freed/released but each will have certain restrictions the compiler can reason about to ensure memory safety.
I figured I'd come to the experts in manual memory management and ask them to help me think about the kind of rules you typically follow to maintain memory safety and how often you have to get fancy.. when you do.. how do you approach it?
The low hanging fruit parents:
- If something is malloced, then the variable owning it goes out of scope.. free it.
- One parent per referenced child
- Doubly linked parent-child
- Reference counted
- Manual malloc/free if you need it
What about reference cycles and graph data?
Hope this is considered directly referring to C enough to be on topic, I primarly just want to discuss how you safely manage memory in C :)
EVGA XC3 3080
-500 core +1500 memory
96 average memory temps at 100% fan speed
315w power draw
Everything *seems* to be safe for the long term.
How do you guys feel about 100% fan speed, the power draw, settings, etc. Any criticism?
EDIT (2/3/21): Still using the same core and memory, I reduced the power limit to 75% and was able to maintain 101 MH/s. The PL change also dropped the memory temperatures to 92 average, and power draw to 254w.
I might try to further tune the settings with the OCTune guide listed in the comments below.
Word of caution.
I would definitely considering raising and locking your fan speeds while mining on a 3080/90. I hear the memory is "expected" to heat up to 104-108(!), but it also sustains permanent damage at 120.
Messing with the OC settings sometimes caused a spike in memory temperature with auto-fan curves on. The fan regulation seem to only respond to core temp, not memory temp.
So while your core may be 50 degrees from having a previously high fan speed, your memory is still running extremely hot. When the auto-fan curve kicks back in after adjusting settings, your fans may cease to run at a speed that was previously keeping your memory safe.
While I hear the built in safety features for preventing damage are pretty good, and the temp ratings for the memory are also high, I don't wanna take chance it. I'm locking my fan speeds.
If someone with more technical knowledge of chip safety and thermals wants to comment below that'd be very welcome!
JUST A THOUGHT!
/end EDIT (2/3/21)
https://preview.redd.it/zg245879z8f61.jpg?width=1695&format=pjpg&auto=webp&s=aa81267c08ed93a3bc4bce260e7d575645e72139
Since its birth, the Umka language has had support for several lower-level features than is typical for other embedded scripting languages (such as Lua). These features, along with Umka's static typing, were needed to achieve seamless integration with C and its data structures. They have served well, for example, in designing a scriptable tractor dynamics simulator. On the other hand, they have naturally led to some memory safety issues, and it took some time to find satisfactory solutions.
Pointer type casts. Umka now forbids casting pointers from a smaller base type to a larger base type or to a base type which is itself a pointer or has a pointer as its item or field. When a dynamic array is cast to a static array, its length is dynamically checked at runtime. The same is done with a string when it is cast to a char
array.
Weak pointers. A weak pointer in Umka cannot be immediately dereferenced. Instead, it should be first cast to a conventional ('strong') pointer to the same base type. This operation is checked at runtime to ensure that the weak pointer is not dangling. Otherwise, the type cast returns null
.
Reading pointers from files. Umka forbids reading pointers or any data structures that contain pointers, such as dynamic arrays or interfaces.
Returning pointers to local variables from functions. This problem was the hardest one. Any attempt to find an affordable solution eventually ended up with some rather complicated strategy: either a Go-style "escape analysis", or a Rust-style "lifetime analysis". The former would be impossible in a single-pass compiler, while the latter would make the language much more difficult. My final decision was to perform a simplified "escape analysis". Namely, if a function never tries to increment any reference counts, all its parameters and local variables are allocated in a conventional stack frame. Otherwise, a reference-counted "heap frame" is used. Local variable addressing is identical in both cases, the only difference being the value stored in the frame base register.
Everyone is welcome to test the language and find any segmentation faults (see the master
branch, not the December 2020 release). Hope that no legitima
Hey guys, started mining with my 3080 a few days ago. Modded the card added thermal pads and paste. Gpu and Vram temps are very good but I was wondering if constantly going with 1300 mhz memory clock (100.9 mhs) would degrade the card faster in comparison with 1200 mhz or 1000 mhz. Iβm asking because the temps are good but since we canβt monitor everything maybe there is something to note about high memory clocks.
Second question, does anyone have an experience with laptop mining? Msi ge76 with 3070 giving me 69 mhs at 58 degrees celcius havenβt tried undervolting etc yet. But is it safe to assume that it will last 2 years with good maintenance?
Would appreciate if anyone have any knowledge about these subjects.
Thank you
Isn't the first step of achieving Rust like memory safety (temporal, spatial and parallel) in C++ is allowing the compiler to reject code (compile error) when the compiler can conclusively decide that an operation is unsafe (out of bound access, use after free, etc...) using static analysis?
I can see several efforts going on creating such static analysers,
https://coderrect.com/overview/
https://developers.redhat.com/blog/2021/01/28/static-analysis-updates-in-gcc-11/
However I'm not sure whether the compiler is allowed to reject code based on such analysis even if it can come to a conclusion about unsafe code.
In addition to generating strong immune response against multiple antigens, COVAXIN is shown to generate memory T cell responses, for its multiple epitopes, indicating longevity and a rapid antibody response to future infections. With published data demonstrating a safety profile superior to several other vaccines, COVAXIN is packaged in multi-dose vials that can be stored at 2-8oC.
Goal: I'm leaning tech so I can manage employees at a tech startup. I want to make my my future web app secure, fast and scalable.
I've self learned the languages but I don't understand many of the tutorials because I lack the knowledge of anything except the syntax. Although, I can create the simple static sites and web apps but I'm afraid that I'll run into problems while scaling, making it fast and secure.
I want to learn how things work from the top to bottom so I can choose what's best for my company moving from one growth stage to another.
Hey guys, started mining with my 3080 a few days ago. Modded the card added thermal pads and paste. Gpu and Vram temps are very good but I was wondering if constantly going with 1300 mhz memory clock (100.9 mhs) would degrade the card faster in comparison with 1200 mhz or 1000 mhz. Iβm asking because the temps are good but since we canβt monitor everything maybe there is something to note about high memory clocks.
Second question, does anyone have an experience with laptop mining? Msi ge76 with 3070 giving me 69 mhs at 58 degrees celcius havenβt tried undervolting etc yet. But is it safe to assume that it will last 2 years with good maintenance?
Would appreciate if anyone have any knowledge about these subjects.
Thank you
Please note that this site uses cookies to personalise content and adverts, to provide social media features, and to analyse web traffic. Click here for more information.