[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ScanTesla7 (was: ScanTesla7 for OSX)



Original poster: Rich Simpson <richcreations@xxxxxxxxx>


On Jun 21, 2005, at 6:18 PM, Tesla list wrote:

Original poster: Terry Fritz <teslalist@xxxxxxxxxxxxxxxxxxxxxxx>

At 05:32 PM 6/21/2005, you wrote:


Also would it be possible to make the program more parallel, perhaps
trying several models at the same time using different threads? This
would make it a lot faster on computers with either multiple CPUs or
CPUs that support Hyper-Threading... I ask, as it takes the same time
to run on my powerbook, and my dual G4... I really do not understand
enough of how the internals of the program work to just jump in and
try to do this without asking first.

My old computer is a dual processor and the new one is hyper threading. With E-Tesla, I could run two models at the some time in two different directories. They ran as two totally separate programs. I am sure you could run two models at once if you just copy the program to two different directories and run them as two totally separate programs. I did that the other day and it works fine. The CPU temperature did not change much at full 100% running these hot days. I guess the fan speeds up to take care of it... I know running programs like this on a laptop will run the batteries down real quick and heat it right up ;-))
I can do this now, even with one copy of the program, as I can pass
the datadir to the program, just open two terminals, use a different
datadir for each process. I meant though, making scantesla threaded,
I will try to explain, as I know how to do this, just do not yet
understand teslacoils or your program to modify it yet.

The 3GHz  1G RAM  hyper-threading machine with the 833MHz bus is
probably ~24000 times more powerful than my first computer not
counting hardware floating point math processing...  The video card
in it is almost as powerful too...  It is bazaar how powerful they
are!!!!  I note they all have like four fans in them ;-))  The four
computer here on the desk have 14 fans and they are loud!  The room
runs about 5 degrees hotter even with all LCD screens now!  I am
getting to be as bad as Chip.  But he probably has 20 computers
now :o))

My computers have two performance monitor screens.  One for each
CPU.  Running a program just uses one, so a program is only using
50% of the machine.  If you run two, it goes to 100%.  No reason to
try and run more.

I have no idea how to have "one" program use the two CPUs....  That
would take someone who "really" knows how to program :o))
This is what I meant, I actually think I can do this, after I think
more about it, and see where you take scantesla. as I understand it,
scantesla runs a model, checks results, runs anouther etc...
if the code for each major task were seperate, like follows, it could
be broken up into several threads, since these threads could each run
on a different CPU, (or virtual CPU, in the case of hyper-threading)

Parent thread, reads data, forks a thread to run a sim, again and again,
the threads run a model, and return the results to the parent, the
parent can have several threads running at a time, it just starts
jobs, and collects the result, as such, instead of doing each one,
one after the other, we can have several going at once, say a max of
ten (should be easy to change), with the parent starting more as they
finish. this parallization of the code is the whole point of multiple
CPUs/Hyperthreading, and is not really that hard to do,

It will not work on "every OS" but it will work with any modern one.


Cool that there is an apple version ;-)  "C" seems pretty universal
as long as you don't program anything fancy into it.  E-Tesla ran
on some pretty strange hardware at times ;-))  I know there was an
Atari version ;-)  And I think someone had it on one of those Palm
things...
I should make a build of E-tesla for mac, just for fun
-Rich
Well, the "other" computer just got done with a big model... ;-))

Cheers,

        Terry
-