Motherboard/CPU/Memory recommendation for MathCAD

JohnGalt47

Member
Jun 26, 2001
52
0
0
I need the fastest Motherboard/CPU/Memory combination to use with MathCAD. The emphasis needs to be on which combination allows the fastest floating point calculations.

Secondarily, it takes forever for the program to load into memory.

Graphics speed is not that big of a deal.
 

o1die

Diamond Member
Jul 8, 2001
4,785
0
71
I'd go for a pair of opteron 250's (2.4 ght w/1 meg cache) on a tyan server motherboard. According to one post, a system built with these holds a world record in some mathmatica benchmarks. Hyper microsystems carries them for around $102; the tyan dual socket server boards start at about $250. Don't see any benchmarks for the new barcelona quad core yet.
 

JohnGalt47

Member
Jun 26, 2001
52
0
0
Thanks!

Unfortunately, MathCAD does not use multiple threads yet and when I queried them as to whether or not they planned to implement multiple threading they said they did not plan to do so.
 

QuixoticOne

Golden Member
Nov 4, 2005
1,855
0
0
Well it has been a few years since I've used MathCAD (Win3.1/Win98 days), but
I THINK I recall that they've always had some kind of extension library programming
interface documented.

I don't know what kind of calculations you're doing, but there are often certain
kinds of very common mathematical kernel operations that are used in MOST
kinds of numerical mathematics programs. These may not be DIRECTLY used in
your application code, but it's not at all unlikely that the way mathcad is
IMPLEMENTING your algorithm that it may call into some of these
sorts of common math kernel libraries. The things I'm speaking of are operations
like:
1) Matrix * Matrix multiiplication
2) Matrix * Vector multiplication
3) Linear equation solutions via direct methods
4) Non-Linear or Large/Stiff-Linear equation solutions via iterative methods
5) Sparse matrix operations (equation solver, factoring, et.al.)
6) Linear / Non-linear Optimization algorithms.
7) Linear system identification / model analysis.
8) Eigen-decomposition
9) Fourier transforms
10) Image filtering / coding / decoding e.g. wavelet, DCT, JPEG, etc.
11) Cross-correlations
12) Large number arithmetic
13) Extended precision calculation
et.al.

..anyway even if your particular version of MathCad isn't directly configured to
use the most modern or performant available versions of such routines, there
may well be documented and simple ways to instruct MathCAD to use such
external libraries instead of possibly exponentially slower internal default
routines that may be suitable for small calculations but wholly unsuitable for
your problem size / complexity.

You may have heard of libraries like Intel's MKL, AMD's ACML, BLAS, ATLAS,
LAPACK, SuperLU, Scalapack, FFTW, SparseKit, ARPACK, Sundials, GMP, et. al.

These are typically at least 4x faster than generic 'naive' and
non-optimized default routines that may be used by software like MathCAD,
and in some extreme cases they may be MILLIONS of times faster or even
simply make the difference between being algorithmically possible vs.
impossible/non-convergent for worse algorithms.

It may be possible to configure MathCAD to use newer/better versions
of these kinds of libraries, and if so, you may achieve an order of magnitude
of speed improvement that money spent on a faster CPU/memory simply
cannot buy were you to use the naive/non-optimized algorithms in MathCAD's
default libraries / solvers.

Furthermore, many of those extended libraries ARE (or can trivially be configured to be) multi-threaded and would take advantage of multi-core CPUs or sometimes
even (through MPI) multiple clustered computers' CPU and memory capacities.

Even if there's no trivial
"here's the way to specify an external BLAS/LAPACK/FFT library" option for
the MathCAD version you use, there's likely the possibility you could
write a simple script / program to invoke such an external computational
library yourself to handle the performance critical aspects of your computation.
The algorithm overall would still be in MathCAD, but you'd just change the name
of a certain function call to refer to an external / optimized FFT or matrix or
equation or whatever library function name.

Beyond that, you must also consider whether a future version of MathCAD
might support multi-threaded or 64-bit or whatever suits your problem's
operation. I'd say it's highly likely, so a multi-core CPU might be a good
investment.

