forum.alglib.net

ALGLIB forum
It is currently Mon Dec 23, 2024 5:43 am

All times are UTC


Forum rules


1. This forum can be used for discussion of both ALGLIB-related and general numerical analysis questions
2. This forum is English-only - postings in other languages will be removed.



Post new topic Reply to topic  [ 15 posts ]  Go to page Previous  1, 2
Author Message
 Post subject: Re: PLINQ/Task vs Rbf
PostPosted: Tue Nov 20, 2012 7:11 am 
Offline
Site Admin

Joined: Fri May 07, 2010 7:06 am
Posts: 927
So, it is NET restriction which prevents you from utilizing all accessible memory.


Top
 Profile  
 
 Post subject: Re: PLINQ/Task vs Rbf
PostPosted: Tue Nov 20, 2012 7:25 am 
Offline

Joined: Fri May 13, 2011 12:09 pm
Posts: 7
Sergey.Bochkanov wrote:
And NET framework has upper limit on array size (2GB), so you can not allocate such large array under .NET even when you compile for 64-bit architecture.

Yeah, i've figured that myself, the problem is in function sparsecreate as far as i understand.

Btw alglib uses everywhere multidimensional arrays A[i, j], not jaged arrays A[i][j]. Under Windows jagged array performance is
greater than multidimensional, and
Code:
var d = new double[500000, 1000]
crashes as vell (multidim .Net array also have < 2GB limit), so it seems like a huge problem for 64 bit .Net applications which rely on big matrices/vectors?

P.S. Just found http://msdn.microsoft.com/en-us/library/hh285054(v=vs.110).aspx


Top
 Profile  
 
 Post subject: Re: PLINQ/Task vs Rbf
PostPosted: Tue Nov 20, 2012 7:55 am 
Offline
Site Admin

Joined: Fri May 07, 2010 7:06 am
Posts: 927
It was very hard design choice between jagged and non-jagged arrays. The problem with jagged arrays is that all subarrays can have different sizes, thus: a) check for input array size becomes too slow, b) without checks it is very easy to accidentally corrupt memory when processing invalid input data, c) it becomes harder to exchange data between ALLGIB versions in different languages.

And I think that it is too late to change ALGLIB approach to arrays :( We already have a lot of (commercial) projects which depend on ALGLIB, so any changes which break backward compatibility are not welcomed.


Top
 Profile  
 
 Post subject: Re: PLINQ/Task vs Rbf
PostPosted: Fri Nov 23, 2012 8:45 am 
Offline

Joined: Fri May 13, 2011 12:09 pm
Posts: 7
maelstorm wrote:

I've managed to run my test under .Net 4.5 with 400 000 points and
Code:
<gcAllowVeryLargeObjects enabled="true" />
Program consumed about 8GB RAM :-).


Top
 Profile  
 
 Post subject: Re: PLINQ/Task vs Rbf
PostPosted: Fri Nov 23, 2012 7:25 pm 
Offline
Site Admin

Joined: Fri May 07, 2010 7:06 am
Posts: 927
This solution should work for double precision arrays less than 32GB, which is quite big for present computers :) BTW, thanks for your suggestion - I think that I should add it to ALGLIB Reference Manual.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 15 posts ]  Go to page Previous  1, 2

All times are UTC


Who is online

Users browsing this forum: No registered users and 8 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group