Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [ptp-user] Failed to create control for the dynamic tab "Basic Optoins"

Greg,
Thanks for the prompt reply. I did not find:
<widget type="checkbox" title="No local" attribute="noLocalOption">
<layout-data>
<grid-data horizontalSpan="2"/>
</layout-data>
</widget>

I removed line 111:
<arg attribute="noLocalOption" isUndefinedIfMatches="false">-nolocal</arg>

When I try to use a customized target configuration, I get error:

Failed to execute command: ompi_info -a --parsable
Reason:
Cannot run program "ompi_info": Unknown reason.

Could you help, please? (see attached xml file).

Thanks in advance,
--Ted

P.S. Could you point to the site where I could file a bug, please?


On 07/21/2013 11:36 AM, Greg Watson wrote:
Unfortunately there was no bug open, so it didn't get fixed. Please open a bug so that it will be fixed in the next release.

Until then, you can work around the problem by importing the MPICH2-Generic-Interactive target configuration into your workspace, remove lines 130-134 [1], then using this target configuration when you create the run configuration. See http://wiki.eclipse.org/Parallel_Tools_Platform_FAQ#Q:_How_do_I_customize_an_existing_Target_System_Configuration.3F for more information.

Regards,
Greg

[1] Lines 130-134 should look like this:

<widget type="checkbox" title="No local" attribute="noLocalOption">
<layout-data>
<grid-data horizontalSpan="2"/>
</layout-data>
</widget>

On Jul 21, 2013, at 10:52 AM, Ted Sariyski <tsariysk@xxxxxxxxxxxxxx> wrote:

Hi,
I posted this weeks ago (see attachment), but the issue is not resolved in ptp 7.0.2. I don't see other reports on this issue, which makes me think that there is something wrong in my Eclipse configuration (Kepler, running on x86_64 Linux/CentOS 6). Could somebody help how to track this issue, please?
Thanks,
--Ted

Hi,
I posted this a couple of days ago, but got no response. Let me clarify the question.

I have problem to configure a parallel application for debugging. To illustrate the problem I followed the step-by-step instructions for demo project  "Calculate Pi - Fortran using MPI". I am able to build and execute the project as a "Fortran Local Application".  As to configuring a Parallel Application,  from "Run Configurations":
  1. Parallel Application
  2. Name: myPi;
  3. Resources -> "MPICH2-Generic-Interactive"
  4. Connection Type: Local
At this point a "Launch Error" pops up:

--------------------------------------------------------------------------------
Failed to create control for the dynamic tab "Basic Optoins"
Reason:
Undefined attribute "nonLocalOption" in WidgetType
--------------------------------------------------------------------------------


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



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

