Jeff Squyres wrote:

On Jul 6, 2007, at 5:20 PM, Don Kerr wrote:

Are there any guidelines about the use of opal_output_verbose?

Not so much.

       - Are there hidden meanings for a given verbose level? e.g. 0
reserved for PML, or 50-100 for BTL and so on

Nope. The output was designed to use the values with >= kinds of checking; i.e., the higher the verbose value the user gives, the more output they see. I.e., the values are not used in a "bit flag" sense (i.e., each bit enables/disables a specific set of output).

       - Maybe the base component output_id is ok to use in situation
XYZ but a component specific output_id should be used in situation ABC?
Or should never be used for component specific output?

I've typically used the base component output_id whenever possible. I usually started off having an output ID for a specific component, but usually that was for debugging (and therefore having oodles and oodles of output). By the time I was done, I usually had only a few output statements and therefore used the base ID.

I guess my suggestion would be: if you're going to have a LOT of output, then make it a component-specific ID. If it's a "reasonable" amount, then just use the base ID. Definitions of those terms are subjective and intentionally fuzzy. :-)

Why I ask. I want to report a warning to the user when "--enable- debug" is not configured. I also do not want the error to show up all the time,
only when for example --mca btl_base_debug is set to some value. I am
thinking I will just use opal_output_verbose but wanted to see if there were any guidelines about its use? Or if I should be thinking about some
other option all together.

You want a warning to show when:

1. the udapl btl is used
2. --enable-debug was not configured
3. the user specifies btl_*_verbose (or btl_*_debug) >= some_value

Is that right? If so, is the intent to warn that somen checks are not being performed that one would otherwise assume are being performed (because of #3)?
#1 and #2 is just to convey the environment I expect the user to be running in, not the error case. Interpretation of #3 is a little askew. uDAPL gets its HCA information from /etc/dat.conf. This file has an entry for each HCA, even those that are potentially not "UP". Also it appears the OFED stack includes by default an entry for "OpenIB-bond" which I have not figured out what it is yet. In anycase uDAPL has trouble distinguishing if an HCA is down intentionally or if is down because something is wrong. So the uDAPL BTL attempts to open all of the entries in this file. And the issues becomes how much information to toss back to the user. If a node has two IB interfaces but only one is up, do they want see a warning message about one of the interfaces being down when they already know this by looking at "ifconfig"? I think not. But this could be valueable information if there is a real problem.

Since its just one message at this point I think I will go with the base output_id and if I need more I will look to create a component specific id. Thanks Jeff.

I expect to pursue this in order to find a better way to distinguish between an interface that is up or down but I don't have a solution at the moment.

-DON


Reply via email to