Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [ptp-dev] problem in launching external tools for performance tool integration

Greetings.  It looks like UPC is indeed a new basic compiler type.  I believe I can add support for this to the core of the ETFw.  The new implementation will have a UPC compiler tag, in addition to the current CC, CXX and F90.  I think this should be fairly straightforward to implement.  Hopefully I will have some test plugins for you to try out sometime next week.  Would it be possible for me to look at your complete set of UPC plugins?  They aren't strictly needed for me to make this change, but I won't be able to test on this side without them.

Regards,
Wyatt

On Fri, Jun 26, 2009 at 12:11 PM, Balaji Subramanian <subramanian@xxxxxxxxxxx> wrote:
Hi Wyatt,
    Please find my attached toolchain.xml along with this email. Let us know whether it is possible to update the ptp performance tool to support upc. If possible, can you please provide any information or pointers that you have regarding the way to integrate upc  in ptp performance tools. Any help or information you provide would be very much appreciated.

Thanks & regards,
Balaji

Balaji Subramanian wrote:
Hi Wyatt,
    Sorry for the delayed response. I build the project by specifying ppwupcc as compiler for Default_Performance_Analysis_null configuration which was created after running the profiler once(as you have specified in the previous email). After doing this, I was able to see the build command displayed in the build but the progress bar hangs in the Building/Instrumentation stage.

I invoked the external tool for other mpi project and as you already know it that  there were 4 phases involved in running external tool: Launching, Building/Instrumentation, running and analyzing.

Trying to build the upc project with my external tool.xml causes it to hang in the Building/Instrumentation stage. Please let me know your comments about why the external tool hangs in the Building/Instrumentation stage even after building the project. (I was able to run the upc executable manually after the build step and the executable is  working fine.) I don't know why it hangs in Building/Instrumenting stage even after building the upc application.

Please let me know whether you need any more information or am I missing something. The help provided by you so far is highly appreciated.

Thanks again.

With best regards,
Balaji

Wyatt Spear wrote:
How did you have to change the build configuration to make it work properly?  I would like to make the ETFw do whatever you did automatically.

Thanks,
Wyatt

On Tue, Jun 23, 2009 at 12:25 PM, Balaji Subramanian <subramanian@xxxxxxxxxxx> wrote:
Hi Wyatt,
    Thanks for clarifying the questions I had.

As you have mentioned, I tried changing the build configuration for Default_Performance_Analysis_null in the C/C++ build settings and by doing it this way I was able to build the upc project with ppwupcc.
I was able to see it getting build.  I would try building this project this way.  I would try running it and let you know.

Thanks for the information and help provided. I would let you know about any progress or issues encountered.

With best regards,
Balaji

Wyatt Spear wrote:
The ETFw compiler system works by making a copy of the selected build configuration ("Default" in this case) and replacing the compiler commands in the new build configuration with the ones specified in the xml file.  Source file recognition is still done by the CDT core, all the ETFw does is change the command used on the source files.  This means that if the CDT can't compile your project correctly on its own with the proper compilers set manually the ETFw usually won't do any better.  However if the CDT works so should the ETFw as long as it is generating valid compiler commands.  What the ETFw does should be about equivalent to the following manual procedure:

Select your project in the Project Explorer and hit alt+enter to open the properties window
Go to C/C++ Build -> Settings
Replace the C compiler and linker commands with 'ppwupcc'

The ETFw would add your compiler specific options defined in the xml file, and do this to a copy of the build configuration instead of the original, but perhaps you could check with this procedure and see if it works.  The ETFw only recognizes C, C++ and Fortran compilers right now, so if you have added another UPC specific set of compiler configuration options I may need to expand the ETFw's compiler coverage.

Note that the build configuration created by ETFw, Default_PerformanceAnalysis_null, should be available in your project build settings.  You can look at that to see what it is trying to do.

Regards,
Wyatt Spear

On Tue, Jun 23, 2009 at 10:26 AM, Balaji Subramanian <subramanian@xxxxxxxxxxx> wrote:
Hi Wyatt,
    Thanks again for the detailed and prompt response.

    I did all the steps that you have mentioned below. Let me explain in detail the nature of project I am trying to build. We created a custom template wizard for creating a UPC project. Also,  a new toolchain was created for building this UPC. I was able to build the project with my UPC toolchain and was able to get the executable. I wanted to integrate our performance tool with eclipse so I used external tools framework to do it.

Since I am using a toolchain with Default configuration, I am getting the build configuration in my project as "Default".

I tried another scenario where I created an ANSI C project and invoked the external tool. In this case, I was able to see my compiler defined in tool.xml being used.

I have couple of doubts:

The internal builder used to build it with my own toolchain to use the upcc compiler.
My customized project has source files with extension "upc". How does external tools discover the filename with upc externsion ?
What should be done for building my customized project type with external tools ?

