Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007 #ifndef SAGA_PACKAGES_JOB_JOB_DESCRIPTION_HPP
00008 #define SAGA_PACKAGES_JOB_JOB_DESCRIPTION_HPP
00009
00010 #include <string>
00011 #include <vector>
00012
00013
00014 #include <saga/saga/util.hpp>
00015 #include <saga/saga/base.hpp>
00016 #include <saga/saga/types.hpp>
00017 #include <saga/saga/session.hpp>
00018 #include <saga/saga/call.hpp>
00019 #include <saga/saga/detail/attribute.hpp>
00020
00021 #include <saga/saga/packages/job/config.hpp>
00022
00023
00024 #if defined(BOOST_MSVC)
00025 #pragma warning(push)
00026 #pragma warning(disable: 4251 4231 4275 4660)
00027 #endif
00028
00030 namespace saga
00031 {
00032 namespace job {
00033
00034 namespace attributes
00035 {
00039 char const* const description_executable = "Executable";
00042 char const* const description_arguments = "Arguments";
00045 char const* const description_environment = "Environment";
00048 char const* const description_working_directory = "WorkingDirectory";
00051 char const* const description_interactive = "Interactive";
00054 char const* const description_input = "Input";
00057 char const* const description_output = "Output";
00060 char const* const description_error = "Error";
00063 char const* const description_file_transfer = "FileTransfer";
00066 char const* const description_cleanup = "Cleanup";
00069 char const* const description_job_start_time = "JobStartTime";
00072 char const* const description_total_cpu_time = "TotalCPUTime";
00075 char const* const description_wall_time_limit = "WallTimeLimit";
00078 char const* const description_total_physical_memory = "TotalPhysicalMemory";
00081 char const* const description_cpu_architecture = "CPUArchitecture";
00082
00085 char const* const description_operating_system_type = "OperatingSystemType";
00089 char const* const description_candidate_hosts = "CandidateHosts";
00092 char const* const description_queue = "Queue";
00095 char const* const description_job_contact = "JobContact";
00098 char const* const description_job_project = "JobProject";
00101 char const* const description_spmd_variation = "SPMDVariation";
00104 char const* const description_total_cpu_count = "TotalCPUCount";
00107 char const* const description_number_of_processes = "NumberOfProcesses";
00110 char const* const description_processes_per_host = "ProcessesPerHost";
00113 char const* const description_threads_per_process = "ThreadsPerProcess";
00114
00116 char const* const description_cpuarchitecture_sparc = "sparc";
00118 char const* const description_cpuarchitecture_powerpc = "powerpc";
00120 char const* const description_cpuarchitecture_x86 = "x86";
00122 char const* const description_cpuarchitecture_x86_32 = "x86_32";
00124 char const* const description_cpuarchitecture_x86_64 = "x86_64";
00126 char const* const description_cpuarchitecture_parisc = "parisc";
00128 char const* const description_cpuarchitecture_mips = "mips";
00130 char const* const description_cpuarchitecture_ia64 = "ia64";
00132 char const* const description_cpuarchitecture_arm = "arm";
00134 char const* const description_cpuarchitecture_other = "other";
00135
00136
00138 char const* const description_spmdvariation_none = "None";
00139
00141 char const* const description_spmdvariation_mpi = "MPI";
00142
00144 char const* const description_spmdvariation_gridmpi = "GridMPI";
00145
00147 char const* const description_spmdvariation_intelmpi = "IntelMPI";
00148
00150 char const* const description_spmdvariation_lammpi = "LAM-MPI";
00151
00153 char const* const description_spmdvariation_mpich1 = "MPICH1";
00154
00156 char const* const description_spmdvariation_mpich2 = "MPICH2";
00157
00159 char const* const description_spmdvariation_mpichgm = "MPICH-GM";
00160
00162 char const* const description_spmdvariation_mpichmx = "MPICH-MX";
00163
00165 char const* const description_spmdvariation_mvapich = "MVAPICH";
00166
00168 char const* const description_spmdvariation_mvapich2 = "MVAPICH2";
00169
00171 char const* const description_spmdvariation_openmp = "OpenMP";
00172
00174 char const* const description_spmdvariation_poe = "POE";
00175
00177 char const* const description_spmdvariation_pvm = "PVM";
00178
00179
00180
00182 namespace detail
00183 {
00184 char const* const description_operating_system_unknown = "Unknown";
00185 char const* const description_operating_system_macos = "MACOS";
00186 char const* const description_operating_system_attunix = "ATTUNIX";
00187 char const* const description_operating_system_dgux = "DGUX";
00188 char const* const description_operating_system_decnt = "DECNT";
00189 char const* const description_operating_system_true64_unix = "True64_UNIX";
00190 char const* const description_operating_system_openvms = "openVMS";
00191 char const* const description_operating_system_hpux = "HPUX";
00192 char const* const description_operating_system_aix = "AIX";
00193 char const* const description_operating_system_mvs = "MVS";
00194 char const* const description_operating_system_os400 = "OS400";
00195 char const* const description_operating_system_os_2 = "OS_2";
00196 char const* const description_operating_system_javavm = "JavaVM";
00197 char const* const description_operating_system_msdos = "MSDOS";
00198 char const* const description_operating_system_win3x = "WIN3x";
00199 char const* const description_operating_system_win95 = "WIN95";
00200 char const* const description_operating_system_win98 = "WIN98";
00201 char const* const description_operating_system_winnt = "WINNT";
00202 char const* const description_operating_system_wince = "WINCE";
00203 char const* const description_operating_system_ncr3000 = "NCR3000";
00204 char const* const description_operating_system_netware = "netWare";
00205 char const* const description_operating_system_osf = "OSF";
00206 char const* const description_operating_system_dc_os = "DC_OS";
00207 char const* const description_operating_system_reliant_unix = "Reliant_UNIX";
00208 char const* const description_operating_system_sco_unixware = "SCO_UnixWare";
00209 char const* const description_operating_system_sco_openserver = "SCO_OpenServer";
00210 char const* const description_operating_system_sequent = "Sequent";
00211 char const* const description_operating_system_irix = "IRIX";
00212 char const* const description_operating_system_solaris = "Solaris";
00213 char const* const description_operating_system_sunos = "SunOS";
00214 char const* const description_operating_system_u6000 = "U6000";
00215 char const* const description_operating_system_aseries = "ASERIES";
00216 char const* const description_operating_system_tandemnsk = "TandemNSK";
00217 char const* const description_operating_system_tandemnt = "TandenNT";
00218 char const* const description_operating_system_bs2000 = "BS2000";
00219 char const* const description_operating_system_linux = "LINUX";
00220 char const* const description_operating_system_lynx = "Lynx";
00221 char const* const description_operating_system_xenix = "XENIX";
00222 char const* const description_operating_system_vm = "VM";
00223 char const* const description_operating_system_interactive_unix = "Interactive_UNIX";
00224 char const* const description_operating_system_bsdunix = "BSDUNIX";
00225 char const* const description_operating_system_freebsd = "FreeBSD";
00226 char const* const description_operating_system_netbsd = "NetBSD";
00227 char const* const description_operating_system_gnu_hurd = "GNU_Hurd";
00228 char const* const description_operating_system_os9 = "OS9";
00229 char const* const description_operating_system_mach_kernel = "MACH_Kernel";
00230 char const* const description_operating_system_inferno = "Inferno";
00231 char const* const description_operating_system_qnx = "QNX";
00232 char const* const description_operating_system_epoc = "EPOC";
00233 char const* const description_operating_system_ixworks = "IxWorks";
00234 char const* const description_operating_system_vxworks = "VxWorks";
00235 char const* const description_operating_system_mint = "MiNT";
00236 char const* const description_operating_system_beos = "BeOS";
00237 char const* const description_operating_system_hp_mpe = "HP_MPE";
00238 char const* const description_operating_system_nextstep = "NextStep";
00239 char const* const description_operating_system_palmpilot = "PalmPilot";
00240 char const* const description_operating_system_rhapsody = "Rhapsody";
00241 char const* const description_operating_system_windows_2000 = "Windows_2000";
00242 char const* const description_operating_system_dedicated = "Dedicated";
00243 char const* const description_operating_system_os_390 = "OS_390";
00244 char const* const description_operating_system_vse = "VSE";
00245 char const* const description_operating_system_tpf = "TPF";
00246 char const* const description_operating_system_windows_me = "Windows_Me";
00247 char const* const description_operating_system_caldera_open_unix = "Caldera_open_UNIX";
00248 char const* const description_operating_system_openbsd = "OpenBSD";
00249 char const* const description_operating_system_not_applicable = "Not_Applicable";
00250 char const* const description_operating_system_windows_xp = "Windows_XP";
00251 char const* const description_operating_system_z_os = "z_OS";
00252 char const* const description_operating_system_other = "other";
00253 }
00255 }
00256
00266 class SAGA_JOB_PACKAGE_EXPORT description
00267 : public saga::object,
00268 public saga::detail::attribute<description>
00269 {
00270 protected:
00272
00273 friend struct saga::detail::attribute<description>;
00274 friend class saga::impl::description;
00275 explicit description(saga::impl::description *impl);
00277
00278 public:
00283 description (void);
00284
00289 explicit description (saga::object const& o);
00290
00295 ~description (void);
00296
00301 description &operator= (saga::object const& o);
00302
00303 };
00304
00305 }
00306 }
00307
00308
00309 #if defined(BOOST_MSVC)
00310 #pragma warning(pop)
00311 #endif
00312
00313 #endif // !defined(SAGA_PACKAGES_JOB_JOB_DESCRIPTION_HPP)
00314