Another option may simply be to use more efficiently written
algorithms to solve your analysis; often it's possible to keep the same
basic algorithm but make a small change in its structure and achieve
order of magnitude performance improvements. This might be
something simple like using a FFT vs. a classical Fourier transform,
using a preconditioner on a matrix equation to improve condition number
of your system, or changing your data from double-precision to
single-precision (if it suffices), or changing your matrix/vector format
to a transpose matrix or column vector vs. row vector so you don't
have to compute unnecessary transposes in a loop many times over
et. al. Specifiying different equation solvers or options like GMRES or whatever
can be a big benefit to some analyses.


If your dissatisfaction with MathCAD's performance cannot be remedied b
I personally think the upcoming (Quarter-One-2008) Intel Q9450 quad-core
CPU with a P35-chipset based motherboard like the ASUS P5K-E would be
very respectable for numerical analysis when your software can use
quad-core multi-threading. The CPU should be in the around $300 range,
and the motherboard around $130ish USD.

If you cannot get satisfaction from MathCAD given its limitations and
a reluctance to try to integrate its scripted calculations with external
optimized subroutine libraries, and it's so much a hindrance that you're
tempted to spend hundreds of dollars to upgrade a computer, maybe
spending a comparable amount (or LESS!) on different Math software
could materialize a bigger benefit.

Perhaps trivially rewriting your analysis code to use some other
package like MatLAB, Mathematica, Axiom, SAGE (free), Octave (free),
R (free), Maxima (free), GAP (free), SciLab (free), or some similar type of
software (whether commrecial or free software) may have enormous benefits
if their libraries / internal algorithms are more efficient or better
support your computer's CPU / threading / optimized library options.

I use many such free programs under a free 64 bit version of LINUX
multi-threaded (in some cases) on a quad-core CPU with 8GB memory and
I'm able to trivially do things at amazing speeds that I was never able to
effectively accomplish on Windows with limited capability 32 bit software
like my old math tools.

Not all of those use multi-threading, and of course not all algorithms are
parallelizable and not all algorithms need large memory sizes, so the best
choice is of course somwhat problem dependent.

If you were to buy a quad-core CPU for multi-threading before year's end
(before the better model appears), I'd go with the Intel Q6600-G0 stepping
or the Intel Xeon X3210 and the aforementioned motherboard. I'm using
these with good results presently.

For memory it's hard to beat the under $115 / 2x2GBy DDR2 PC2-6400 DIMM
prices you see today from places like Fry's, Newegg, Ewiz, et. al.
If your application uses large volumes of data (hundreds or thousands
of megabytes), I'd certainly suggest that it's never been a better time
to buy 4GBy or 8GBy of decently fast memory which can really improve or
enable certain kinds of calculations on large data sets, visualizations, et. al.

If you simply must have high single-threaded SPEED, I generally concur with
the other response -- Opterons have pretty good SpecFP floating point
benchmarks, and also superior memory bandwidth to Intel "Core" CPUs.

However in practice in many "real world" benchmarks (often
including things like ScienceMark) the Intel Core2 or Core Quad processors
like the E6850 or Q6600 are clearly the better performers for most
applications against Opterons even in single-threaded workloads.

Fastest quad-core CPU that's cost effective today:
$273
Intel Core 2 Quad Q6600 G0 Stepping Kentsfield 2.40GHz 8MB L2 LGA 775 Processor Retail BX80562Q6600 SLACR

http://www.clubit.com/product_...il.cfm?itemno=A1938452

Best DDR2-PC2-6400 memory deal for 2GB capacity today:
(buy 2 for 4GB total, buy 4 for 8GB total with a suitable motherboard/CPU)
Best choice price/performance in 4GB+ quantity for most any Core2,
Core-Quad, Opteron CPU taking DDR2 unbuffered non-ECC memory.
$51.50
# Mfr Part Number: T8UB2GC5
# Type: DDR2 (unbuffered, non-ECC, not-registered)
# Capacity: 2 GB
# Speed: PC6400 800MHz
http://www.ewiz.com/detail.php?name=T8UB2GC5


