Open JamesTimothyMeech opened 5 years ago
Ah sorry! This one is my fault.
When doing uncertainty propagation in sunflower we need a (fairly huge) amount of memory to store covariances. As the implementation was left after finishing my masters, we support covariances between any two floats stored in memory.
The amount of memory that needs allocating is ((bytes of normal memory) / 4) ^ 2
(I think?) and for fairly small values of (bytes of normal memory)
more than 2^32
bytes need allocating causing this failure.
The problem here is sunflower allocates all this memory (easily over 1GB) even when users have no intention of considering uncertainties - even if the user requests less than 960,000 bytes of memory it is still a bug to allocate all this memory that will never be used. I should have made the allocation conditional on a runtime or compile time flag - sorry!
I forget exactly where the offending code is but it should be easily found by grepping for the error message. A tempory solution would be to comment out this code (the allocation not just the assertion).
Related to #119
Describe the bug Currently can't make memory size > 96000.
To Reproduce Attempting to make the memory any larger than 96000 resulted in the following error message: