Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [ptp-dev] Performance Framework progress

OK this may very well be an iterative process to get this to work in a
general manner that many tools can take advantage of.
But it will be valuable when we do!

..Beth

Beth Tibbitts  (859) 243-4981  (TL 545-4981)
High Productivity Tools / Parallel Tools  http://eclipse.org/ptp
IBM T.J.Watson Research Center
Mailing Address:  IBM Corp., 745 West New Circle Road, Lexington, KY 40511


                                                                           
             wspear                                                        
             <wspear@cs.uorego                                             
             n.edu>                                                     To 
             Sent by:                  "Parallel Tools Platform general    
             ptp-dev-bounces@e         developers" <ptp-dev@xxxxxxxxxxx>   
             clipse.org                                                 cc 
                                                                           
                                                                   Subject 
             02/06/08 04:41 PM         Re: [ptp-dev] Performance Framework 
                                       progress                            
                                                                           
             Please respond to                                             
              Parallel Tools                                               
             Platform general                                              
                developers                                                 
             <ptp-dev@eclipse.                                             
                   org>                                                    
                                                                           
                                                                           




It's possible that I'll want to adjust the locations of various components.
Right now the part that parses the XML is located in the toolopts package.
The ToolMaker class in there is fed an xml file and creates a set of
objects, each containing both the tool workflow information and any tool
configuration panes.  Those objects are used in the core .perf(ormance)
plugin in a few different places.
The .ui.PerformanceLaunchConfigurationTab class uses them to generate
custom tool configuration tabs.  Once the launch has started
the .internal.PerformanceLaunchSteps class uses the actual workflow data
that was objectified out of the XML file to build, execute and run
post-launch analysis.  These three steps are done by buildInstrumented,
performLaunch and postLaunch routines, respectively.  It sounds like the
postLaunch routine is the one you're most interested in.

Note that I think at least one change to the xml file format is necessary.
Right now configuration tab definitions exist only inside tool workflow
definitions.  I need to move the configuration-tab definitions outside so
they can be more easily used by multiple workflows.  Also, I should
probably work on an extension point to expand the XML file format itself...

Please let me know if you need additional information.  I've only added the
extension points used by TAU so far.  It's likely that other tools will
need to be able to build onto other parts of the framework so I'm
interested to here where that requires attention.

Also, yes, this system should work for tools not related to performance
analysis.  You could use it to make a gui-wrapper for just about any
command-line application, or series of applications, you wanted... as long
as you didn't mind launching it from the PTP or CDT launch interface.

-Wyatt

