1
1
openmpi/orte/util/hostfile/hostfile_lex.h
Ralph Castain 0005e6e834 Correct a couple of bugs in the rank_file mapper that were incorrectly assigning vpids.
Add a capability to parse the rankfile to extract node information in place of requiring both hostfile and rankfile for non-RM managed environments. The rankfile is -only- parsed for this IF the hostfile and -host options are not given. Otherwise, those are used to establish allocation info as we did before this commit.

This commit was SVN r21815.
2009-08-13 16:08:43 +00:00

83 строки
2.5 KiB
C

/* -*- C -*-
*
* Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana
* University Research and Technology
* Corporation. All rights reserved.
* Copyright (c) 2004-2005 The University of Tennessee and The University
* of Tennessee Research Foundation. All rights
* reserved.
* Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,
* University of Stuttgart. All rights reserved.
* Copyright (c) 2004-2005 The Regents of the University of California.
* All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*/
#ifndef ORTE_UTIL_HOSTFILE_LEX_H_
#define ORTE_UTIL_HOSTFILE_LEX_H_
#include "orte_config.h"
#ifdef malloc
#undef malloc
#endif
#ifdef realloc
#undef realloc
#endif
#ifdef free
#undef free
#endif
#include <stdio.h>
typedef union {
int ival;
char* sval;
} orte_hostfile_value_t;
extern int orte_util_hostfile_lex(void);
extern FILE *orte_util_hostfile_in;
extern int orte_util_hostfile_line;
extern bool orte_util_hostfile_done;
extern orte_hostfile_value_t orte_util_hostfile_value;
/*
* Make lex-generated files not issue compiler warnings
*/
#define YY_STACK_USED 0
#define YY_ALWAYS_INTERACTIVE 0
#define YY_NEVER_INTERACTIVE 0
#define YY_MAIN 0
#define YY_NO_UNPUT 1
#define YY_SKIP_YYWRAP 1
#define ORTE_HOSTFILE_DONE 0
#define ORTE_HOSTFILE_ERROR 1
#define ORTE_HOSTFILE_QUOTED_STRING 2
#define ORTE_HOSTFILE_EQUAL 3
#define ORTE_HOSTFILE_INT 4
#define ORTE_HOSTFILE_STRING 5
#define ORTE_HOSTFILE_CPU 6
#define ORTE_HOSTFILE_COUNT 7
#define ORTE_HOSTFILE_SLOTS 8
#define ORTE_HOSTFILE_SLOTS_MAX 9
#define ORTE_HOSTFILE_USERNAME 10
#define ORTE_HOSTFILE_IPV4 11
#define ORTE_HOSTFILE_HOSTNAME 12
#define ORTE_HOSTFILE_NEWLINE 13
#define ORTE_HOSTFILE_IPV6 14
#define ORTE_HOSTFILE_SLOT 15
#define ORTE_HOSTFILE_RELATIVE 16
#define ORTE_HOSTFILE_BOARDS 17
#define ORTE_HOSTFILE_SOCKETS_PER_BOARD 18
#define ORTE_HOSTFILE_CORES_PER_SOCKET 19
#define ORTE_HOSTFILE_CPU_SET 20
/* ensure we can handle a rank_file input */
#define ORTE_HOSTFILE_RANK 21
#endif