Best 4GBy (2x2GB) PC2-8000 memory value today as far as I know:
G.SKILL 4GB(2 x 2GB) 240-Pin DDR2 SDRAM DDR2 1000 (PC2 8000) Dual Channel Kit Desktop Memory Model F2-8000CL5D-4GBPQ - Retail
$155
This is probably uselessly fast unless you get a Q9450 in Q1-2008 or a
QX9650 CPU today (very expensive, but the fastest quad money can buy)
http://www.newegg.com/Product/...x?Item=N82E16820231145


Fast dual-core Intel CPU that'll probably out-benchmark many Opterons
on a single-thread or dual-thread engineering / science workload:
http://www.clubit.com/product_...il.cfm?itemno=A1938255
$271 Intel Core 2 Duo E6850 G0 Stepping Conroe 3.0GHz 4MB L2 LGA
775 Processor Retail BX80557E6850 SLA9U
Personally I see NO reason to buy a dual-core CPU for $270 vs getting
a quad core for basically the same price, though the clock speed difference
even for a single-threaded workload is pretty irrelevant.

Adequate P5K series motherboard for either intel Core2 or Core-Quad CPU:
http://www.clubit.com/search.cfm?keyword=p5k&cat=all

FIRST:
Try to optimize you MathCAD code to be more efficient in
algorithm implementation or design. Convert O(N^2, N^3, N^4)
operations to O(N log N) ones where possible, avoid unnecessary
data conversions, et. al.

Secondarily, personally I'd try pretty hard to get any core
Matrix*Matrix, Matrix*Vector, Linear Algebra and FFT routines to use Intel MKL
or AMD ACML where possible, and otherwise something like the
BLAS/LAPACK codes in MATH-ATLAS if the INTEL/AMD libraries don't suit you.
If MathCAD can be configured to use them or call them, great.

Any large / numerous FFT's should call out to MKL, ACML, or FFTW.

Try some of the other solvers/libraries I mentioned for non-linear or
sparse problems or image processing / visualization.

If none of that helps, try to see if there can be massive speed-up if you
recode the analysis in R, SAGE, OCTAVE, SCILAB, or other appropriate
computational framework.

If that doesn't help, consider getting algorithm design advice and possibly
coding parts of it in Fortran90 or C++.

As an almost last resort I'd upgrade the PC hardware to faster versions
of the CPU / Memory, though it's hard to imagine that alone would improve
performance more than a factor of 4-to-20 over previously 'reasonable' hardware,
with an efficient floating point CPU so there's limited benefit to be had.
If your problem is O(10) to O(100) slower than it theoretically
could be / ought to be, then the needed improvement is probably software /
algorithmic, not hardware.

R:
http://www.r-project.org/

SciLAB:
http://www.scilab.org/

OCTAVE:
http://www.octave.org/

SAGE:
http://modular.math.washington.edu/sage/


ASCEND
http://ascend.cheme.cmu.edu/


AMD ACML high performance BLAS/LAPACK math library optimized for AMD CPUs:
http://developer.amd.com/acml.jsp

Intel Math Kernel Library BLAS/LAPACK optimized for Intel CPUs:
http://www.intel.com/cd/softwa...asmo-na/eng/307757.htm

ATLAS:
http://math-atlas.sourceforge.net/

FFTW:
http://www.fftw.org/

MAXIMA:
http://maxima.sourceforge.net/


Templates for the Solution of Algebraic Eigenvalue Problems
http://www.cs.utk.edu/~dongarra/etemplates/book.html

Templates for the Solution of Linear Systems: Building Blocks for Iterative Methods, 2nd Edition
http://www.netlib.org/linalg/h...mplates/Templates.html

NETLIB:
http://www.netlib.org/

MATLAB Central > File Exchange
The MATLAB Central File Exchange contains thousands of files contributed by users and developers of MATLAB, Simulink and related products.
http://www.mathworks.com/matla...change/loadCategory.do
 

QuixoticOne

Golden Member
Nov 4, 2005
1,855
0
0
I've found some references to indicate that Mathcad 13 and 14 make
at least some use of Intel's optimized MKL and/or other BLAS/LAPACK libraries
on some supported CPU types.

http://www.ptc.com/WCMS/files/...8/en/MC14_RELNOTES.htm
051017-094423 Older Intel and AMD systems may fail to calculate numerics functions based on the new Intel MKL matrix libraries. For more information on which chips are supported, check the Intel Math Kernel Library documentation available on the Intel Web site.