Please let me know about any information that you could provide. Any help provided is very much appreciated.

Thanks again,
Balaji

Wyatt Spear wrote:
I did not have to do anything special.  I opened the Profile Configurations window
Run->Profile Configurations...
I double clicked on Performance Analysis to create a new configuration.
I selected the project and build configuration to use in the Main tab.
I went to the Performance Analysis tab and selected PPW from the "Select Tool" drop-down box.
Then I hit apply and Profile and it built and tried to run as expected.
The binary built and showed up in the "Debug_PerformanceAnalysis_null" directory under the main project directory.

I assume this is more or less what you have already tried, though.  Please let me know if it works for you.  If not I will have to dig deeper.  I'm not sure why you would have a "Default" build configuration instead of Debug or Release, which are the standards.  That could be relevant.  Also, I don't have UPC on my system right now so I just symlinked gcc to ppwupcc.  That should make no difference on its own, but if there is a special UPC toolchain that I am missing I may need to add support for that to the ETFw.  As I recall there is UPC support in the CDT now, but I haven't seen any specific build configuration options for it in my installation.

One suggestion, while you're working on just the build step, select "Build the instrumented executable but do not launch it" on the Performance Analysis tab.  That will run the build step by itself so the launch won't get hung up if no binary is created.  Also note that in some configurations the CDT will run a default build (the build using the standard compiler) before running the build given by the ETFw.  The builds go in different directories.  I'm still working on keeping this from happening, but for now it is normal.

Regards,
Wyatt Spear

On Tue, Jun 23, 2009 at 8:35 AM, Balaji Subramanian <subramanian@xxxxxxxxxxx> wrote:
Thanks Wyatt for trying my build. Can you please let me know what steps you did so that it would use my tool.xml compiler command. In my console, I still see that it is using upcc compiler command instead of my defined one. Let me know about it. Very much appreciated.

Thanks again,
Balaji

Wyatt Spear wrote:
The build step seems to work okay on my system, the compiler command in your tool definition xml correctly replaces the one used by my internal buiilder.  I will try a couple other things to see if I can reproduce this problem.

Regards,
Wyatt Spear

On Mon, Jun 22, 2009 at 2:47 PM, Balaji Subramanian <subramanian@xxxxxxxxxxx> wrote:
Thanks Wyatt for the response and the information. My comments are inline.


Wyatt Spear wrote:
Greetings,

Can you confirm that the build step is completing successfully?  The build console should show you the full build command used by Eclipse and you should be able to run the resulting binary from the command line.
I think so there is problem with my build itself. The project build is not using my ppwupcc compiler but using the Internal Builder. I have pasted below the console output that I got form building it using the profiler. (the proj. name is upc_proj; the internal builder is upcc and I am trying to override it with ppwupcc)


**** Rebuild of configuration Default_PerformanceAnalysis_null for project upc_proj ****

**** Internal Builder is used for build               ****
upcc -osrc/upc_proj ../src/upc_proj.upc

  If the build step is working properly then try making this the very first tag in the execute section:

 <utility command="echo" group="inbin"/>

This will cause Eclipse to echo the launch command to its text output rather than attempt to execute the command.  Try entering the command at a regular linux console.

Please let me know how this works for you.  In particular, if the generated launch command works on the command line but fails in Eclipse this may be a bug that I will need to address on this side.

You can test the analysis step by selecting the 'Select existing performance data to analyze with the selected tool' option on the Performance Analysis tab of the launch configuration.  This will let you choose a ppw file from your file system instead of the default that it looks for after the execution step.
I tried testing the analysis step by selecting the 'Select existing performance data to analyze with the selected tool' option. This option allows me to select PPW file and launches the PPW GUI.

Please let me know your comments in why the rebuild of configuration is not working. Any help would be appreciated.

Thanks,
Balaji

Regards,
Wyatt Spear

On Mon, Jun 22, 2009 at 11:41 AM, Balaji Subramanian <subramanian@xxxxxxxxxxx> wrote:
Hi,
    We are trying to integrate our Parallel Performance Wizard tool with PTP by using the External Tools Framework (ETFw). The tool.xml which we are using is attached with this email.  The following steps were performed in launching our external tool:
1) Added the new tool by specifying our tool.xml in the Preferences menu option.
2) Created a new profiler configuration based on this tool.
3) When we try to profile it with our tool, it displays the progress bar specifying the launching delegate and it hangs.

I am not able to figure out why the launching delegate hangs. Besides, I am not able to see any information or debug messages what's really happening and why the launch fails.

Any information regarding nailing this issue would be very much appreciated.

 I am trying to launch the external tool framework with the following configuration:

Eclipse version 3.4.2 (build id: M20090211-1700)
PTP External tools framework  version (1.0.1.2009051108)
PTP Version (2.1.2-I200905110828)

Please let me know if you need any more information.

Thanks,
Balaji

_______________________________________________
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