On Feb 6, 2008 11:44 AM, Beth Tibbitts <tibbitts@xxxxxxxxxx> wrote:
  Where is the part that allows specification of external tools to launch?
  I remember two xml files in the original tau plugins that looked very
  useful generally:
  1. generate GUI - that sounds like org.eclipse.ptp.perf.toolopts
  2. specify external tools to launch - i think it was the tool.xml file -
  had the compile, execute, and analyze "phases" for external tools.
                 Where is that?

  I am looking to implement a small extension for a first 'test'
  implementation utilizing mainly the tool configuration (gui) and
  launching
  parts first.
  I'll be the guinea pig. :)  So these are the two parts that seem to be
  general enough for reuse in a simple case.
  Note that simple tools that aren't necessarily performance tools work
  here
  too, that's your assumption too, right?



  ..Beth

  Beth Tibbitts  (859) 243-4981  (TL 545-4981)
  High Productivity Tools / Parallel Tools  http://eclipse.org/ptp
  IBM T.J.Watson Research Center
  Mailing Address:  IBM Corp., 745 West New Circle Road, Lexington, KY
  40511



              wspear
              <wspear@cs.uorego
              n.edu>                                                     To
              Sent by:                  "Parallel Tools Platform general
              ptp-dev-bounces@e         developers" <ptp-dev@xxxxxxxxxxx>
              clipse.org                                                 cc

                                                                    Subject
              02/06/08 02:09 PM         Re: [ptp-dev] Performance Framework
                                        progress

              Please respond to
               Parallel Tools
              Platform general
                 developers
              <ptp-dev@eclipse.
                    org>






  By my present plan the core framework would have:
  org.eclipse.ptp.perf  (The core of the performance framework, operates
  with
  the CDT launch system)
  org.eclipse.ptp.perf.parallel (The extension to the performance framework
  to operate with the PTP launch system)
  org.eclipse.ptp.perf.toolopts (The system for parsing the tool xml files
  and generating configuration GUIs therefrom)
  and possibly
  org.eclipse.ptp.perf.managedbuilder.other.ui (Adds an 'other' c/c++ build
  configuration type that has no assumptions about valid compiler options
  (some compilers don't handle things like optimization flags by default))
  org.eclipse.ptp.perf.managedbuilder.photran.other.ui (The same, for
  photran
  build configuration)

  The TAU specific components are:
  org.eclipse.perf.tau (Contains the tau-specific launch configuration
  elements and trace/profile processing for the 'analysis' step for TAU)
  org.eclipse.perf.tau.papiselect (Defines a selector tool for PAPI event
  counters)
  org.eclipse.perf.tau.perfdmf (Contains the system for storing tau
  profiles
  in a perfdmf database and launching paraprof with the ability to callback
  to the source editor)
  org.eclipse.perf.tau.jars (Contains the TAU-provided jar files required
  by
  the perfdmf plugin)
  org.eclipse.perf.tau.selinst (Plugin for generating a selective
  instrumentation file for C/C++ via context menus in the source tree and
  source editor)
  org.eclipse.perf.tau.selinstfort (Same as above, for fortran code)

  All but the main tau plugin can probably be generalized and moved to the
  core framework eventually.  The PAPI plugin is already fairly accessible
  to
  other tools, but there is more to be done to make it general-tool
  friendly.
  For the perfdmf/paraprof functionality, I would want to work around the
  need to haul around the jarfiles for those tools before moving it to the
  core.

  Regards,

  Wyatt

  On Feb 6, 2008 10:31 AM, Beth Tibbitts <tibbitts@xxxxxxxxxx> wrote:
   That package structure works for me.
   Are there just two projects though? The TAU plugins alone were several..
   How many (plugin) projects are there now and what would they be named?..


   ..Beth

   Beth Tibbitts  (859) 243-4981  (TL 545-4981)
   High Productivity Tools / Parallel Tools  http://eclipse.org/ptp
   IBM T.J.Watson Research Center
   Mailing Address:  IBM Corp., 745 West New Circle Road, Lexington, KY
   40511



               wspear
               <wspear@cs.uorego
               n.edu>
  To
               Sent by:                  "Parallel Tools Platform general
               ptp-dev-bounces@e         developers" <?..ptp-
  dev@xxxxxxxxxxx
   >
               clipse.org
  cc


  Subject
               02/06/08 01:15 PM         [ptp-dev] Performance Framework
                                         progress

               Please respond to
                Parallel Tools
               Platform general
                  developers
               <ptp-dev@eclipse.
                     org>






   Greetings,

   I have added extension points to the performance framework plugins to
   support advanced features provided by other tools, on top of the generic
   tool support provided by the tool definition file.  The TAU specific
   components are now a discrete set of plugins which make use of the
   extension points in the core framework.  There are still a few minor
   tweaks
   I would like to apply, but soon it will be ready to put up on CVS.
  There
   has been some call for changing the package structure a bit.  I had in
   mind
   putting the performance framework core under tools in
   org.eclipse.ptp.perf
   and the TAU specific components in org.eclipse.ptp.perf.tau.  Please let
   me
   know if that seems appropriate.

   Thanks,
   Wyatt_______________________________________________
   ptp-dev mailing list
   ptp-dev@xxxxxxxxxxx
   https://dev.eclipse.org/mailman/listinfo/ptp-dev


   _______________________________________________
   ptp-dev mailing list
   ptp-dev@xxxxxxxxxxx
   https://dev.eclipse.org/mailman/listinfo/ptp-dev

  _______________________________________________
  ptp-dev mailing list
  ptp-dev@xxxxxxxxxxx
  https://dev.eclipse.org/mailman/listinfo/ptp-dev


  _______________________________________________
  ptp-dev mailing list
  ptp-dev@xxxxxxxxxxx
  https://dev.eclipse.org/mailman/listinfo/ptp-dev

_______________________________________________
ptp-dev mailing list
ptp-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/ptp-dev




Back to the top