<?xml version="1.0" encoding="UTF-8"?>
<!-- ******************************************************************************* -->
<!-- * Copyright (c) 2011 IBM Corporation. All rights reserved. This program -->
<!-- * and the accompanying materials are made available under the terms of the -->
<!-- * Eclipse Public License v1.0 which accompanies this distribution, and is -->
<!-- * available at http://www.eclipse.org/legal/epl-v10.html -->
<!-- * -->
<!-- ****************************************************************************** -->
<resource-manager-builder 
	xmlns="http://eclipse.org/ptp/rm"; 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
	xsi:schemaLocation="http://eclipse.org/ptp/rm http://eclipse.org/ptp/schemas/v1.1/rm.xsd"; 
	name="Open MPI-Generic-Interactive (mine)">
	<control-data>
		<attribute name="ompi_minor_version" visible="false" type="integer"/>
		<attribute name="local_prefix" visible="false" type="string">
			<default></default>
		</attribute>
		<attribute name="mpiNumberOfProcesses" min="1" type="integer"/>
		<attribute name="byNodeOption" type="boolean"/>
		<attribute name="bySlotOption" type="boolean"/>
		<attribute name="noOversubscribeOption" type="boolean"/>
		<attribute name="noLocalOption" type="boolean"/>
		<attribute name="prefixOption" type="boolean"/>
		<attribute name="prefix" type="string"/>
		<attribute name="hostFileOption" type="boolean"/>
		<attribute name="hostFile" type="string"/>
		<attribute name="hostListOption" type="boolean"/>
		<attribute name="hostList" type="string"/>
		<attribute name="extraArgs" type="string"/>
		
		<!-- Constant attribute used to disable widgets -->
		<attribute name="disabled" visible="false" readOnly="true" type="boolean">
			<default>true</default>
		</attribute>
		
		<start-up-command name="ompi_info">
			<arg>${ptp_rm:local_prefix#value}ompi_info</arg>
			<arg>-a</arg>
			<arg>--parseable</arg>
			<stdout-parser delim="\n">
				<target allowOverwrites="true">
					<match>
						<expression>mca:.*:param:([^:]*):value:(.*)</expression>
						<set field="name">
							<entry valueGroup="1"/>
						</set>
						<set field="visible">
							<entry value="true"/>
						</set>
						<set field="value">
							<entry valueGroup="2"/>
						</set>
					</match>
					<match>
						<expression>mca:.*:param:([^:]*):status:(.*)</expression>
						<set field="name">
							<entry valueGroup="1"/>
						</set>
						<set field="status">
							<entry valueGroup="2"/>
						</set>
					</match>
					<match>
						<expression>mca:.*:param:([^:]*):help:(.*)</expression>
						<set field="name">
							<entry valueGroup="1"/>
						</set>
						<set field="tooltip">
							<entry valueGroup="2"/>
						</set>
					</match>
					<test op="EQ">
						<value>#status</value>
						<value>read-only</value>
						<set field="readOnly">
							<entry value="true"/>
						</set>
						<else>
							<set field="readOnly">
								<entry value="false"/>
							</set>
						</else>
					</test>
				</target>
				<target>
					<match>
						<expression>ompi:version:full:[\d]+\.([\d]+).*</expression>
						<set field="name">
							<entry value="ompi_minor_version"/>
						</set>
						<set field="value">
							<entry valueGroup="1"/>
						</set>
					</match>
					<test op="LT">
						<value>#value</value>
						<value>3</value>
						<throw message="Only supports Open MPI 1.3 and later"/>
					</test>
				</target>
			</stdout-parser>
		</start-up-command>
		<submit-interactive name="submit-interactive" directory="${ptp_rm:directory#value}">
			<arg>perl ${ptp_rm:ptpDirectory#value}/rms/OPENMPI/start_job.pl</arg>
			<arg>${ptp_rm:local_prefix#value}mpirun</arg>
			<arg>-np ${ptp_rm:mpiNumberOfProcesses#value}</arg>
			<arg attribute="byNodeOption" isUndefinedIfMatches="false">-bynode</arg>
			<arg attribute="bySlotOption" isUndefinedIfMatches="false">-byslot</arg>
			<arg attribute="noOversubscribeOption" isUndefinedIfMatches="false">-nooversubscribe</arg>
			<arg attribute="prefixOption" isUndefinedIfMatches="false">--prefix ${ptp_rm:prefix#value}</arg>
			<arg attribute="hostListOption" isUndefinedIfMatches="false">--host ${ptp_rm:hostList#value}</arg>
			<arg attribute="hostFileOption" isUndefinedIfMatches="false">--hostfile ${ptp_rm:hostFile#value}</arg>
			<arg>${ptp_rm:allAttributes#value}</arg>
			<arg>${ptp_rm:extraArgs#value}</arg>
			<arg>${ptp_rm:executablePath#value}</arg>
			<arg>${ptp_rm:progArgs#value}</arg>
			<environment name="PTP_JOBID" value="@jobId"/>
			<environment name="PTP_LAUNCH_MODE" value="${ptp_rm:launchMode#value}" />
			<stdout-parser delim="\n">
				<target ref="@jobId">
					<match>
						<expression>#PTP job_id=([0-9]+)</expression>
						<set field="name">
							<entry valueGroup="1" />
						</set>
						<set field="value">
							<entry value="RUNNING" />
						</set>
					</match>
				</target>
			</stdout-parser>
		</submit-interactive>
		<submit-interactive-debug name="submit-interactive-debug" directory="${ptp_rm:executableDirectory#value}" waitForId="true" keepOpen="true">
			<arg>perl ${ptp_rm:ptpDirectory#value}/rms/OPENMPI/start_job.pl</arg>
			<arg>${ptp_rm:local_prefix#value}mpirun</arg>
			<arg>-np ${ptp_rm:mpiNumberOfProcesses#value}</arg>
			<arg attribute="byNodeOption" isUndefinedIfMatches="false">-bynode</arg>
			<arg attribute="bySlotOption" isUndefinedIfMatches="false">-byslot</arg>
			<arg attribute="noOversubscribeOption" isUndefinedIfMatches="false">-nooversubscribe</arg>
			<arg attribute="noLocalOption" isUndefinedIfMatches="false">-nolocal</arg>
			<arg attribute="prefixOption" isUndefinedIfMatches="false">--prefix ${ptp_rm:prefix#value}</arg>
			<arg attribute="hostListOption" isUndefinedIfMatches="false">--host ${ptp_rm:hostList#value}</arg>
			<arg attribute="hostFileOption" isUndefinedIfMatches="false">--hostfile ${ptp_rm:hostFile#value}</arg>
			<arg>${ptp_rm:allAttributes#value}</arg>
			<arg>${ptp_rm:extraArgs#value}</arg>
			<environment name="PTP_JOBID" value="@jobId"/>
			<environment name="PTP_LAUNCH_MODE" value="${ptp_rm:launchMode#value}" />
			<environment name="PTP_DEBUGGER_EXECUTABLE_PATH" value="${ptp_rm:debuggerExecutablePath#value}"/>
			<environment name="PTP_DEBUGGER_ARGS" value="${ptp_rm:debuggerArgs#value}"/>
			<stdout-parser delim="\n">
				<target ref="@jobId">
					<match>
						<expression>#PTP job_id=([0-9]+)</expression>
						<set field="name">
							<entry valueGroup="1" />
						</set>
						<set field="value">
							<entry value="RUNNING" />
						</set>
					</match>
				</target>
			</stdout-parser>
			<pre-launch-cmd name="SDM Master" exec="${ptp_rm:debuggerExecutablePath#value} --master --routing_file=routes_@jobId ${ptp_rm:debuggerArgs#value}" wait="false"/>
		</submit-interactive-debug>		
		<launch-tab>
			<dynamic includeWidgetValuesFrom="Advanced Options">
				<title>Basic Options</title>
				<layout>
					<grid-layout numColumns="1"/>
				</layout>
				<composite>
					<layout>
						<grid-layout numColumns="2"/>
					</layout>
					<widget type="label" style="SWT.LEFT">
						<fixed-text>Number of processes:</fixed-text>
					</widget>
					<widget type="spinner" style="SWT.BORDER" readOnly="false" attribute="mpiNumberOfProcesses">
						<layout-data>
							<grid-data horizontalAlign="SWT.LEFT" verticalAlign="SWT.CENTER"
								grabExcessHorizontal="false" grabExcessVertical="false"/>
						</layout-data>
					</widget>
				</composite>
				<!-- Options group -->
				<composite group="true">
					<layout>
						<grid-layout numColumns="4"/>
					</layout>
					<layout-data>
						<grid-data horizontalAlign="SWT.FILL" grabExcessHorizontal="true"/>
					</layout-data>
					<title>Options</title>
					<widget type="checkbox" title="By node" attribute="byNodeOption"/>
					<widget type="checkbox" title="By slot" attribute="bySlotOption"/>
					<widget type="checkbox" title="No oversubscribe" attribute="noOversubscribeOption"/>
					<widget type="checkbox" title="No local" attribute="noLocalOption"/>
					<widget type="checkbox" title="Prefix:" buttonId="prefixButton" attribute="prefixOption"/>
					<widget type="text" style="SWT.BORDER" attribute="prefix">
						<layout-data>
							<grid-data horizontalAlign="SWT.FILL" horizontalSpan="3" grabExcessHorizontal="true"/>
						</layout-data>
						<control-state>
							<enable-if button="prefixButton" selected="true"/>
						</control-state>
					</widget>
				</composite>
				<composite group="true">
					<layout>
						<grid-layout numColumns="3" makeColumnsEqualWidth="false"/>
					</layout>
					<layout-data>
						<grid-data horizontalAlign="SWT.FILL" verticalAlign="SWT.FILL"  grabExcessHorizontal="true" grabExcessVertical="true"/>
					</layout-data>
					<title>Hosts</title>
					<widget type="checkbox" title="Host file:" buttonId="hostFileButton" attribute="hostFileOption"/>
					<browse textStyle="SWT.BORDER" title="Browse" attribute="hostFile">
						<text-layout-data>
							<grid-data horizontalAlign="SWT.FILL" verticalAlign="SWT.CENTER" grabExcessHorizontal="true"/>
						</text-layout-data>
						<button-layout-data>
							<grid-data horizontalAlign="SWT.RIGHT" verticalAlign="SWT.CENTER"/>
						</button-layout-data>
						<text-control-state>
							<enable-if button="hostFileButton" selected="true"/>
						</text-control-state>
						<button-control-state>
							<enable-if button="hostFileButton" selected="true"/>
						</button-control-state>
					</browse>					
					<widget type="checkbox" title="Host list:" buttonId="hostListButton" attribute="hostListOption">
						<layout-data>
							<grid-data horizontalAlign="SWT.LEFT" verticalAlign="SWT.TOP"/>
						</layout-data>
					</widget>
					<widget type="text" style="SWT.BORDER" attribute="hostList">
						<layout-data>
							<grid-data horizontalAlign="SWT.FILL" verticalAlign="SWT.FILL" horizontalSpan="2" 
								grabExcessHorizontal="true" grabExcessVertical="false" heightHint="400"/>
						</layout-data>
						<control-state>
							<enable-if button="hostListButton" selected="true"/>
						</control-state>
					</widget>
				</composite>
			</dynamic>
			<dynamic includeWidgetValuesFrom="Basic Options">
				<title>Advanced Options</title>
				<layout>
					<grid-layout numColumns="1"/>
				</layout>
				<composite>
					<layout>
						<grid-layout numColumns="1"/>
					</layout>
					<layout-data>
						<grid-data horizontalAlign="SWT.FILL" grabExcessHorizontal="true"/>
					</layout-data>
					<!-- Launch group -->
					<composite group="true">
						<layout>
							<grid-layout numColumns="2" makeColumnsEqualWidth="false"/>
						</layout>
						<layout-data>
							<grid-data horizontalAlign="SWT.FILL" grabExcessHorizontal="true" grabExcessVertical="false"/>
						</layout-data>
						<title>Launch Arguments</title>
						<widget type="label" style="SWT.LEFT" foreground="SWT.COLOR_DARK_BLUE">
							<fixed-text>Arguments:</fixed-text>
						</widget>
						<widget type="text" style="SWT.LEFT | SWT.BORDER">
							<layout-data>
								<grid-data horizontalAlign="SWT.FILL" grabExcessHorizontal="true" grabExcessVertical="false" widthHint="400"/>
							</layout-data>
							<dynamic-text>
								<arg>-np ${ptp_rm:mpiNumberOfProcesses#value}</arg>
								<arg attribute="byNodeOption" isUndefinedIfMatches="false">-bynode</arg>
								<arg attribute="bySlotOption" isUndefinedIfMatches="false">-byslot</arg>
								<arg attribute="noOversubscribeOption" isUndefinedIfMatches="false">-nooversubscribe</arg>
								<arg attribute="noLocalOption" isUndefinedIfMatches="false">-nolocal</arg>
								<arg attribute="prefixOption" isUndefinedIfMatches="false">--prefix ${ptp_rm:prefix#value}</arg>
								<arg attribute="hostListOption" isUndefinedIfMatches="false">--host ${ptp_rm:hostList#value}</arg>
								<arg attribute="hostFileOption" isUndefinedIfMatches="false">--hostfile ${ptp_rm:hostFile#value}</arg>
								<arg>${ptp_rm:allAttributes#value}</arg>
								<arg>${ptp_rm:extraArgs#value}</arg>
							</dynamic-text>
							<control-state>
								<disable-if attribute="disabled" value="true"/>
							</control-state>
						</widget>
						<widget type="label" style="SWT.LEFT" foreground="SWT.COLOR_DARK_BLUE">
							<fixed-text>Extra Arguments:</fixed-text>
						</widget>
						<widget type="text" style="SWT.BORDER" attribute="extraArgs">
							<layout-data>
								<grid-data horizontalAlign="SWT.FILL" grabExcessHorizontal="true"/>
							</layout-data>
						</widget>
					</composite>
					<!-- MCA group -->
					<composite group="true">
						<layout>
							<grid-layout numColumns="1"/>
						</layout>
						<layout-data>
							<grid-data horizontalAlign="SWT.FILL" grabExcessHorizontal="true"/>
						</layout-data>
						<title>MCA Parameters</title>
						<viewer name="allAttributes" style="SWT.BORDER | SWT.MULTI" sort="true" type="table" initialAllChecked="false">
							<layout-data>
								<grid-data horizontalAlign="SWT.FILL" grabExcessHorizontal="true"/>
							</layout-data>
							<column-data name="Name" width="175">
								<tooltip>Double-click on selected rows toggles their checked value.</tooltip>
							</column-data>
							<column-data name="Value" width="200">
								<tooltip>Click to activate value widget.</tooltip>
							</column-data>
							<items allDiscovered="true">
							</items>
							<value pattern="-mca @name &quot;@value&quot;"/>
						</viewer>
					</composite>
				</composite>
			</dynamic>
		</launch-tab>
	</control-data>
</resource-manager-builder>

Back to the top