Making scientific application run faster

By Siavash
Apr 21, 2013
Post New Reply
  1. Hello, we are using a scientific application (ETABS) for structure analysis at work. Most of scientific applications code base dates back to single core CPUs era, when higher CPU clock meant faster execution.

    Here is the problem, we have Core2 Quad boxes (Q9550) with each core clocked at 2.83GHz, but mentioned program only uses one of the CPU cores at full blast, so it is limited by CPU clock rate.

    Is it possible to force applications to distribute the work load over all CPU cores, or if not possible make it somehow run faster without over clocking the CPUs? Is upgrading them to Core2/CoreiX extreme editions with higher clocks only option?
  2. cliffordcooley

    cliffordcooley TechSpot Paladin Posts: 5,765   +1,427

    I'm not sure if what you ask is possible. I do know the Folding@Home project I was part of, used a single client per core. The client needed an update to take advantage of multiple cores/threads.
  3. Rage_3K_Moiz

    Rage_3K_Moiz Sith Lord Posts: 7,280   +23

    Have you attempted launching multiple instances, then using the Process Manager to assign each instance a different CPU affinity?
    Siavash likes this.
  4. Siavash

    Siavash TechSpot Member Topic Starter Posts: 47   +12

    One of friends mentioned to change power plan from balanced to performance mode. That shaved a few minutes but still not a real solution.

    Great idea, this post deserves +100 likes. This saves a lot of time and power.

    Thank you very much!
  5. jobeard

    jobeard TS Ambassador Posts: 13,285   +281

    The correct solution is to recode the program using threads and then perform work in each thread - - but unless you have a skilled programmer on staff, forget it.

    Another approach, especially when the program processes lots of external data that gets read from disk is:
    • divide the original data into N(input groups)
    • process each group in its own process where the results are written back to disk as N(outputs)
    • now sort or post process the N(outputs) to get a 1(final result)
    This technique was developed for true multi-processing on Tandem machines.

    The problem is the last step, as outputs like charts, graphs, or statistical analysis don't lend themselves to the divide-n-conquer technique.


Add New Comment

TechSpot Members
Login or sign up for free,
it takes about 30 seconds.
You may also...


Get complete access to the TechSpot community. Join thousands of technology enthusiasts that contribute and share knowledge in our forum. Get a private inbox, upload your own photo gallery and more.