472,811 Members | 1,651 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 472,811 software developers and data experts.

Help! Need product advice for scientific computing.

I don't know where to go, or what to buy, so plz re-direct me if I'm in the
wrong place.

I want to do high performance integration of partial differential eqns in n
dimensions (n=0,1,2,3..etc) I want to do (fast) graphic output of the results.

I used to use C. I want to upgrade my computer.

Do I get dual core? Does C# support dual-core? Is C# as fast as the old C?
Is there a new C? (or is C# the new version of C?) Is Visual Studio what I
buy? Which version has what I need but no more?

Where is the best place to get this kind of pre-sale technical information?

Thanks.

Eric
Dec 26 '05 #1
4 2780
See this thread for a similar question with some responses:
http://www.csharphelp.com/board2/rea...=28559&t=28559

But if you have the money you could see if there are applications which
already do what you want. For example flexpde is one i found:
http://www.pdesolutions.com/
Another option might be to use matlab, which you may or may not want to
interface from C#:
http://www.mathworks.com/support/sol...a/1-X1PFC.html

But if you want to do all the coding yourself, here is some info if it
is of help.
If I'm understanding, you want to do use partial differential
equations, with graphical output, and take advantage of multiple
processors.

First, you might look at existing libraries that can handle partial
differential equations (PDE's), for example PETSc or EXPDE or others,
and see if they meet your requirements:
http://www.oonumerics.org/oon/
http://wotug.ukc.ac.uk/parallel/nhse.../sw_eval/pdes/
http://www-unix.mcs.anl.gov/petsc/petsc-as/
http://www10.informatik.uni-erlangen...tml/index.html

Most of them are written in C or C++, but you can still use them from
C# and .NET, using the [DllImport] attribute. You would need to create
a C#/.NET wrapper on top of whichever library you use. Sort of like in
the matlab sample at the mathworks link I posted above.

For the multi-processor part, you might look into MPI:
http://www-unix.mcs.anl.gov/mpi/
PETSc (mentioned above) uses MPI, for example.
Here is a .NET wrapper for MPICH, an implementation of MPI:
http://www.osl.iu.edu/research/mpi.net/
http://www-unix.mcs.anl.gov/mpi/mpich/
Another implementation of MPI is lam-mpi:
http://www.lam-mpi.org/

And for the graphical output, you'll want to learn windows.forms.
There are some free graph plotting controls already out there like
NPlot and ZedGraph.

Dec 26 '05 #2
Thanks.

I'll look into your suggestions.

But I really want to do raw coding. I already coded a PDE integrator and
graphics routines in C (on an older PC). I now want to update them to a dual
core processor, if that makes sense. (I did some multi-threaded programming a
while ago, but I am not up-to-date on the best current programming tools.)

So what I need is clear information about (convenient) support for dual core
in C#, a new version of C, or something else. What is the best compiler to
use? what is the best development environment to use for dual-core
programming?

I would really like a good source for pre-sale documentation; and for
development advice. If it existed, a book called "Efficient and Fast
Scientific Computing in C (or C#) for Dual Core Computers" would be what I
would need for development; and it's first chapter, with advice on what
compiler and coding environment to use, would be the pre-sale advice I need.

"Doug H" wrote:
See this thread for a similar question with some responses:
http://www.csharphelp.com/board2/rea...=28559&t=28559

But if you have the money you could see if there are applications which
already do what you want. For example flexpde is one i found:
http://www.pdesolutions.com/
Another option might be to use matlab, which you may or may not want to
interface from C#:
http://www.mathworks.com/support/sol...a/1-X1PFC.html

But if you want to do all the coding yourself, here is some info if it
is of help.
If I'm understanding, you want to do use partial differential
equations, with graphical output, and take advantage of multiple
processors.

First, you might look at existing libraries that can handle partial
differential equations (PDE's), for example PETSc or EXPDE or others,
and see if they meet your requirements:
http://www.oonumerics.org/oon/
http://wotug.ukc.ac.uk/parallel/nhse.../sw_eval/pdes/
http://www-unix.mcs.anl.gov/petsc/petsc-as/
http://www10.informatik.uni-erlangen...tml/index.html

Most of them are written in C or C++, but you can still use them from
C# and .NET, using the [DllImport] attribute. You would need to create
a C#/.NET wrapper on top of whichever library you use. Sort of like in
the matlab sample at the mathworks link I posted above.

For the multi-processor part, you might look into MPI:
http://www-unix.mcs.anl.gov/mpi/
PETSc (mentioned above) uses MPI, for example.
Here is a .NET wrapper for MPICH, an implementation of MPI:
http://www.osl.iu.edu/research/mpi.net/
http://www-unix.mcs.anl.gov/mpi/mpich/
Another implementation of MPI is lam-mpi:
http://www.lam-mpi.org/

And for the graphical output, you'll want to learn windows.forms.
There are some free graph plotting controls already out there like
NPlot and ZedGraph.

Dec 26 '05 #3
> So what I need is clear information about (convenient) support for dual core
in C#, a new version of C, or something else. What is the best compiler to
use? what is the best development environment to use for dual-core
programming?

The only way to take advantage of a dual-core system is parallelize/thread your code. Since your code is already written
in C, take a look at take a look at OpenMP - www.openmp.org. VC++ 8 now supports OpenMP -
http://msdn2.microsoft.com/en-us/library/tt15eb9t.aspx. If you stick with C you might want to try using SIMD extensions
- http://msdn2.microsoft.com/library/y0dh78ez.aspx . While SIMD extensions have nothing to do with multi-core/cpu
programing, they can give a boost to numerical code. This is one place where C code can perform significantly better
than C#, since C# (actually the .NET runtime) doesn't take advantage of SIMD extensions for floating point operations.

If you have access to Intel's C++ compiler, you might want to try its auto-parallelization features -
ftp://download.intel.com/technology/.../pdf/art_6.pdf. It can auto-thread certain loops on multi-core/cpu
systems and tries to use SIMD extensions where possible. No changes to your code, just enable some compiler switches.

Marcus


Dec 27 '05 #4
I would think you will want to read stuff like this [1] for search terms and
insight regarding Windows High Performance Computing.

<%= Clinton Gallagher
METROmilwaukee (sm) "A Regional Information Service"
NET csgallagher AT metromilwaukee.com
URL http://metromilwaukee.com/
URL http://clintongallagher.metromilwaukee.com/

[1] http://ie.developerpipeline.com/174300441
"Marcus Cuda" <ma****@newsgroup.nospam> wrote in message
news:eE**************@TK2MSFTNGP09.phx.gbl...
So what I need is clear information about (convenient) support for dual
core
in C#, a new version of C, or something else. What is the best compiler
to
use? what is the best development environment to use for dual-core
programming?

The only way to take advantage of a dual-core system is parallelize/thread
your code. Since your code is already written in C, take a look at take a
look at OpenMP - www.openmp.org. VC++ 8 now supports OpenMP -
http://msdn2.microsoft.com/en-us/library/tt15eb9t.aspx. If you stick with
C you might want to try using SIMD extensions -
http://msdn2.microsoft.com/library/y0dh78ez.aspx . While SIMD extensions
have nothing to do with multi-core/cpu programing, they can give a boost
to numerical code. This is one place where C code can perform
significantly better than C#, since C# (actually the .NET runtime) doesn't
take advantage of SIMD extensions for floating point operations.

If you have access to Intel's C++ compiler, you might want to try its
auto-parallelization features -
ftp://download.intel.com/technology/.../pdf/art_6.pdf. It can
auto-thread certain loops on multi-core/cpu systems and tries to use SIMD
extensions where possible. No changes to your code, just enable some
compiler switches.

Marcus

Dec 27 '05 #5

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

21
by: Dave | last post by:
After following Microsofts admonition to reformat my system before doing a final compilation of my app I got many warnings/errors upon compiling an rtf file created in word. I used the Help...
9
by: Tom | last post by:
A question for gui application programmers. . . I 've got some GUI programs, written in Python/wxPython, and I've got a help button and a help menu item. Also, I've got a compiled file made with...
0
by: python-help-bounces | last post by:
Your message for python-help@python.org, the Python programming language assistance line, has been received and is being delivered. This automated response is sent to those of you new to...
4
by: Sarir Khamsi | last post by:
Is there a way to get help the way you get it from the Python interpreter (eg, 'help(dir)' gives help on the 'dir' command) in the module cmd.Cmd? I know how to add commands and help text to...
2
by: Sudheer Kareem | last post by:
Dear All Please tell me how to assosiate help files with my Vb.net Project. Regards Sudheer
6
by: d.warnermurray | last post by:
I am doing a project for school that involves creating help files for a html authoring tool. If you could help me with answers to some questions it would really help. 1. What tasks do you expect...
3
by: Colin J. Williams | last post by:
Python advertises some basic service: C:\Python24>python Python 2.4.1 (#65, Mar 30 2005, 09:13:57) on win32 Type "help", "copyright", "credits" or "license" for more information. >>> With...
9
by: JJ | last post by:
Do you all use HTML help workshop to create your help system. I am finding it quite clumsy to use. Mayeb because I am not used to using it. Do any of you use any other techniques to create help...
8
by: Mark | last post by:
I have loaded Visual Studio .net on my home computer and my laptop, but my home computer has an abbreviated help screen not 2% of the help on my laptop. All the settings look the same on both...
6
by: priyajohal | last post by:
#include<fstream.h> #include<process.h> #include<stdlib.h> #include<conio.h> #include<string.h> #include<dos.h> #include<ctype.h> #include<stdio.h> void setup() void help();
0
by: erikbower65 | last post by:
Using CodiumAI's pr-agent is simple and powerful. Follow these steps: 1. Install CodiumAI CLI: Ensure Node.js is installed, then run 'npm install -g codiumai' in the terminal. 2. Connect to...
0
by: erikbower65 | last post by:
Here's a concise step-by-step guide for manually installing IntelliJ IDEA: 1. Download: Visit the official JetBrains website and download the IntelliJ IDEA Community or Ultimate edition based on...
0
by: Taofi | last post by:
I try to insert a new record but the error message says the number of query names and destination fields are not the same This are my field names ID, Budgeted, Actual, Status and Differences ...
14
DJRhino1175
by: DJRhino1175 | last post by:
When I run this code I get an error, its Run-time error# 424 Object required...This is my first attempt at doing something like this. I test the entire code and it worked until I added this - If...
5
by: DJRhino | last post by:
Private Sub CboDrawingID_BeforeUpdate(Cancel As Integer) If = 310029923 Or 310030138 Or 310030152 Or 310030346 Or 310030348 Or _ 310030356 Or 310030359 Or 310030362 Or...
0
by: lllomh | last post by:
Define the method first this.state = { buttonBackgroundColor: 'green', isBlinking: false, // A new status is added to identify whether the button is blinking or not } autoStart=()=>{
0
by: lllomh | last post by:
How does React native implement an English player?
0
by: Mushico | last post by:
How to calculate date of retirement from date of birth
2
by: DJRhino | last post by:
Was curious if anyone else was having this same issue or not.... I was just Up/Down graded to windows 11 and now my access combo boxes are not acting right. With win 10 I could start typing...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.