http://www.adeptscience.co.uk/...sim/mathcad/chart.html
Advanced linear algebra functions based on BLAS/LAPACK libraries


Now interestingly I happen to know that it's POSSIBLE to use such libraries
as MKL / ACML in a way that they will independently use and derive benefit
from multi-threading even if the application that calls them isn't inherently
multi-threaded. It is thus possible that you could get a speed up from
a multi-core CPU even if MathCad overall is not pervasively multi-threaded.

The answer would depend on HOW MathCAD uses / configures / calls
those libraries, as well as of course whether YOUR application does
parallelizable math via MathCAD routines that end up calling such
libraries for critical functions.

I'd certainly either experiment or inquire in great depth to other MathCAD
users and support personnel about the achievable benefits.

I will also note that shamefully Intel has historically 'crippled' the performance
of some of its Compiler and Math Library tools when those execute on AMD's
CPUs even when the AMD CPUs could trivially benefit from the same
optimized functions (e.g. SSE2).

So if MathCAD doesn't interoperate with AMD's ACML on AMD CPUs, but rather
only uses Intel MKL for all CPUs, I would not expect to get as high of a performance
with an AMD CPU. I'd look for precise elucidation on this issue if you want to
use an Athlon 64 / Opteron / Phenom with MathCAD.

Also, as I suspected:
http://www.adeptscience.co.uk/...sim/mathcad/chart.html
"User-defined functions created in C, C++, or FORTRAN"
[supported in MathCAD V8 through V14]
...also..
"Software Development Kit (SDK) for building custom components"
[supported in versions since 2001]

...so you may be able to call upon other kinds of high performance
libraries to achieve things that are beyond the scope of MKL / ACML
(e.g. sparse matrix codes, eigen-libraries, non-linear solvers, et. al.).

 
sale-70-410-exam    | Exam-200-125-pdf    | we-sale-70-410-exam    | hot-sale-70-410-exam    | Latest-exam-700-603-Dumps    | Dumps-98-363-exams-date    | Certs-200-125-date    | Dumps-300-075-exams-date    | hot-sale-book-C8010-726-book    | Hot-Sale-200-310-Exam    | Exam-Description-200-310-dumps?    | hot-sale-book-200-125-book    | Latest-Updated-300-209-Exam    | Dumps-210-260-exams-date    | Download-200-125-Exam-PDF    | Exam-Description-300-101-dumps    | Certs-300-101-date    | Hot-Sale-300-075-Exam    | Latest-exam-200-125-Dumps    | Exam-Description-200-125-dumps    | Latest-Updated-300-075-Exam    | hot-sale-book-210-260-book    | Dumps-200-901-exams-date    | Certs-200-901-date    | Latest-exam-1Z0-062-Dumps    | Hot-Sale-1Z0-062-Exam    | Certs-CSSLP-date    | 100%-Pass-70-383-Exams    | Latest-JN0-360-real-exam-questions    | 100%-Pass-4A0-100-Real-Exam-Questions    | Dumps-300-135-exams-date    | Passed-200-105-Tech-Exams    | Latest-Updated-200-310-Exam    | Download-300-070-Exam-PDF    | Hot-Sale-JN0-360-Exam    | 100%-Pass-JN0-360-Exams    | 100%-Pass-JN0-360-Real-Exam-Questions    | Dumps-JN0-360-exams-date    | Exam-Description-1Z0-876-dumps    | Latest-exam-1Z0-876-Dumps    | Dumps-HPE0-Y53-exams-date    | 2017-Latest-HPE0-Y53-Exam    | 100%-Pass-HPE0-Y53-Real-Exam-Questions    | Pass-4A0-100-Exam    | Latest-4A0-100-Questions    | Dumps-98-365-exams-date    | 2017-Latest-98-365-Exam    | 100%-Pass-VCS-254-Exams    | 2017-Latest-VCS-273-Exam    | Dumps-200-355-exams-date    | 2017-Latest-300-320-Exam    | Pass-300-101-Exam    | 100%-Pass-300-115-Exams    |
http://www.portvapes.co.uk/    | http://www.portvapes.co.uk/    |