Results 1 to 6 of 6

Thread: POEM: SIMONA Source Code released

  1. #1
    Diamond Member
    Join Date
    October 24th, 2010
    Posts
    5,744

    POEM: SIMONA Source Code released

    The source code of the SIMONA framework has been released and is available for download now. SIMONA is a shortcut for "Simulation of Molecular and Nanoscale systems", and can be considered as the core of the POEM@HOME software. The code can be downloaded freely for non-commercial use here http://www.int.kit.edu/nanosim/simona.php. Der Quellcode für das SIMONA Framework wurde veröffentlicht und kann jetzt heruntergeladen werden. SIMONA steht für "Simulation of Molecular and Nanoscale systems" und kann als das Kernstück der POEM@HOME Software gesehen werden. Der Code ist für den nicht kommerziellen Gebrauch kostenlos verfügbar unter http://www.int.kit.edu/nanosim/simona.php.

    More...

  2. #2
    Diamond Member
    zombie67's Avatar
    Join Date
    October 24th, 2010
    Location
    Reno, NV
    Posts
    7,294

    Re: POEM: SIMONA Source Code released

    I wonder if Crunch3r will make an opt app? It looks like he is crunching POEM.

    Anyone heard from him lately?
    "Don't confront me with my failures, I had not forgotten them" - Jackson Browne

    Avatar source


  3. #3
    Past Administrator
    Fire$torm's Avatar
    Join Date
    October 13th, 2010
    Location
    In the Big City
    Posts
    7,938

    Re: POEM: SIMONA Source Code released

    Nope but IIRC he did register on this forum a few months back.


    Future Maker? Teensy 3.6

  4. #4
    Gold Member
    Slicker's Avatar
    Join Date
    October 25th, 2010
    Location
    South of Cheeseland
    Posts
    1,253

    Re: POEM: SIMONA Source Code released

    FYI, the optimization probably won't be trivial. If the problem they are trying to solve isn't easily parallelized, then making the GPU app faster will be tough as it will require a complete re-write of the code and that means understanding what the code is trying to accomplish and either reorganizing the code in such a way that it can be run better in parallel, or coming up with a totally different approach to solve the problem by using a different algorithm which can be better run in parallel. And, if the problem requires spending a lot of time copying data to/from the GPU rather than having the GPU do actual calculations, there isn't much anyone will ever do to optimize it. At least not so that it will ever have 1 WU keep 1 GPU at 99% utilization.
    Spring 2008 Race: (1st Place)

  5. #5
    Gold Member
    Slicker's Avatar
    Join Date
    October 25th, 2010
    Location
    South of Cheeseland
    Posts
    1,253

    Re: POEM: SIMONA Source Code released

    ...just downloaded the source. There are some easy minor optimizations to be made, things like:

    float c = a * b;
    float d = c * c;
    float e = d * c;

    That's really the same as a*b * a*b * a * b, or the same as (a*b)^3 which can be done like:

    float e = pow(a*b,3);

    The big optimizations would come from getting rid of all the loops in the GPU code. Loops, especially ones that branch in logic internally, cause stream processors to sit idle. POEM has multiple nested loops. I'm sure that's why the utiliization is so low.
    Spring 2008 Race: (1st Place)

  6. #6
    Platinum Member
    John P. Myers's Avatar
    Join Date
    January 13th, 2011
    Location
    Jackson, TN
    Posts
    4,502

    Re: POEM: SIMONA Source Code released

    Quote Originally Posted by Slicker View Post
    ...just downloaded the source. There are some easy minor optimizations to be made, things like:

    float c = a * b;
    float d = c * c;
    float e = d * c;

    That's really the same as a*b * a*b * a * b, or the same as (a*b)^3 which can be done like:

    float e = pow(a*b,3);

    The big optimizations would come from getting rid of all the loops in the GPU code. Loops, especially ones that branch in logic internally, cause stream processors to sit idle. POEM has multiple nested loops. I'm sure that's why the utiliization is so low.
    Back when i used to do Assembly programming, i did things similar to what Poem did there, because the number of clocks it took to compute (a*b)^3 was far higher than the number of clocks it took to compute it by multiplying 3 lines of code. I would also, at times, use addition instead of multiplication to optimize it, or simply left-shifting the bits of a number instead of using powers of 2. Exponents were real killers of clock ticks, especially float exponents.
    Last edited by John P. Myers; 11-15-12 at 09:09 PM.


Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •