BeowulfOpts.C

Go to the documentation of this file.
00001 /*!@file Beowulf/BeowulfOpts.C */
00002 
00003 // //////////////////////////////////////////////////////////////////// //
00004 // The iLab Neuromorphic Vision C++ Toolkit - Copyright (C) 2000-2005   //
00005 // by the University of Southern California (USC) and the iLab at USC.  //
00006 // See http://iLab.usc.edu for information about this project.          //
00007 // //////////////////////////////////////////////////////////////////// //
00008 // Major portions of the iLab Neuromorphic Vision Toolkit are protected //
00009 // under the U.S. patent ``Computation of Intrinsic Perceptual Saliency //
00010 // in Visual Environments, and Applications'' by Christof Koch and      //
00011 // Laurent Itti, California Institute of Technology, 2001 (patent       //
00012 // pending; application number 09/912,225 filed July 23, 2001; see      //
00013 // http://pair.uspto.gov/cgi-bin/final/home.pl for current status).     //
00014 // //////////////////////////////////////////////////////////////////// //
00015 // This file is part of the iLab Neuromorphic Vision C++ Toolkit.       //
00016 //                                                                      //
00017 // The iLab Neuromorphic Vision C++ Toolkit is free software; you can   //
00018 // redistribute it and/or modify it under the terms of the GNU General  //
00019 // Public License as published by the Free Software Foundation; either  //
00020 // version 2 of the License, or (at your option) any later version.     //
00021 //                                                                      //
00022 // The iLab Neuromorphic Vision C++ Toolkit is distributed in the hope  //
00023 // that it will be useful, but WITHOUT ANY WARRANTY; without even the   //
00024 // implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR      //
00025 // PURPOSE.  See the GNU General Public License for more details.       //
00026 //                                                                      //
00027 // You should have received a copy of the GNU General Public License    //
00028 // along with the iLab Neuromorphic Vision C++ Toolkit; if not, write   //
00029 // to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,   //
00030 // Boston, MA 02111-1307 USA.                                           //
00031 // //////////////////////////////////////////////////////////////////// //
00032 //
00033 // Primary maintainer for this file:
00034 // $HeadURL: svn://isvn.usc.edu/software/invt/trunk/saliency/src/Beowulf/BeowulfOpts.C $
00035 // $Id: BeowulfOpts.C 6437 2006-04-07 17:16:42Z rjpeters $
00036 //
00037 
00038 #ifndef BEOWULF_BEOWULFOPTS_C_DEFINED
00039 #define BEOWULF_BEOWULFOPTS_C_DEFINED
00040 
00041 #include "Beowulf/BeowulfOpts.H"
00042 
00043 #include "Component/ModelOptionDef.H"
00044 
00045 #ifdef HAVE_ARPA_INET_H
00046 #include <arpa/inet.h>
00047 #endif
00048 #include <netinet/in.h>
00049 
00050 const ModelOptionCateg MOC_BEOWULF = {
00051   MOC_SORTPRI_2, "Beowulf-Related Options" };
00052 
00053 // Format here is:
00054 //
00055 // { MODOPT_TYPE, "name", &MOC_CATEG, OPTEXP_CORE,
00056 //   "description of what option does",
00057 //   "long option name", 'short option name', "valid values", "default value" }
00058 //
00059 
00060 // alternatively, for MODOPT_ALIAS option types, format is:
00061 //
00062 // { MODOPT_ALIAS, "", &MOC_ALIAS, OPTEXP_CORE,
00063 //   "description of what alias does",
00064 //   "long option name", 'short option name', "", "list of options" }
00065 //
00066 
00067 // NOTE: do not change the default value of any existing option unless
00068 // you really know what you are doing!  Many components will determine
00069 // their default behavior from that default value, so you may break
00070 // lots of executables if you change it.
00071 
00072 // #################### Beowulf options
00073 // Used by: Beowulf
00074 const ModelOptionDef OPT_BeowulfSlaveNames =
00075   { MODOPT_ARG_STRING, "BeowulfSlaveNames", &MOC_BEOWULF, OPTEXP_CORE,
00076     "Comma-separated list of names of slaves to use, in the hostname:port "
00077     "format (default port will be used if not specified), or single absolute "
00078     "path to a text file that contains the node names, one per line.",
00079     "beowulf-slaves", '\0', "<host:port,host:port,...|/path/to/nodelist.txt>",
00080     "/etc/nodes" };
00081 
00082 // Used by: Beowulf
00083 const ModelOptionDef OPT_BeowulfMaster =
00084   { MODOPT_FLAG, "BeowulfMaster", &MOC_BEOWULF, OPTEXP_CORE,
00085     "Flags this as the master node",
00086     "beowulf-master", '\0', "", "false" };
00087 
00088 // Used by: TCPcommunicator
00089 const ModelOptionDef OPT_TCPcommunicatorIPaddr =
00090   { MODOPT_ARG(in_addr), "TCPcommunicatorIPaddr", &MOC_BEOWULF, OPTEXP_CORE,
00091     "Our IP address to use for Beowulf communications (useful if we have "
00092     "several ethernet interfaces), or 0.0.0.0 to determine it automatically "
00093     "from our hostname",
00094     "ip-addr", '\0', "<int>.<int>.<int>.<int>", "0.0.0.0" };
00095 
00096 // Used by: TCPcommunicator
00097 const ModelOptionDef OPT_TCPcommunicatorInQlen =
00098   { MODOPT_ARG(int), "TCPcommunicatorInQlen", &MOC_BEOWULF, OPTEXP_CORE,
00099     "Queue length for incoming messages, or zero for unlimited",
00100     "tcp-inqlen", '\0', "<int>", "100" };
00101 
00102 // Used by: TCPcommunicator
00103 const ModelOptionDef OPT_TCPcommunicatorOuQlen =
00104   { MODOPT_ARG(int), "TCPcommunicatorOuQlen", &MOC_BEOWULF, OPTEXP_CORE,
00105     "Queue length for outgoing messages, or zero for unlimited",
00106     "tcp-outqlen", '\0', "<int>", "100" };
00107 
00108 // Used by: TCPcommunicator
00109 const ModelOptionDef OPT_TCPcommunicatorInDropLast =
00110   { MODOPT_FLAG, "TCPcommunicatorInDropLast", &MOC_BEOWULF, OPTEXP_CORE,
00111     "Message dropping policy when incoming queue is full; if true, the "
00112     "most recent (last received) message will be dropped, otherwise, the "
00113     "least recent will be dropped",
00114     "tcp-indroplast", '\0', "", "false" };
00115 
00116 // Used by: TCPcommunicator
00117 const ModelOptionDef OPT_TCPcommunicatorOuDropLast =
00118   { MODOPT_FLAG, "TCPcommunicatorOuDropLast", &MOC_BEOWULF, OPTEXP_CORE,
00119     "Message dropping policy when outgoing queue is full; if true, the "
00120     "most recent (last queued) message will be dropped, otherwise, the "
00121     "least recent will be dropped",
00122     "tcp-outdroplast", '\0', "", "false" };
00123 
00124 // Used by: TCPcommunicator
00125 const ModelOptionDef OPT_TCPcommunicatorDisableShm =
00126   { MODOPT_FLAG, "TCPcommunicatorDisableShm", &MOC_BEOWULF, OPTEXP_CORE,
00127     "Disable the use of shared memory for faster transfers between two "
00128     "Beowulf nodes running on the same physical machine",
00129     "tcp-disable-shm", '\0', "", "false" };
00130 
00131 // Used by: TCPcommunicator
00132 const ModelOptionDef OPT_SockServPort =
00133   { MODOPT_ARG(short), "SockServPort", &MOC_BEOWULF, OPTEXP_CORE,
00134     "Port on which to listen for incoming Beowulf connections, "
00135     "or 0 to determine it from /etc/services",
00136     "ip-port", '\0', "<int>", "0" };
00137 
00138 // Used by: Beowulf
00139 const ModelOptionDef OPT_BeowulfSelfQlen =
00140   { MODOPT_ARG(int), "BeowulfSelfQlen", &MOC_BEOWULF, OPTEXP_CORE,
00141     "Queue length for self-addressed messages, or zero for unlimited",
00142     "tcp-selfqlen", '\0', "<int>", "100" };
00143 
00144 // Used by: Beowulf
00145 const ModelOptionDef OPT_BeowulfSelfDropLast =
00146   { MODOPT_FLAG, "BeowulfSelfDropLast", &MOC_BEOWULF, OPTEXP_CORE,
00147     "Message dropping policy when self-addressed message queue is full; "
00148     "if true, the most recent (last received) message will be dropped, "
00149     "otherwise, the least recent will be dropped",
00150     "tcp-selfdroplast", '\0', "", "false" };
00151 
00152 // Used by: SingleChannelBeoServer
00153 const ModelOptionDef OPT_SingleChannelBeoServerQuickMode =
00154   { MODOPT_FLAG, "SingleChannelBeoServerQuickMode", &MOC_BEOWULF, OPTEXP_CORE,
00155     "Use quick mode where only the output map is sent back for each"
00156     "channel; this will break any program that attempts to access other"
00157     "channel results, such as the pyramid queue, submaps or clipPyramid",
00158     "scbserver-quickmode", '\0', "", "true" };
00159 
00160 const ModelOptionDef OPT_BeowulfInitTimeout =
00161   { MODOPT_ARG(double), "BeowulfInitTimeout", &MOC_BEOWULF, OPTEXP_CORE,
00162     "Max time in seconds to wait for Beowulf initialization, "
00163     "or zero for unlimited",
00164     "beowulf-init-timeout", '\0', "<float>", "0" };
00165 
00166 // ######################################################################
00167 /* So things look consistent in everyone's emacs... */
00168 /* Local Variables: */
00169 /* indent-tabs-mode: nil */
00170 /* End: */
00171 
00172 #endif // BEOWULF_BEOWULFOPTS_C_DEFINED
Generated on Sun May 8 08:04:33 2011 for iLab Neuromorphic Vision Toolkit by  doxygen 1.6.3