vfAnalyst™

  • Get a step-by-step guide on the best ways to parallelize your C program
  • Avoid wasting time on areas that can’t be parallelized
  • Draw your conclusions easily from an intuitive display
  • Cross-probe from the display into your source code
  • Focus immediately on your performance bottlenecks
  • Maximize your test coverage
  • Customize and create reports in PDF, ODF, and Word formats
  • Simple subscription reduces your up-front costs and risks
  • vfCloud environment provides a practically unlimited, secure, reliable way to work
vfAnalyst

It’s hard to know where to start when parallelizing a sequential program. You may have an intuitive sense of what to try, but, when you just go by intuition, without any kind of a guide, it’s impossible to be sure that your parallel version will work the same way your sequential version worked. Even if you happen to get it working after spending long hours chasing down elusive bugs, you can’t be sure that you’ve done it in a manner that introduces as little synchronization overhead as possible.

vfAnalyst changes all that. It is the only analysis tool that gives you the precise information you need to make sure that your parallelization project will work and that your choice will provide an efficient result. It acts as an easy-to-use navigation aid for your parallelization project, making it clear how to go about achieving your goals.

Let vfAnalyst guide you through the process

vfAnalyst removes the guesswork by analyzing how your program behaves and turning that knowledge into specific information that will guide you through parallelization. You can parallelize a program even without knowing in detail how the program works.

Each parallelization strategy has a performance and cost impact. vfAnalyst gives you a system-agnostic estimate of the benefits and overhead of synchronization for the different possibilities so that you can select the strategy that best meets your needs.

As easy as three simple steps

vfAnalyst GUI
The vfAnalyst Display (click to enlarge)
  • Find the function or loop with the most workload. vfAnalyst makes clear which which function or loop that is.
  • Have vfAnalyst show you your parallelization options. If data dependencies make some options impossible, vfAnalyst will not present them as options, so you don’t waste time on dead ends.
  • Tell vfAnalyst which of the options you want. You can choose an option based on the acceleration and cost estimates that vfAnalyst provides.

You can repeat this until you’ve gotten as much acceleration as you need or as is possible. The relative performance of your parallelized version is prominently displayed.

Identify parts of your program that prohibit concurrency

Where data dependencies get in the way of parallelism, vfAnalyst shows you the cause. Armed with that information, you may be able to go back to your program and eliminate the dependencies. Or you may decide that any resulting behavior changes are acceptable, and you can therefore proceed with parallelization. This allows you to focus on things you can fix and not waste time on ones you can’t.

Gain confidence in your test set

vfAnalyst learns your program’s behavior by monitoring the program as it executes test data that you provide. Subtle dependencies and interactions can only be discovered by making sure that data is comprehensive. vfAnalyst can help you find weaknesses in your test data so that you can have confidence in your parallel program.

Generate a custom report

Once you’ve finished, vfAnalyst will let you customize a report detailing the important characteristics of your program as well as the strategy you have chosen for parallelization. You can select how much information to put in the report, and then generate it in PDF, ODF, or Word formats. This will let you illustrate to your manager or your peers what your strategy is and why you know it will work. And, with so much of the uncertainty removed from your project, you can dazzle them with a schedule that no one would dare sign up for without vfAnalyst.

Availability

vfAnalyst is available for subscription now. You can find pricing information here; click here to start your subscription.

Click here to see a brief tour of vfAnalyst.