Click here to Skip to main content
14,137,520 members
Rate this:
 
Please Sign up or sign in to vote.
See more:
I am developing a simulation software which involves solving around 10^8 simultaneous linear equations. Equations are sparse. I already made a prototype in which I implemented LU decomposition myself. But my implementation can only address less than 10^4 equation due to performance and memory constraints. I never worked with any CAS systems. Can anyone suggest some good CAS system from where I can start? Even after a long web search I was not able to get a good comparison of existing CAS systems in terms of the size of data it can process and also a performance comparison.
Development environment I am using is C# with .Net 4.0, but I can use any C++ , C or C# libraries in my system.

I found many CAS systems like Mathematica, Boost, Sage, Intel's MKL library. But i am not able to sort out a comparison from that. And how much data they can handle with a significant performance.

I am expecting answers like "I have solved 1,00,000 equations in 1,00,000 variables with xxx Library with in xxxx time in a machine with x cores and xGB Ram using xThreads"
Posted
Updated 3-Jul-13 20:22pm
v3

1 solution

Rate this: bad
 
good
Please Sign up or sign in to vote.

Solution 1

I don't know what a CAS system is and info from Google doesn't seem to be helpful. You need to provide more detail and explain that in your question.

Data of this size (even if sparse) likely needs to be done on a 64 bit machine, simply to provide the expanded address space. The programming language you use (from the choices listed) should not be that important. If the problem can be can be solved, it can be solved in C#.

Make sure that you have adequate swapfile space defined on your system. Because of the huge amount of data, there will be a lot of paging/swapping activity as you run your calculation.
   
Comments
JackDingler 3-Jul-13 16:25pm
   
Good advice.

If you can break the problem down into chunks, then you'll see fewer problems and a large speed increase. Also, if the data set grows larger, then your code is likely to break down again.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
Top Experts
Last 24hrsThis month


Advertise | Privacy | Cookies | Terms of Service
Web06 | 2.8.190518.1 | Last Updated 4 Jul 2013
Copyright © CodeProject, 1999-2019
All Rights Reserved.
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100