At 11:11 AM 8/19/2005, michael.pender_at_nanochron.com wrote:
>On Thu, 18 Aug 2005 20:42:35 -0400
> Eric Fort <efort_at_tmail.com> wrote:
>>I'm interesred in running nec2 and nec4 on linux, possibly a linux
>>cluster (havn't decided between open mosix or beowulf). What needs to be
>>done to get nec4 compiled on linux workstations or clusters, specifically
>>to take advantage of smp and cluster capabilities?
>
>Nec2 is easy to get going on Linux because it has already been
>done. Source and executables are available at various places on the
>web. Check out the unofficial NEC archive:
>http://www.si-list.org/swindex2.html
>
>Nec4 is another story because the code is not openly distributed. I've
>been busy lately setting up an Open-source NEC project at SourceForge and
>would love to see a version of NEC for use on clusters, but I am not aware
>of any open source available for Nec4.
And you're not likely to see any open source code for NEC4 (being export
controlled and all). That said, if you make a clusterized version of NEC2,
presumably by linking a different matrix math library (as opposed to trying
to parallelize the matrix building part, which is usually quite fast), one
could probably just rebuild NEC4 using the new libraries. I think (without
actually checking) that they use the same subroutine names for the low
level matrix functions.
If you're clusterizing at a higher level (i.e. the fire off multiple copies
approach), then it's even easier, because NEC4 and NEC2 have basically
identical command lines, and the structure of the "NEC input deck" is the
same. There are a few new "cards" which are available in NEC4 and there's
some additional output options, , information about which is publicly
available.
NEC is probably one of those applications for which the Embarassingly
parallel model is very useful. The "non-computing" part of a typical NEC
run (reading and parsing the input) is a small part of the overall workload
for any reasonable sized model.
For instance, a model of 9 microstrip patches (built with wires in a grid),
about 2000 segments all told, (no symmetry used), takes 21 seconds to fill
the matrix and 46 seconds to factor it at one frequency (on a 1.7 GHz P4)
To run a pattern at one frequency, then run the input impedances at 18
frequencies, takes about 1200 seconds.
If you could farm all 18 frequencies out to different processors, that
would make the overall simulation time on the order of 60-90 seconds
(allowing 30 seconds to gather all the results back, etc.), which would be,
practically speaking, interactive.
There's a fair amount of literature on using clusters for genetic
optimization algorithms for NEC. Look for papers by Doug Woerner and Randy
Haupt, both of whom have done this sort of thing.
Clusterizing a generic optimization engine like GENOPT (from Lawrence
Berkeley Lab) would be real nice. GENOPT isn't exactly a ball of fire speed
wise, but it's really a dispatcher/front end for whatever (long running)
simulation program you want to use. GENOPT can run NEC without any problems.
>>Thanks for the help in getting started.
>>Eric
>
>No problem. Cheers.
>
>- Mike
>
>--
>The NEC-List mailing list
>NEC-List_at_robomod.net
>http://www.robomod.net/mailman/listinfo/nec-list
James Lux, P.E.
Spacecraft Radio Frequency Subsystems Group
Flight Communications Systems Section
Jet Propulsion Laboratory, Mail Stop 161-213
4800 Oak Grove Drive
Pasadena CA 91109
tel: (818)354-2075
fax: (818)393-6875
-- The NEC-List mailing list NEC-List_at_robomod.net http://www.robomod.net/mailman/listinfo/nec-listReceived on Fri Aug 19 2005 - 18:38:26 EDT
This archive was generated by hypermail 2.2.0 : Sat Oct 02 2010 - 00:10:45 EDT