1
1
Remove contrib/windows/
Merge hwlocXYZ/hwloc/README-ompi.txt back into hwlocXYZ/README-ompi.txt instead of having both.
Add README.txt in new automake-required directory contrib/systemd/

Keep the following patches applied since they are not in 1.11.3
    linux: actually enable libudev based on the result of AC_CHECK_LIB
    (cherry picked from open-mpi/hwloc@9549fd59af)
    configure: check the actual may_alias syntax that we use
    (cherry picked from open-mpi/hwloc@0ab7af5e90)
Этот коммит содержится в:
Brice Goglin 2016-04-26 14:56:37 +02:00
родитель 5ec1eedbae
Коммит ca621330a6
129 изменённых файлов: 1336 добавлений и 4523 удалений

Просмотреть файл

@ -1,4 +0,0 @@
Applied the following patches from the upstream hwloc 1.11 branch after
the v1.11.1 release:
...none yet...

Просмотреть файл

@ -1,174 +0,0 @@
# -*- shell-script -*-
#
# Copyright (c) 2009-2015 Cisco Systems, Inc. All rights reserved.
# Copyright (c) 2014-2015 Intel, Inc. All rights reserved.
# Copyright (c) 2015 Research Organization for Information Science
# and Technology (RIST). All rights reserved.
# Copyright (c) 2016 Los Alamos National Security, LLC. All rights
# reserved.
#
# $COPYRIGHT$
#
# Additional copyrights may follow
#
# $HEADER$
#
#
# Priority
#
AC_DEFUN([MCA_opal_hwloc_hwloc1112_PRIORITY], [90])
#
# Force this component to compile in static-only mode
#
AC_DEFUN([MCA_opal_hwloc_hwloc1112_COMPILE_MODE], [
AC_MSG_CHECKING([for MCA component $2:$3 compile mode])
$4="static"
AC_MSG_RESULT([$$4])
])
# Include hwloc m4 files
m4_include(opal/mca/hwloc/hwloc1112/hwloc/config/hwloc.m4)
m4_include(opal/mca/hwloc/hwloc1112/hwloc/config/hwloc_pkg.m4)
m4_include(opal/mca/hwloc/hwloc1112/hwloc/config/hwloc_check_attributes.m4)
m4_include(opal/mca/hwloc/hwloc1112/hwloc/config/hwloc_check_visibility.m4)
m4_include(opal/mca/hwloc/hwloc1112/hwloc/config/hwloc_check_vendor.m4)
m4_include(opal/mca/hwloc/hwloc1112/hwloc/config/hwloc_components.m4)
# MCA_hwloc_hwloc1112_POST_CONFIG()
# ---------------------------------
AC_DEFUN([MCA_opal_hwloc_hwloc1112_POST_CONFIG],[
OPAL_VAR_SCOPE_PUSH([opal_hwloc_hwloc1112_basedir])
# If we won, then do all the rest of the setup
AS_IF([test "$1" = "1" && test "$opal_hwloc_hwloc1112_support" = "yes"],
[
# Set this variable so that the framework m4 knows what
# file to include in opal/mca/hwloc/hwloc.h
opal_hwloc_hwloc1112_basedir=opal/mca/hwloc/hwloc1112
opal_hwloc_base_include="$opal_hwloc_hwloc1112_basedir/hwloc1112.h"
# Add some stuff to CPPFLAGS so that the rest of the source
# tree can be built
file=$opal_hwloc_hwloc1112_basedir/hwloc
CPPFLAGS="$CPPFLAGS -I$OPAL_TOP_SRCDIR/$file/include"
AS_IF([test "$OPAL_TOP_BUILDDIR" != "$OPAL_TOP_SRCDIR"],
[CPPFLAGS="$CPPFLAGS -I$OPAL_TOP_BUILDDIR/$file/include"])
unset file
])
OPAL_VAR_SCOPE_POP
# This must be run unconditionally
HWLOC_DO_AM_CONDITIONALS
])dnl
# MCA_hwloc_hwloc1112_CONFIG([action-if-found], [action-if-not-found])
# --------------------------------------------------------------------
AC_DEFUN([MCA_opal_hwloc_hwloc1112_CONFIG],[
# Hwloc needs to know if we have Verbs support
AC_REQUIRE([OPAL_CHECK_VERBS_DIR])
AC_CONFIG_FILES([opal/mca/hwloc/hwloc1112/Makefile])
OPAL_VAR_SCOPE_PUSH([HWLOC_VERSION opal_hwloc_hwloc1112_save_CPPFLAGS opal_hwloc_hwloc1112_save_LDFLAGS opal_hwloc_hwloc1112_save_LIBS opal_hwloc_hwloc1112_save_cairo opal_hwloc_hwloc1112_save_xml opal_hwloc_hwloc1112_basedir opal_hwloc_hwloc1112_file opal_hwloc_hwloc1112_save_cflags CPPFLAGS_save LIBS_save])
# default to this component not providing support
opal_hwloc_hwloc1112_basedir=opal/mca/hwloc/hwloc1112
opal_hwloc_hwloc1112_support=no
if test "$with_hwloc" = "internal" || test -z "$with_hwloc" || test "$with_hwloc" = "yes"; then
opal_hwloc_hwloc1112_save_CPPFLAGS=$CPPFLAGS
opal_hwloc_hwloc1112_save_LDFLAGS=$LDFLAGS
opal_hwloc_hwloc1112_save_LIBS=$LIBS
# Run the hwloc configuration - set the prefix to minimize
# the chance that someone will use the internal symbols
HWLOC_SET_SYMBOL_PREFIX([opal_hwloc1112_])
# save XML or graphical options
opal_hwloc_hwloc1112_save_cairo=$enable_cairo
opal_hwloc_hwloc1112_save_xml=$enable_xml
opal_hwloc_hwloc1112_save_static=$enable_static
opal_hwloc_hwloc1112_save_shared=$enable_shared
opal_hwloc_hwloc1112_save_plugins=$enable_plugins
# never enable hwloc's graphical option
enable_cairo=no
# never enable hwloc's plugin system
enable_plugins=no
enable_static=yes
enable_shared=no
# Override -- disable hwloc's libxml2 support, but enable the
# native hwloc XML support
enable_libxml2=no
enable_xml=yes
# hwloc checks for compiler visibility, and its needs to do
# this without "picky" flags.
opal_hwloc_hwloc1112_save_cflags=$CFLAGS
CFLAGS=$OPAL_CFLAGS_BEFORE_PICKY
HWLOC_SETUP_CORE([opal/mca/hwloc/hwloc1112/hwloc],
[AC_MSG_CHECKING([whether hwloc configure succeeded])
AC_MSG_RESULT([yes])
HWLOC_VERSION="internal v`$srcdir/$opal_hwloc_hwloc1112_basedir/hwloc/config/hwloc_get_version.sh $srcdir/$opal_hwloc_hwloc1112_basedir/hwloc/VERSION`"
# Build flags for our Makefile.am
opal_hwloc_hwloc1112_LDFLAGS='$(HWLOC_EMBEDDED_LDFLAGS)'
opal_hwloc_hwloc1112_LIBS='$(OPAL_TOP_BUILDDIR)/'"$opal_hwloc_hwloc1112_basedir"'/hwloc/src/libhwloc_embedded.la $(HWLOC_EMBEDDED_LIBS)'
opal_hwloc_hwloc1112_support=yes
AC_DEFINE_UNQUOTED([HWLOC_HWLOC1112_HWLOC_VERSION],
["$HWLOC_VERSION"],
[Version of hwloc])
# Do we have verbs support?
CPPFLAGS_save=$CPPFLAGS
AS_IF([test "$opal_want_verbs" = "yes"],
[CPPFLAGS="-I$opal_verbs_dir/include $CPPFLAGS"])
AC_CHECK_HEADERS([infiniband/verbs.h])
CPPFLAGS=$CPPFLAGS_save
],
[AC_MSG_CHECKING([whether hwloc configure succeeded])
AC_MSG_RESULT([no])
opal_hwloc_hwloc1112_support=no])
CFLAGS=$opal_hwloc_hwloc1112_save_cflags
# Restore some env variables, if necessary
AS_IF([test -n "$opal_hwloc_hwloc1112_save_cairo"],
[enable_cairo=$opal_hwloc_hwloc1112_save_cairo])
AS_IF([test -n "$opal_hwloc_hwloc1112_save_xml"],
[enable_xml=$opal_hwloc_hwloc1112_save_xml])
AS_IF([test -n "$opal_hwloc_hwloc1112_save_static"],
[enable_static=$opal_hwloc_hwloc1112_save_static])
AS_IF([test -n "$opal_hwloc_hwloc1112_save_shared"],
[enable_shared=$opal_hwloc_hwloc1112_save_shared])
AS_IF([test -n "$opal_hwloc_hwloc1112_save_plugins"],
[enable_plugins=$opal_hwloc_hwloc1112_save_shared])
CPPFLAGS=$opal_hwloc_hwloc1112_save_CPPFLAGS
LDFLAGS=$opal_hwloc_hwloc1112_save_LDFLAGS
LIBS=$opal_hwloc_hwloc1112_save_LIBS
AC_SUBST([opal_hwloc_hwloc1112_CFLAGS])
AC_SUBST([opal_hwloc_hwloc1112_CPPFLAGS])
AC_SUBST([opal_hwloc_hwloc1112_LDFLAGS])
AC_SUBST([opal_hwloc_hwloc1112_LIBS])
# Finally, add some flags to the wrapper compiler so that our
# headers can be found.
hwloc_hwloc1112_WRAPPER_EXTRA_LDFLAGS="$HWLOC_EMBEDDED_LDFLAGS"
hwloc_hwloc1112_WRAPPER_EXTRA_LIBS="$HWLOC_EMBEDDED_LIBS"
hwloc_hwloc1112_WRAPPER_EXTRA_CPPFLAGS='-I${pkgincludedir}/'"$opal_hwloc_hwloc1112_basedir/hwloc/include"
fi
# Done!
AS_IF([test "$opal_hwloc_hwloc1112_support" = "yes"],
[$1],
[$2])
OPAL_VAR_SCOPE_POP
])dnl

Просмотреть файл

@ -1,612 +0,0 @@
Introduction
hwloc provides command line tools and a C API to obtain the hierarchical map of
key computing elements, such as: NUMA memory nodes, shared caches, processor
packages, processor cores, processing units (logical processors or "threads")
and even I/O devices. hwloc also gathers various attributes such as cache and
memory information, and is portable across a variety of different operating
systems and platforms. Additionally it may assemble the topologies of multiple
machines into a single one so as to let applications consult the topology of an
entire fabric or cluster at once.
hwloc primarily aims at helping high-performance computing (HPC) applications,
but is also applicable to any project seeking to exploit code and/or data
locality on modern computing platforms.
Note that the hwloc project represents the merger of the libtopology project
from inria and the Portable Linux Processor Affinity (PLPA) sub-project from
Open MPI. Both of these prior projects are now deprecated. The first hwloc
release was essentially a "re-branding" of the libtopology code base, but with
both a few genuinely new features and a few PLPA-like features added in. Prior
releases of hwloc included documentation about switching from PLPA to hwloc;
this documentation has been dropped on the assumption that everyone who was
using PLPA has already switched to hwloc.
hwloc supports the following operating systems:
* Linux (including old kernels not having sysfs topology information, with
knowledge of cpusets, offline CPUs, ScaleMP vSMP and Kerrighed support) on
all supported hardware, including Intel Xeon Phi (KNL and KNC, either
standalone or as a coprocessor) and NumaScale NumaConnect.
* Solaris
* AIX
* Darwin / OS X
* FreeBSD and its variants (such as kFreeBSD/GNU)
* NetBSD
* OSF/1 (a.k.a., Tru64)
* HP-UX
* Microsoft Windows
* IBM BlueGene/Q Compute Node Kernel (CNK)
Since it uses standard Operating System information, hwloc's support is mostly
independant from the processor type (x86, powerpc, ...) and just relies on the
Operating System support. The only exception to this is kFreeBSD, which does
not support topology information, and hwloc thus uses an x86-only CPUID-based
backend (which can be used for other OSes too, see the Components and plugins
section).
To check whether hwloc works on a particular machine, just try to build it and
run lstopo or lstopo-no-graphics. If some things do not look right (e.g. bogus
or missing cache information), see Questions and Bugs below.
hwloc only reports the number of processors on unsupported operating systems;
no topology information is available.
For development and debugging purposes, hwloc also offers the ability to work
on "fake" topologies:
* Symmetrical tree of resources generated from a list of level arities
* Remote machine simulation through the gathering of Linux sysfs topology
files
hwloc can display the topology in a human-readable format, either in graphical
mode (X11), or by exporting in one of several different formats, including:
plain text, PDF, PNG, and FIG (see CLI Examples below). Note that some of the
export formats require additional support libraries.
hwloc offers a programming interface for manipulating topologies and objects.
It also brings a powerful CPU bitmap API that is used to describe topology
objects location on physical/logical processors. See the Programming Interface
below. It may also be used to binding applications onto certain cores or memory
nodes. Several utility programs are also provided to ease command-line
manipulation of topology objects, binding of processes, and so on.
Perl bindings are available from Bernd Kallies on CPAN.
Python bindings are available from Guy Streeter:
* Fedora RPM and tarball.
* git tree (html).
Installation
hwloc (http://www.open-mpi.org/projects/hwloc/) is available under the BSD
license. It is hosted as a sub-project of the overall Open MPI project (http://
www.open-mpi.org/). Note that hwloc does not require any functionality from
Open MPI -- it is a wholly separate (and much smaller!) project and code base.
It just happens to be hosted as part of the overall Open MPI project.
Nightly development snapshots are available on the web site. Additionally, the
code can be directly cloned from Git:
shell$ git clone https://github.com/open-mpi/hwloc.git
shell$ cd hwloc
shell$ ./autogen.sh
Note that GNU Autoconf >=2.63, Automake >=1.10 and Libtool >=2.2.6 are required
when building from a Git clone.
Installation by itself is the fairly common GNU-based process:
shell$ ./configure --prefix=...
shell$ make
shell$ make install
The hwloc command-line tool "lstopo" produces human-readable topology maps, as
mentioned above. It can also export maps to the "fig" file format. Support for
PDF, Postscript, and PNG exporting is provided if the "Cairo" development
package (usually cairo-devel or libcairo2-dev) can be found in "lstopo" when
hwloc is configured and build.
The hwloc core may also benefit from the following development packages:
* libnuma for memory binding and migration support on Linux (numactl-devel or
libnuma-dev package).
* libpciaccess for full I/O device discovery (libpciaccess-devel or
libpciaccess-dev package). On Linux, PCI discovery may still be performed
(without vendor/device names) even if libpciaccess cannot be used.
* the AMD OpenCL implementation for OpenCL device discovery.
* the NVIDIA CUDA Toolkit for CUDA device discovery.
* the NVIDIA Tesla Development Kit for NVML device discovery.
* the NV-CONTROL X extension library (NVCtrl) for NVIDIA display discovery.
* libxml2 for full XML import/export support (otherwise, the internal
minimalistic parser will only be able to import XML files that were
exported by the same hwloc release). See Importing and exporting topologies
from/to XML files for details. The relevant development package is usually
libxml2-devel or libxml2-dev.
* libudev on Linux for easier discovery of OS device information (otherwise
hwloc will try to manually parse udev raw files). The relevant development
package is usually libudev-devel or libudev-dev.
* libtool's ltdl library for dynamic plugin loading. The relevant development
package is usually libtool-ltdl-devel or libltdl-dev.
PCI and XML support may be statically built inside the main hwloc library, or
as separate dynamically-loaded plugins (see the Components and plugins
section).
Note that because of the possibility of GPL taint, the pciutils library libpci
will not be used (remember that hwloc is BSD-licensed).
Also note that if you install supplemental libraries in non-standard locations,
hwloc's configure script may not be able to find them without some help. You
may need to specify additional CPPFLAGS, LDFLAGS, or PKG_CONFIG_PATH values on
the configure command line.
For example, if libpciaccess was installed into /opt/pciaccess, hwloc's
configure script may not find it be default. Try adding PKG_CONFIG_PATH to the
./configure command line, like this:
./configure PKG_CONFIG_PATH=/opt/pciaccess/lib/pkgconfig ...
CLI Examples
On a 4-package 2-core machine with hyper-threading, the lstopo tool may show
the following graphical output:
dudley.png
Here's the equivalent output in textual form:
Machine (16GB)
Package L#0 + L3 L#0 (4096KB)
L2 L#0 (1024KB) + L1 L#0 (16KB) + Core L#0
PU L#0 (P#0)
PU L#1 (P#8)
L2 L#1 (1024KB) + L1 L#1 (16KB) + Core L#1
PU L#2 (P#4)
PU L#3 (P#12)
Package L#1 + L3 L#1 (4096KB)
L2 L#2 (1024KB) + L1 L#2 (16KB) + Core L#2
PU L#4 (P#1)
PU L#5 (P#9)
L2 L#3 (1024KB) + L1 L#3 (16KB) + Core L#3
PU L#6 (P#5)
PU L#7 (P#13)
Package L#2 + L3 L#2 (4096KB)
L2 L#4 (1024KB) + L1 L#4 (16KB) + Core L#4
PU L#8 (P#2)
PU L#9 (P#10)
L2 L#5 (1024KB) + L1 L#5 (16KB) + Core L#5
PU L#10 (P#6)
PU L#11 (P#14)
Package L#3 + L3 L#3 (4096KB)
L2 L#6 (1024KB) + L1 L#6 (16KB) + Core L#6
PU L#12 (P#3)
PU L#13 (P#11)
L2 L#7 (1024KB) + L1 L#7 (16KB) + Core L#7
PU L#14 (P#7)
PU L#15 (P#15)
Note that there is also an equivalent output in XML that is meant for exporting
/importing topologies but it is hardly readable to human-beings (see Importing
and exporting topologies from/to XML files for details).
On a 4-package 2-core Opteron NUMA machine, the lstopo tool may show the
following graphical output:
hagrid.png
Here's the equivalent output in textual form:
Machine (32GB)
NUMANode L#0 (P#0 8190MB) + Package L#0
L2 L#0 (1024KB) + L1 L#0 (64KB) + Core L#0 + PU L#0 (P#0)
L2 L#1 (1024KB) + L1 L#1 (64KB) + Core L#1 + PU L#1 (P#1)
NUMANode L#1 (P#1 8192MB) + Package L#1
L2 L#2 (1024KB) + L1 L#2 (64KB) + Core L#2 + PU L#2 (P#2)
L2 L#3 (1024KB) + L1 L#3 (64KB) + Core L#3 + PU L#3 (P#3)
NUMANode L#2 (P#2 8192MB) + Package L#2
L2 L#4 (1024KB) + L1 L#4 (64KB) + Core L#4 + PU L#4 (P#4)
L2 L#5 (1024KB) + L1 L#5 (64KB) + Core L#5 + PU L#5 (P#5)
NUMANode L#3 (P#3 8192MB) + Package L#3
L2 L#6 (1024KB) + L1 L#6 (64KB) + Core L#6 + PU L#6 (P#6)
L2 L#7 (1024KB) + L1 L#7 (64KB) + Core L#7 + PU L#7 (P#7)
On a 2-package quad-core Xeon (pre-Nehalem, with 2 dual-core dies into each
package):
emmett.png
Here's the same output in textual form:
Machine (16GB)
Package L#0
L2 L#0 (4096KB)
L1 L#0 (32KB) + Core L#0 + PU L#0 (P#0)
L1 L#1 (32KB) + Core L#1 + PU L#1 (P#4)
L2 L#1 (4096KB)
L1 L#2 (32KB) + Core L#2 + PU L#2 (P#2)
L1 L#3 (32KB) + Core L#3 + PU L#3 (P#6)
Package L#1
L2 L#2 (4096KB)
L1 L#4 (32KB) + Core L#4 + PU L#4 (P#1)
L1 L#5 (32KB) + Core L#5 + PU L#5 (P#5)
L2 L#3 (4096KB)
L1 L#6 (32KB) + Core L#6 + PU L#6 (P#3)
L1 L#7 (32KB) + Core L#7 + PU L#7 (P#7)
Programming Interface
The basic interface is available in hwloc.h. Some higher-level functions are
available in hwloc/helper.h to reduce the need to manually manipulate objects
and follow links between them. Documentation for all these is provided later in
this document. Developers may also want to look at hwloc/inlines.h which
contains the actual inline code of some hwloc.h routines, and at this document,
which provides good higher-level topology traversal examples.
To precisely define the vocabulary used by hwloc, a Terms and Definitions
section is available and should probably be read first.
Each hwloc object contains a cpuset describing the list of processing units
that it contains. These bitmaps may be used for CPU binding and Memory binding.
hwloc offers an extensive bitmap manipulation interface in hwloc/bitmap.h.
Moreover, hwloc also comes with additional helpers for interoperability with
several commonly used environments. See the Interoperability With Other
Software section for details.
The complete API documentation is available in a full set of HTML pages, man
pages, and self-contained PDF files (formatted for both both US letter and A4
formats) in the source tarball in doc/doxygen-doc/.
NOTE: If you are building the documentation from a Git clone, you will need to
have Doxygen and pdflatex installed -- the documentation will be built during
the normal "make" process. The documentation is installed during "make install"
to $prefix/share/doc/hwloc/ and your systems default man page tree (under
$prefix, of course).
Portability
As shown in CLI Examples, hwloc can obtain information on a wide variety of
hardware topologies. However, some platforms and/or operating system versions
will only report a subset of this information. For example, on an PPC64-based
system with 32 cores (each with 2 hardware threads) running a default
2.6.18-based kernel from RHEL 5.4, hwloc is only able to glean information
about NUMA nodes and processor units (PUs). No information about caches,
packages, or cores is available.
Similarly, Operating System have varying support for CPU and memory binding,
e.g. while some Operating Systems provide interfaces for all kinds of CPU and
memory bindings, some others provide only interfaces for a limited number of
kinds of CPU and memory binding, and some do not provide any binding interface
at all. Hwloc's binding functions would then simply return the ENOSYS error
(Function not implemented), meaning that the underlying Operating System does
not provide any interface for them. CPU binding and Memory binding provide more
information on which hwloc binding functions should be preferred because
interfaces for them are usually available on the supported Operating Systems.
Here's the graphical output from lstopo on this platform when Simultaneous
Multi-Threading (SMT) is enabled:
ppc64-with-smt.png
And here's the graphical output from lstopo on this platform when SMT is
disabled:
ppc64-without-smt.png
Notice that hwloc only sees half the PUs when SMT is disabled. PU #15, for
example, seems to change location from NUMA node #0 to #1. In reality, no PUs
"moved" -- they were simply re-numbered when hwloc only saw half as many.
Hence, PU #15 in the SMT-disabled picture probably corresponds to PU #30 in the
SMT-enabled picture.
This same "PUs have disappeared" effect can be seen on other platforms -- even
platforms / OSs that provide much more information than the above PPC64 system.
This is an unfortunate side-effect of how operating systems report information
to hwloc.
Note that upgrading the Linux kernel on the same PPC64 system mentioned above
to 2.6.34, hwloc is able to discover all the topology information. The
following picture shows the entire topology layout when SMT is enabled:
ppc64-full-with-smt.png
Developers using the hwloc API or XML output for portable applications should
therefore be extremely careful to not make any assumptions about the structure
of data that is returned. For example, per the above reported PPC topology, it
is not safe to assume that PUs will always be descendants of cores.
Additionally, future hardware may insert new topology elements that are not
available in this version of hwloc. Long-lived applications that are meant to
span multiple different hardware platforms should also be careful about making
structure assumptions. For example, there may someday be an element "lower"
than a PU, or perhaps a new element may exist between a core and a PU.
API Example
The following small C example (named ``hwloc-hello.c'') prints the topology of
the machine and bring the process to the first logical processor of the second
core of the machine. More examples are available in the doc/examples/ directory
of the source tree.
/* Example hwloc API program.
*
* See other examples under doc/examples/ in the source tree
* for more details.
*
* Copyright (c) 2009-2015 Inria. All rights reserved.
* Copyright (c) 2009-2011 Universit?eacute; Bordeaux
* Copyright (c) 2009-2010 Cisco Systems, Inc. All rights reserved.
* See COPYING in top-level directory.
*
* hwloc-hello.c
*/
#include <hwloc.h>
#include <errno.h>
#include <stdio.h>
#include <string.h>
static void print_children(hwloc_topology_t topology, hwloc_obj_t obj,
int depth)
{
char type[32], attr[1024];
unsigned i;
hwloc_obj_type_snprintf(type, sizeof(type), obj, 0);
printf("%*s%s", 2*depth, "", type);
if (obj->os_index != (unsigned) -1)
printf("#%u", obj->os_index);
hwloc_obj_attr_snprintf(attr, sizeof(attr), obj, " ", 0);
if (*attr)
printf("(%s)", attr);
printf("\n");
for (i = 0; i < obj->arity; i++) {
print_children(topology, obj->children[i], depth + 1);
}
}
int main(void)
{
int depth;
unsigned i, n;
unsigned long size;
int levels;
char string[128];
int topodepth;
hwloc_topology_t topology;
hwloc_cpuset_t cpuset;
hwloc_obj_t obj;
/* Allocate and initialize topology object. */
hwloc_topology_init(&topology);
/* ... Optionally, put detection configuration here to ignore
some objects types, define a synthetic topology, etc....
The default is to detect all the objects of the machine that
the caller is allowed to access. See Configure Topology
Detection. */
/* Perform the topology detection. */
hwloc_topology_load(topology);
/* Optionally, get some additional topology information
in case we need the topology depth later. */
topodepth = hwloc_topology_get_depth(topology);
/*****************************************************************
* First example:
* Walk the topology with an array style, from level 0 (always
* the system level) to the lowest level (always the proc level).
*****************************************************************/
for (depth = 0; depth < topodepth; depth++) {
printf("*** Objects at level %d\n", depth);
for (i = 0; i < hwloc_get_nbobjs_by_depth(topology, depth);
i++) {
hwloc_obj_type_snprintf(string, sizeof(string),
hwloc_get_obj_by_depth
(topology, depth, i), 0);
printf("Index %u: %s\n", i, string);
}
}
/*****************************************************************
* Second example:
* Walk the topology with a tree style.
*****************************************************************/
printf("*** Printing overall tree\n");
print_children(topology, hwloc_get_root_obj(topology), 0);
/*****************************************************************
* Third example:
* Print the number of packages.
*****************************************************************/
depth = hwloc_get_type_depth(topology, HWLOC_OBJ_PACKAGE);
if (depth == HWLOC_TYPE_DEPTH_UNKNOWN) {
printf("*** The number of packages is unknown\n");
} else {
printf("*** %u package(s)\n",
hwloc_get_nbobjs_by_depth(topology, depth));
}
/*****************************************************************
* Fourth example:
* Compute the amount of cache that the first logical processor
* has above it.
*****************************************************************/
levels = 0;
size = 0;
for (obj = hwloc_get_obj_by_type(topology, HWLOC_OBJ_PU, 0);
obj;
obj = obj->parent)
if (obj->type == HWLOC_OBJ_CACHE) {
levels++;
size += obj->attr->cache.size;
}
printf("*** Logical processor 0 has %d caches totaling %luKB\n",
levels, size / 1024);
/*****************************************************************
* Fifth example:
* Bind to only one thread of the last core of the machine.
*
* First find out where cores are, or else smaller sets of CPUs if
* the OS doesn't have the notion of a "core".
*****************************************************************/
depth = hwloc_get_type_or_below_depth(topology, HWLOC_OBJ_CORE);
/* Get last core. */
obj = hwloc_get_obj_by_depth(topology, depth,
hwloc_get_nbobjs_by_depth(topology, depth) - 1);
if (obj) {
/* Get a copy of its cpuset that we may modify. */
cpuset = hwloc_bitmap_dup(obj->cpuset);
/* Get only one logical processor (in case the core is
SMT/hyper-threaded). */
hwloc_bitmap_singlify(cpuset);
/* And try to bind ourself there. */
if (hwloc_set_cpubind(topology, cpuset, 0)) {
char *str;
int error = errno;
hwloc_bitmap_asprintf(&str, obj->cpuset);
printf("Couldn't bind to cpuset %s: %s\n", str, strerror(error));
free(str);
}
/* Free our cpuset copy */
hwloc_bitmap_free(cpuset);
}
/*****************************************************************
* Sixth example:
* Allocate some memory on the last NUMA node, bind some existing
* memory to the last NUMA node.
*****************************************************************/
/* Get last node. */
n = hwloc_get_nbobjs_by_type(topology, HWLOC_OBJ_NUMANODE);
if (n) {
void *m;
size = 1024*1024;
obj = hwloc_get_obj_by_type(topology, HWLOC_OBJ_NUMANODE, n - 1);
m = hwloc_alloc_membind_nodeset(topology, size, obj->nodeset,
HWLOC_MEMBIND_BIND, 0);
hwloc_free(topology, m, size);
m = malloc(size);
hwloc_set_area_membind_nodeset(topology, m, size, obj->nodeset,
HWLOC_MEMBIND_BIND, 0);
free(m);
}
/* Destroy topology object. */
hwloc_topology_destroy(topology);
return 0;
}
hwloc provides a pkg-config executable to obtain relevant compiler and linker
flags. For example, it can be used thusly to compile applications that utilize
the hwloc library (assuming GNU Make):
CFLAGS += $(pkg-config --cflags hwloc)
LDLIBS += $(pkg-config --libs hwloc)
cc hwloc-hello.c $(CFLAGS) -o hwloc-hello $(LDLIBS)
On a machine with 4GB of RAM and 2 processor packages -- each package of which
has two processing cores -- the output from running hwloc-hello could be
something like the following:
shell$ ./hwloc-hello
*** Objects at level 0
Index 0: Machine(3938MB)
*** Objects at level 1
Index 0: Package#0
Index 1: Package#1
*** Objects at level 2
Index 0: Core#0
Index 1: Core#1
Index 2: Core#3
Index 3: Core#2
*** Objects at level 3
Index 0: PU#0
Index 1: PU#1
Index 2: PU#2
Index 3: PU#3
*** Printing overall tree
Machine(3938MB)
Package#0
Core#0
PU#0
Core#1
PU#1
Package#1
Core#3
PU#2
Core#2
PU#3
*** 2 package(s)
shell$
Questions and Bugs
Questions should be sent to the devel mailing list (http://www.open-mpi.org/
community/lists/hwloc.php). Bug reports should be reported in the tracker (
https://github.com/open-mpi/hwloc/issues).
If hwloc discovers an incorrect topology for your machine, the very first thing
you should check is to ensure that you have the most recent updates installed
for your operating system. Indeed, most of hwloc topology discovery relies on
hardware information retrieved through the operation system (e.g., via the /sys
virtual filesystem of the Linux kernel). If upgrading your OS or Linux kernel
does not solve your problem, you may also want to ensure that you are running
the most recent version of the BIOS for your machine.
If those things fail, contact us on the mailing list for additional help.
Please attach the output of lstopo after having given the --enable-debug option
to ./configure and rebuilt completely, to get debugging output. Also attach the
/proc + /sys tarball generated by the installed script hwloc-gather-topology
when submitting problems about Linux, or send the output of kstat cpu_info in
the Solaris case, or the output of sysctl hw in the Darwin or BSD cases.
History / Credits
hwloc is the evolution and merger of the libtopology (http://
runtime.bordeaux.inria.fr/libtopology/) project and the Portable Linux
Processor Affinity (PLPA) (http://www.open-mpi.org/projects/plpa/) project.
Because of functional and ideological overlap, these two code bases and ideas
were merged and released under the name "hwloc" as an Open MPI sub-project.
libtopology was initially developed by the inria Runtime Team-Project (http://
runtime.bordeaux.inria.fr/) (headed by Raymond Namyst (http://
dept-info.labri.fr/~namyst/). PLPA was initially developed by the Open MPI
development team as a sub-project. Both are now deprecated in favor of hwloc,
which is distributed as an Open MPI sub-project.
Further Reading
The documentation chapters include
* Terms and Definitions
* Command-Line Tools
* Environment Variables
* CPU and Memory Binding Overview
* I/O Devices
* Miscellaneous objects
* Multi-node Topologies
* Object attributes
* Importing and exporting topologies from/to XML files
* Synthetic topologies
* Interoperability With Other Software
* Thread Safety
* Components and plugins
* Embedding hwloc in Other Software
* Frequently Asked Questions
Make sure to have had a look at those too!

Просмотреть файл

@ -1,36 +0,0 @@
This Visual Studio support is experimental.
Thanks to Eloi Gaudry for contributing the first draft of files.
No PlatformToolset is specified, so that the default target is always
used during build.
That means your build may not be compatible with older systems.
Enforce a specific toolset before building if needed.
hwloc-assembler-remote is not built because it requires a hardwired
path to hwloc-assembler and it uses ssh.
hwloc-compress-dir not built because needs work.
hwloc-gather-topology is Linux specific.
hwloc-ps is not built because it does nothing on Windows anyway.
Possible code proposed by Eloi Gaudry:
// Get the process list snapshot
HANDLE hProcessSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPALL, 0);
// Initialize the process entry structure
PROCESSENTRY32 ProcessEntry = { 0 } ;
ProcessEntry.dwSize = sizeof(ProcessEntry);
// Get the first process info
if (Process32First( hProcessSnapShot, &ProcessEntry)) {
do {
HANDLE hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, FALSE, ProcessEntry.th32ProcessID) ;
if (hProcess) {
std::cerr << ProcessEntry.th32ProcessID << "(" << ProcessEntry.szExeFile << ")" << std::endl ;
}
// check the PROCESSENTRY32 for other members.
} while (Process32Next(hProcessSnapShot, &ProcessEntry));
// Close the handle
CloseHandle( hProcessSnapShot ) ;
}

Просмотреть файл

@ -1,90 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<ProjectGuid>{9DE76C6D-4773-4766-9F93-69C56166CB8F}</ProjectGuid>
<RootNamespace>hwloc-bind</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>false</LinkIncremental>
<EmbedManifest>true</EmbedManifest>
<TargetName>$(ProjectName)-5</TargetName>
<IntDir>$(SolutionDir)$(Platform)\$(Configuration)\</IntDir>
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>PSAPI_VERSION=1;WIN32;NDEBUG;WIN64;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\include;..\..\utils\hwloc</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<ManifestFile>$(IntDir)$(TargetFileName).intermediate.manifest</ManifestFile>
<EnableCOMDATFolding>false</EnableCOMDATFolding>
<GenerateDebugInformation>false</GenerateDebugInformation>
<GenerateMapFile>false</GenerateMapFile>
<IgnoreSpecificDefaultLibraries>libcmt.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
<OptimizeReferences>true</OptimizeReferences>
<OutputFile>$(OutDir)$(TargetName).exe</OutputFile>
<ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
<ShowProgress>LinkVerboseLib</ShowProgress>
<SubSystem>Console</SubSystem>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TargetMachine>MachineX64</TargetMachine>
<LinkErrorReporting>NoErrorReport</LinkErrorReporting>
<AdditionalLibraryDirectories>$(SolutionDir)$(Platform)\Release;$(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>libhwloc.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\utils\hwloc\hwloc-annotate.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\include\hwloc\autogen\config.h" />
<ClInclude Include="..\..\include\private\autogen\config.h" />
<ClInclude Include="..\..\include\hwloc.h" />
<ClInclude Include="..\..\include\hwloc\bitmap.h" />
<ClInclude Include="..\..\include\hwloc\helper.h" />
<ClInclude Include="..\..\include\hwloc\myriexpress.h" />
<ClInclude Include="..\..\include\hwloc\openfabrics-verbs.h" />
<ClInclude Include="..\..\include\hwloc\plugins.h" />
<ClInclude Include="..\..\include\hwloc\rename.h" />
<ClInclude Include="..\..\include\private\components.h" />
<ClInclude Include="..\..\include\private\debug.h" />
<ClInclude Include="..\..\include\private\misc.h" />
<ClInclude Include="..\..\include\private\private.h" />
<ClInclude Include="..\..\include\private\xml.h" />
<ClInclude Include="..\..\utils\hwloc\misc.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

Просмотреть файл

@ -1,69 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\utils\hwloc\hwloc-annotate.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\include\hwloc.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\bitmap.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\helper.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\myriexpress.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\openfabrics-verbs.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\plugins.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\rename.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\components.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\debug.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\misc.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\private.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\xml.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\autogen\config.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\autogen\config.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\utils\hwloc\misc.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
</Project>

Просмотреть файл

@ -1,90 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<ProjectGuid>{9DE76C6D-4773-4766-9F93-69C56166CB9A}</ProjectGuid>
<RootNamespace>hwloc-bind</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>false</LinkIncremental>
<EmbedManifest>true</EmbedManifest>
<TargetName>$(ProjectName)-5</TargetName>
<IntDir>$(SolutionDir)$(Platform)\$(Configuration)\</IntDir>
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>PSAPI_VERSION=1;WIN32;NDEBUG;WIN64;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\include;..\..\utils\hwloc</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<ManifestFile>$(IntDir)$(TargetFileName).intermediate.manifest</ManifestFile>
<EnableCOMDATFolding>false</EnableCOMDATFolding>
<GenerateDebugInformation>false</GenerateDebugInformation>
<GenerateMapFile>false</GenerateMapFile>
<IgnoreSpecificDefaultLibraries>libcmt.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
<OptimizeReferences>true</OptimizeReferences>
<OutputFile>$(OutDir)$(TargetName).exe</OutputFile>
<ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
<ShowProgress>LinkVerboseLib</ShowProgress>
<SubSystem>Console</SubSystem>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TargetMachine>MachineX64</TargetMachine>
<LinkErrorReporting>NoErrorReport</LinkErrorReporting>
<AdditionalLibraryDirectories>$(SolutionDir)$(Platform)\Release;$(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>libhwloc.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\utils\hwloc\hwloc-assembler.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\include\hwloc\autogen\config.h" />
<ClInclude Include="..\..\include\private\autogen\config.h" />
<ClInclude Include="..\..\include\hwloc.h" />
<ClInclude Include="..\..\include\hwloc\bitmap.h" />
<ClInclude Include="..\..\include\hwloc\helper.h" />
<ClInclude Include="..\..\include\hwloc\myriexpress.h" />
<ClInclude Include="..\..\include\hwloc\openfabrics-verbs.h" />
<ClInclude Include="..\..\include\hwloc\plugins.h" />
<ClInclude Include="..\..\include\hwloc\rename.h" />
<ClInclude Include="..\..\include\private\components.h" />
<ClInclude Include="..\..\include\private\cpuid.h" />
<ClInclude Include="..\..\include\private\debug.h" />
<ClInclude Include="..\..\include\private\misc.h" />
<ClInclude Include="..\..\include\private\private.h" />
<ClInclude Include="..\..\include\private\xml.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

Просмотреть файл

@ -1,69 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\utils\hwloc\hwloc-assembler.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\include\hwloc.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\bitmap.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\helper.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\myriexpress.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\openfabrics-verbs.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\plugins.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\rename.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\components.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\cpuid.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\debug.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\misc.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\private.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\xml.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\autogen\config.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\autogen\config.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
</Project>

Просмотреть файл

@ -1,91 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<ProjectGuid>{9DE76C6D-4773-4766-9F93-69C56166CB91}</ProjectGuid>
<RootNamespace>hwloc-bind</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>false</LinkIncremental>
<EmbedManifest>true</EmbedManifest>
<TargetName>$(ProjectName)-5</TargetName>
<IntDir>$(SolutionDir)$(Platform)\$(Configuration)\</IntDir>
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>PSAPI_VERSION=1;WIN32;NDEBUG;WIN64;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\include;..\..\utils\hwloc</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<ManifestFile>$(IntDir)$(TargetFileName).intermediate.manifest</ManifestFile>
<EnableCOMDATFolding>false</EnableCOMDATFolding>
<GenerateDebugInformation>false</GenerateDebugInformation>
<GenerateMapFile>false</GenerateMapFile>
<IgnoreSpecificDefaultLibraries>libcmt.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
<OptimizeReferences>true</OptimizeReferences>
<OutputFile>$(OutDir)$(TargetName).exe</OutputFile>
<ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
<ShowProgress>LinkVerboseLib</ShowProgress>
<SubSystem>Console</SubSystem>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TargetMachine>MachineX64</TargetMachine>
<LinkErrorReporting>NoErrorReport</LinkErrorReporting>
<AdditionalLibraryDirectories>$(SolutionDir)$(Platform)\Release;$(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>libhwloc.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\utils\hwloc\hwloc-bind.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\include\hwloc\autogen\config.h" />
<ClInclude Include="..\..\include\private\autogen\config.h" />
<ClInclude Include="..\..\include\hwloc.h" />
<ClInclude Include="..\..\include\hwloc\bitmap.h" />
<ClInclude Include="..\..\include\hwloc\helper.h" />
<ClInclude Include="..\..\include\hwloc\myriexpress.h" />
<ClInclude Include="..\..\include\hwloc\openfabrics-verbs.h" />
<ClInclude Include="..\..\include\hwloc\plugins.h" />
<ClInclude Include="..\..\include\hwloc\rename.h" />
<ClInclude Include="..\..\include\private\components.h" />
<ClInclude Include="..\..\include\private\debug.h" />
<ClInclude Include="..\..\include\private\misc.h" />
<ClInclude Include="..\..\include\private\private.h" />
<ClInclude Include="..\..\include\private\xml.h" />
<ClInclude Include="..\..\utils\hwloc\misc.h" />
<ClInclude Include="..\..\utils\hwloc\hwloc-calc.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

Просмотреть файл

@ -1,72 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\utils\hwloc\hwloc-bind.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\include\hwloc.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\bitmap.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\helper.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\myriexpress.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\openfabrics-verbs.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\plugins.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\rename.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\components.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\debug.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\misc.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\private.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\xml.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\autogen\config.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\autogen\config.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\utils\hwloc\misc.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\utils\hwloc\hwloc-calc.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
</Project>

Просмотреть файл

@ -1,91 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<ProjectGuid>{9DE76C6D-4773-4766-9F93-69C56166CB92}</ProjectGuid>
<RootNamespace>hwloc-calc</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>false</LinkIncremental>
<EmbedManifest>true</EmbedManifest>
<TargetName>$(ProjectName)-5</TargetName>
<IntDir>$(SolutionDir)$(Platform)\$(Configuration)\</IntDir>
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>PSAPI_VERSION=1;WIN32;NDEBUG;WIN64;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\include;..\..\utils\hwloc</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<ManifestFile>$(IntDir)$(TargetFileName).intermediate.manifest</ManifestFile>
<EnableCOMDATFolding>false</EnableCOMDATFolding>
<GenerateDebugInformation>false</GenerateDebugInformation>
<GenerateMapFile>false</GenerateMapFile>
<IgnoreSpecificDefaultLibraries>libcmt.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
<OptimizeReferences>true</OptimizeReferences>
<OutputFile>$(OutDir)$(TargetName).exe</OutputFile>
<ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
<ShowProgress>LinkVerboseLib</ShowProgress>
<SubSystem>Console</SubSystem>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TargetMachine>MachineX64</TargetMachine>
<LinkErrorReporting>NoErrorReport</LinkErrorReporting>
<AdditionalLibraryDirectories>$(SolutionDir)$(Platform)\Release;$(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>libhwloc.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\utils\hwloc\hwloc-calc.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\include\hwloc\autogen\config.h" />
<ClInclude Include="..\..\include\private\autogen\config.h" />
<ClInclude Include="..\..\include\hwloc.h" />
<ClInclude Include="..\..\include\hwloc\bitmap.h" />
<ClInclude Include="..\..\include\hwloc\helper.h" />
<ClInclude Include="..\..\include\hwloc\myriexpress.h" />
<ClInclude Include="..\..\include\hwloc\openfabrics-verbs.h" />
<ClInclude Include="..\..\include\hwloc\plugins.h" />
<ClInclude Include="..\..\include\hwloc\rename.h" />
<ClInclude Include="..\..\include\private\components.h" />
<ClInclude Include="..\..\include\private\debug.h" />
<ClInclude Include="..\..\include\private\misc.h" />
<ClInclude Include="..\..\include\private\private.h" />
<ClInclude Include="..\..\include\private\xml.h" />
<ClInclude Include="..\..\utils\hwloc\misc.h" />
<ClInclude Include="..\..\utils\hwloc\hwloc-calc.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

Просмотреть файл

@ -1,72 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\utils\hwloc\hwloc-calc.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\include\hwloc.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\bitmap.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\helper.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\myriexpress.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\openfabrics-verbs.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\plugins.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\rename.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\components.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\debug.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\misc.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\private.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\xml.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\autogen\config.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\autogen\config.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\utils\hwloc\misc.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\utils\hwloc\hwloc-calc.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
</Project>

Просмотреть файл

@ -1,89 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<ProjectGuid>{9DE76C6D-4773-4766-9F93-69C56166CB93}</ProjectGuid>
<RootNamespace>hwloc-bind</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>false</LinkIncremental>
<EmbedManifest>true</EmbedManifest>
<TargetName>$(ProjectName)-5</TargetName>
<IntDir>$(SolutionDir)$(Platform)\$(Configuration)\</IntDir>
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>PSAPI_VERSION=1;WIN32;NDEBUG;WIN64;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\include;..\..\utils\hwloc</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<ManifestFile>$(IntDir)$(TargetFileName).intermediate.manifest</ManifestFile>
<EnableCOMDATFolding>false</EnableCOMDATFolding>
<GenerateDebugInformation>false</GenerateDebugInformation>
<GenerateMapFile>false</GenerateMapFile>
<IgnoreSpecificDefaultLibraries>libcmt.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
<OptimizeReferences>true</OptimizeReferences>
<OutputFile>$(OutDir)$(TargetName).exe</OutputFile>
<ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
<ShowProgress>LinkVerboseLib</ShowProgress>
<SubSystem>Console</SubSystem>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TargetMachine>MachineX64</TargetMachine>
<LinkErrorReporting>NoErrorReport</LinkErrorReporting>
<AdditionalLibraryDirectories>$(SolutionDir)$(Platform)\Release;$(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>libhwloc.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\utils\hwloc\hwloc-diff.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\include\hwloc\autogen\config.h" />
<ClInclude Include="..\..\include\private\autogen\config.h" />
<ClInclude Include="..\..\include\hwloc.h" />
<ClInclude Include="..\..\include\hwloc\bitmap.h" />
<ClInclude Include="..\..\include\hwloc\helper.h" />
<ClInclude Include="..\..\include\hwloc\myriexpress.h" />
<ClInclude Include="..\..\include\hwloc\openfabrics-verbs.h" />
<ClInclude Include="..\..\include\hwloc\plugins.h" />
<ClInclude Include="..\..\include\hwloc\rename.h" />
<ClInclude Include="..\..\include\private\components.h" />
<ClInclude Include="..\..\include\private\debug.h" />
<ClInclude Include="..\..\include\private\misc.h" />
<ClInclude Include="..\..\include\private\private.h" />
<ClInclude Include="..\..\include\private\xml.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

Просмотреть файл

@ -1,66 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\utils\hwloc\hwloc-diff.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\include\hwloc.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\bitmap.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\helper.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\myriexpress.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\openfabrics-verbs.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\plugins.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\rename.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\components.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\debug.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\misc.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\private.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\xml.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\autogen\config.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\autogen\config.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
</Project>

Просмотреть файл

@ -1,90 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<ProjectGuid>{9DE76C6D-4773-4766-9F93-69C56166CB94}</ProjectGuid>
<RootNamespace>hwloc-bind</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>false</LinkIncremental>
<EmbedManifest>true</EmbedManifest>
<TargetName>$(ProjectName)-5</TargetName>
<IntDir>$(SolutionDir)$(Platform)\$(Configuration)\</IntDir>
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>PSAPI_VERSION=1;WIN32;NDEBUG;WIN64;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\include;..\..\utils\hwloc</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<ManifestFile>$(IntDir)$(TargetFileName).intermediate.manifest</ManifestFile>
<EnableCOMDATFolding>false</EnableCOMDATFolding>
<GenerateDebugInformation>false</GenerateDebugInformation>
<GenerateMapFile>false</GenerateMapFile>
<IgnoreSpecificDefaultLibraries>libcmt.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
<OptimizeReferences>true</OptimizeReferences>
<OutputFile>$(OutDir)$(TargetName).exe</OutputFile>
<ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
<ShowProgress>LinkVerboseLib</ShowProgress>
<SubSystem>Console</SubSystem>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TargetMachine>MachineX64</TargetMachine>
<LinkErrorReporting>NoErrorReport</LinkErrorReporting>
<AdditionalLibraryDirectories>$(SolutionDir)$(Platform)\Release;$(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>libhwloc.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\utils\hwloc\hwloc-distances.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\include\hwloc\autogen\config.h" />
<ClInclude Include="..\..\include\private\autogen\config.h" />
<ClInclude Include="..\..\include\hwloc.h" />
<ClInclude Include="..\..\include\hwloc\bitmap.h" />
<ClInclude Include="..\..\include\hwloc\helper.h" />
<ClInclude Include="..\..\include\hwloc\myriexpress.h" />
<ClInclude Include="..\..\include\hwloc\openfabrics-verbs.h" />
<ClInclude Include="..\..\include\hwloc\plugins.h" />
<ClInclude Include="..\..\include\hwloc\rename.h" />
<ClInclude Include="..\..\include\private\components.h" />
<ClInclude Include="..\..\include\private\debug.h" />
<ClInclude Include="..\..\include\private\misc.h" />
<ClInclude Include="..\..\include\private\private.h" />
<ClInclude Include="..\..\include\private\xml.h" />
<ClInclude Include="..\..\utils\hwloc\misc.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

Просмотреть файл

@ -1,69 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\utils\hwloc\hwloc-distances.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\include\hwloc.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\bitmap.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\helper.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\myriexpress.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\openfabrics-verbs.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\plugins.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\rename.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\components.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\debug.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\misc.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\private.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\xml.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\autogen\config.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\autogen\config.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\utils\hwloc\misc.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
</Project>

Просмотреть файл

@ -1,90 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<ProjectGuid>{9DE76C6D-4773-4766-9F93-69C56166CB95}</ProjectGuid>
<RootNamespace>hwloc-bind</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>false</LinkIncremental>
<EmbedManifest>true</EmbedManifest>
<TargetName>$(ProjectName)-5</TargetName>
<IntDir>$(SolutionDir)$(Platform)\$(Configuration)\</IntDir>
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>PSAPI_VERSION=1;WIN32;NDEBUG;WIN64;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\include;..\..\utils\hwloc</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<ManifestFile>$(IntDir)$(TargetFileName).intermediate.manifest</ManifestFile>
<EnableCOMDATFolding>false</EnableCOMDATFolding>
<GenerateDebugInformation>false</GenerateDebugInformation>
<GenerateMapFile>false</GenerateMapFile>
<IgnoreSpecificDefaultLibraries>libcmt.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
<OptimizeReferences>true</OptimizeReferences>
<OutputFile>$(OutDir)$(TargetName).exe</OutputFile>
<ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
<ShowProgress>LinkVerboseLib</ShowProgress>
<SubSystem>Console</SubSystem>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TargetMachine>MachineX64</TargetMachine>
<LinkErrorReporting>NoErrorReport</LinkErrorReporting>
<AdditionalLibraryDirectories>$(SolutionDir)$(Platform)\Release;$(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>libhwloc.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\utils\hwloc\hwloc-distrib.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\include\hwloc\autogen\config.h" />
<ClInclude Include="..\..\include\private\autogen\config.h" />
<ClInclude Include="..\..\include\hwloc.h" />
<ClInclude Include="..\..\include\hwloc\bitmap.h" />
<ClInclude Include="..\..\include\hwloc\helper.h" />
<ClInclude Include="..\..\include\hwloc\myriexpress.h" />
<ClInclude Include="..\..\include\hwloc\openfabrics-verbs.h" />
<ClInclude Include="..\..\include\hwloc\plugins.h" />
<ClInclude Include="..\..\include\hwloc\rename.h" />
<ClInclude Include="..\..\include\private\components.h" />
<ClInclude Include="..\..\include\private\debug.h" />
<ClInclude Include="..\..\include\private\misc.h" />
<ClInclude Include="..\..\include\private\private.h" />
<ClInclude Include="..\..\include\private\xml.h" />
<ClInclude Include="..\..\utils\hwloc\misc.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

Просмотреть файл

@ -1,69 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\utils\hwloc\hwloc-distrib.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\include\hwloc.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\bitmap.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\helper.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\myriexpress.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\openfabrics-verbs.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\plugins.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\rename.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\components.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\debug.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\misc.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\private.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\xml.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\autogen\config.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\autogen\config.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\utils\hwloc\misc.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
</Project>

Просмотреть файл

@ -1,91 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<ProjectGuid>{9DE76C6D-4773-4766-9F93-69C56166CB96}</ProjectGuid>
<RootNamespace>hwloc-info</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>false</LinkIncremental>
<EmbedManifest>true</EmbedManifest>
<TargetName>$(ProjectName)-5</TargetName>
<IntDir>$(SolutionDir)$(Platform)\$(Configuration)\</IntDir>
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>PSAPI_VERSION=1;WIN32;NDEBUG;WIN64;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\include;..\..\utils\hwloc</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<ManifestFile>$(IntDir)$(TargetFileName).intermediate.manifest</ManifestFile>
<EnableCOMDATFolding>false</EnableCOMDATFolding>
<GenerateDebugInformation>false</GenerateDebugInformation>
<GenerateMapFile>false</GenerateMapFile>
<IgnoreSpecificDefaultLibraries>libcmt.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
<OptimizeReferences>true</OptimizeReferences>
<OutputFile>$(OutDir)$(TargetName).exe</OutputFile>
<ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
<ShowProgress>LinkVerboseLib</ShowProgress>
<SubSystem>Console</SubSystem>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TargetMachine>MachineX64</TargetMachine>
<LinkErrorReporting>NoErrorReport</LinkErrorReporting>
<AdditionalLibraryDirectories>$(SolutionDir)$(Platform)\Release;$(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>libhwloc.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\utils\hwloc\hwloc-info.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\include\hwloc\autogen\config.h" />
<ClInclude Include="..\..\include\private\autogen\config.h" />
<ClInclude Include="..\..\include\hwloc.h" />
<ClInclude Include="..\..\include\hwloc\bitmap.h" />
<ClInclude Include="..\..\include\hwloc\helper.h" />
<ClInclude Include="..\..\include\hwloc\myriexpress.h" />
<ClInclude Include="..\..\include\hwloc\openfabrics-verbs.h" />
<ClInclude Include="..\..\include\hwloc\plugins.h" />
<ClInclude Include="..\..\include\hwloc\rename.h" />
<ClInclude Include="..\..\include\private\components.h" />
<ClInclude Include="..\..\include\private\debug.h" />
<ClInclude Include="..\..\include\private\misc.h" />
<ClInclude Include="..\..\include\private\private.h" />
<ClInclude Include="..\..\include\private\xml.h" />
<ClInclude Include="..\..\utils\hwloc\misc.h" />
<ClInclude Include="..\..\utils\hwloc\hwloc-calc.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

Просмотреть файл

@ -1,72 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\utils\hwloc\hwloc-info.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\include\hwloc.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\bitmap.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\helper.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\myriexpress.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\openfabrics-verbs.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\plugins.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\rename.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\components.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\debug.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\misc.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\private.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\xml.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\autogen\config.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\autogen\config.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\utils\hwloc\misc.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\utils\hwloc\hwloc-calc.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
</Project>

Просмотреть файл

@ -1,89 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<ProjectGuid>{9DE76C6D-4773-4766-9F93-69C56166CB97}</ProjectGuid>
<RootNamespace>hwloc-bind</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>false</LinkIncremental>
<EmbedManifest>true</EmbedManifest>
<TargetName>$(ProjectName)-5</TargetName>
<IntDir>$(SolutionDir)$(Platform)\$(Configuration)\</IntDir>
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>PSAPI_VERSION=1;WIN32;NDEBUG;WIN64;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\include;..\..\utils\hwloc</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<ManifestFile>$(IntDir)$(TargetFileName).intermediate.manifest</ManifestFile>
<EnableCOMDATFolding>false</EnableCOMDATFolding>
<GenerateDebugInformation>false</GenerateDebugInformation>
<GenerateMapFile>false</GenerateMapFile>
<IgnoreSpecificDefaultLibraries>libcmt.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
<OptimizeReferences>true</OptimizeReferences>
<OutputFile>$(OutDir)$(TargetName).exe</OutputFile>
<ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
<ShowProgress>LinkVerboseLib</ShowProgress>
<SubSystem>Console</SubSystem>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TargetMachine>MachineX64</TargetMachine>
<LinkErrorReporting>NoErrorReport</LinkErrorReporting>
<AdditionalLibraryDirectories>$(SolutionDir)$(Platform)\Release;$(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>libhwloc.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\utils\hwloc\hwloc-patch.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\include\hwloc\autogen\config.h" />
<ClInclude Include="..\..\include\private\autogen\config.h" />
<ClInclude Include="..\..\include\hwloc.h" />
<ClInclude Include="..\..\include\hwloc\bitmap.h" />
<ClInclude Include="..\..\include\hwloc\helper.h" />
<ClInclude Include="..\..\include\hwloc\myriexpress.h" />
<ClInclude Include="..\..\include\hwloc\openfabrics-verbs.h" />
<ClInclude Include="..\..\include\hwloc\plugins.h" />
<ClInclude Include="..\..\include\hwloc\rename.h" />
<ClInclude Include="..\..\include\private\components.h" />
<ClInclude Include="..\..\include\private\debug.h" />
<ClInclude Include="..\..\include\private\misc.h" />
<ClInclude Include="..\..\include\private\private.h" />
<ClInclude Include="..\..\include\private\xml.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

Просмотреть файл

@ -1,66 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\utils\hwloc\hwloc-patch.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\include\hwloc.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\bitmap.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\helper.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\myriexpress.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\openfabrics-verbs.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\plugins.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\rename.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\components.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\debug.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\misc.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\private.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\xml.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\autogen\config.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\autogen\config.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
</Project>

Просмотреть файл

@ -1,121 +0,0 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Express 2012 for Windows Desktop
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libhwloc", "libhwloc.vcxproj", "{9DE76C6D-4773-4766-9F93-69C56166CB8D}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lstopo-no-graphics", "lstopo-no-graphics.vcxproj", "{9DE76C6D-4773-4766-9F93-69C56166CB8E}"
ProjectSection(ProjectDependencies) = postProject
{9DE76C6D-4773-4766-9F93-69C56166CB8D} = {9DE76C6D-4773-4766-9F93-69C56166CB8D}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "hwloc-annotate", "hwloc-annotate.vcxproj", "{9DE76C6D-4773-4766-9F93-69C56166CB8F}"
ProjectSection(ProjectDependencies) = postProject
{9DE76C6D-4773-4766-9F93-69C56166CB8D} = {9DE76C6D-4773-4766-9F93-69C56166CB8D}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "hwloc-assembler", "hwloc-assembler.vcxproj", "{9DE76C6D-4773-4766-9F93-69C56166CB90}"
ProjectSection(ProjectDependencies) = postProject
{9DE76C6D-4773-4766-9F93-69C56166CB8D} = {9DE76C6D-4773-4766-9F93-69C56166CB8D}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "hwloc-bind", "hwloc-bind.vcxproj", "{9DE76C6D-4773-4766-9F93-69C56166CB91}"
ProjectSection(ProjectDependencies) = postProject
{9DE76C6D-4773-4766-9F93-69C56166CB8D} = {9DE76C6D-4773-4766-9F93-69C56166CB8D}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "hwloc-calc", "hwloc-calc.vcxproj", "{9DE76C6D-4773-4766-9F93-69C56166CB92}"
ProjectSection(ProjectDependencies) = postProject
{9DE76C6D-4773-4766-9F93-69C56166CB8D} = {9DE76C6D-4773-4766-9F93-69C56166CB8D}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "hwloc-diff", "hwloc-diff.vcxproj", "{9DE76C6D-4773-4766-9F93-69C56166CB93}"
ProjectSection(ProjectDependencies) = postProject
{9DE76C6D-4773-4766-9F93-69C56166CB8D} = {9DE76C6D-4773-4766-9F93-69C56166CB8D}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "hwloc-distances", "hwloc-distances.vcxproj", "{9DE76C6D-4773-4766-9F93-69C56166CB94}"
ProjectSection(ProjectDependencies) = postProject
{9DE76C6D-4773-4766-9F93-69C56166CB8D} = {9DE76C6D-4773-4766-9F93-69C56166CB8D}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "hwloc-distrib", "hwloc-distrib.vcxproj", "{9DE76C6D-4773-4766-9F93-69C56166CB95}"
ProjectSection(ProjectDependencies) = postProject
{9DE76C6D-4773-4766-9F93-69C56166CB8D} = {9DE76C6D-4773-4766-9F93-69C56166CB8D}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "hwloc-info", "hwloc-info.vcxproj", "{9DE76C6D-4773-4766-9F93-69C56166CB96}"
ProjectSection(ProjectDependencies) = postProject
{9DE76C6D-4773-4766-9F93-69C56166CB8D} = {9DE76C6D-4773-4766-9F93-69C56166CB8D}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "hwloc-patch", "hwloc-patch.vcxproj", "{9DE76C6D-4773-4766-9F93-69C56166CB97}"
ProjectSection(ProjectDependencies) = postProject
{9DE76C6D-4773-4766-9F93-69C56166CB8D} = {9DE76C6D-4773-4766-9F93-69C56166CB8D}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lstopo", "lstopo.vcxproj", "{9DE76C6D-4773-4766-9F93-69C56166CB98}"
ProjectSection(ProjectDependencies) = postProject
{9DE76C6D-4773-4766-9F93-69C56166CB8E} = {9DE76C6D-4773-4766-9F93-69C56166CB8E}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "lstopo-win", "lstopo-win.vcxproj", "{9DE76C6D-4773-4766-9F93-69C56166CB99}"
ProjectSection(ProjectDependencies) = postProject
{9DE76C6D-4773-4766-9F93-69C56166CB98} = {9DE76C6D-4773-4766-9F93-69C56166CB98}
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Release|x64 = Release|x64
ReleaseStatic|x64 = ReleaseStatic|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{9DE76C6D-4773-4766-9F93-69C56166CB8D}.Release|x64.ActiveCfg = Release|x64
{9DE76C6D-4773-4766-9F93-69C56166CB8D}.Release|x64.Build.0 = Release|x64
{9DE76C6D-4773-4766-9F93-69C56166CB8D}.ReleaseStatic|x64.ActiveCfg = ReleaseStatic|x64
{9DE76C6D-4773-4766-9F93-69C56166CB8D}.ReleaseStatic|x64.Build.0 = ReleaseStatic|x64
{9DE76C6D-4773-4766-9F93-69C56166CB8E}.Release|x64.ActiveCfg = Release|x64
{9DE76C6D-4773-4766-9F93-69C56166CB8E}.Release|x64.Build.0 = Release|x64
{9DE76C6D-4773-4766-9F93-69C56166CB8E}.ReleaseStatic|x64.ActiveCfg = Release|x64
{9DE76C6D-4773-4766-9F93-69C56166CB8F}.Release|x64.ActiveCfg = Release|x64
{9DE76C6D-4773-4766-9F93-69C56166CB8F}.Release|x64.Build.0 = Release|x64
{9DE76C6D-4773-4766-9F93-69C56166CB8F}.ReleaseStatic|x64.ActiveCfg = Release|x64
{9DE76C6D-4773-4766-9F93-69C56166CB90}.Release|x64.ActiveCfg = Release|x64
{9DE76C6D-4773-4766-9F93-69C56166CB90}.Release|x64.Build.0 = Release|x64
{9DE76C6D-4773-4766-9F93-69C56166CB90}.ReleaseStatic|x64.ActiveCfg = Release|x64
{9DE76C6D-4773-4766-9F93-69C56166CB91}.Release|x64.ActiveCfg = Release|x64
{9DE76C6D-4773-4766-9F93-69C56166CB91}.Release|x64.Build.0 = Release|x64
{9DE76C6D-4773-4766-9F93-69C56166CB91}.ReleaseStatic|x64.ActiveCfg = Release|x64
{9DE76C6D-4773-4766-9F93-69C56166CB92}.Release|x64.ActiveCfg = Release|x64
{9DE76C6D-4773-4766-9F93-69C56166CB92}.Release|x64.Build.0 = Release|x64
{9DE76C6D-4773-4766-9F93-69C56166CB92}.ReleaseStatic|x64.ActiveCfg = Release|x64
{9DE76C6D-4773-4766-9F93-69C56166CB93}.Release|x64.ActiveCfg = Release|x64
{9DE76C6D-4773-4766-9F93-69C56166CB93}.Release|x64.Build.0 = Release|x64
{9DE76C6D-4773-4766-9F93-69C56166CB93}.ReleaseStatic|x64.ActiveCfg = Release|x64
{9DE76C6D-4773-4766-9F93-69C56166CB94}.Release|x64.ActiveCfg = Release|x64
{9DE76C6D-4773-4766-9F93-69C56166CB94}.Release|x64.Build.0 = Release|x64
{9DE76C6D-4773-4766-9F93-69C56166CB94}.ReleaseStatic|x64.ActiveCfg = Release|x64
{9DE76C6D-4773-4766-9F93-69C56166CB95}.Release|x64.ActiveCfg = Release|x64
{9DE76C6D-4773-4766-9F93-69C56166CB95}.Release|x64.Build.0 = Release|x64
{9DE76C6D-4773-4766-9F93-69C56166CB95}.ReleaseStatic|x64.ActiveCfg = Release|x64
{9DE76C6D-4773-4766-9F93-69C56166CB96}.Release|x64.ActiveCfg = Release|x64
{9DE76C6D-4773-4766-9F93-69C56166CB96}.Release|x64.Build.0 = Release|x64
{9DE76C6D-4773-4766-9F93-69C56166CB96}.ReleaseStatic|x64.ActiveCfg = Release|x64
{9DE76C6D-4773-4766-9F93-69C56166CB97}.Release|x64.ActiveCfg = Release|x64
{9DE76C6D-4773-4766-9F93-69C56166CB97}.Release|x64.Build.0 = Release|x64
{9DE76C6D-4773-4766-9F93-69C56166CB97}.ReleaseStatic|x64.ActiveCfg = Release|x64
{9DE76C6D-4773-4766-9F93-69C56166CB98}.Release|x64.ActiveCfg = Release|x64
{9DE76C6D-4773-4766-9F93-69C56166CB98}.Release|x64.Build.0 = Release|x64
{9DE76C6D-4773-4766-9F93-69C56166CB98}.ReleaseStatic|x64.ActiveCfg = Release|x64
{9DE76C6D-4773-4766-9F93-69C56166CB99}.Release|x64.ActiveCfg = Release|x64
{9DE76C6D-4773-4766-9F93-69C56166CB99}.Release|x64.Build.0 = Release|x64
{9DE76C6D-4773-4766-9F93-69C56166CB99}.ReleaseStatic|x64.ActiveCfg = Release|x64
{9DE76C6D-4773-4766-9F93-69C56166CB99}.ReleaseStatic|x64.Build.0 = Release|x64
{9DE76C6D-4773-4766-9F93-69C56166CB9A}.Release|x64.ActiveCfg = Release|x64
{9DE76C6D-4773-4766-9F93-69C56166CB9A}.Release|x64.Build.0 = Release|x64
{9DE76C6D-4773-4766-9F93-69C56166CB9A}.ReleaseStatic|x64.ActiveCfg = Release|x64
{9DE76C6D-4773-4766-9F93-69C56166CB9A}.ReleaseStatic|x64.Build.0 = Release|x64
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

Просмотреть файл

@ -1,62 +0,0 @@
/*
* Copyright © 2009 CNRS
* Copyright © 2009-2014 Inria. All rights reserved.
* Copyright © 2009-2012 Université Bordeaux
* Copyright © 2009-2011 Cisco Systems, Inc. All rights reserved.
* See COPYING in top-level directory.
*/
/* The configuration file */
#ifndef HWLOC_CONFIG_H
#define HWLOC_CONFIG_H
#define __hwloc_restrict
#define __hwloc_inline __inline
#define __hwloc_attribute_unused
#define __hwloc_attribute_malloc
#define __hwloc_attribute_const
#define __hwloc_attribute_pure
#define __hwloc_attribute_deprecated
#define __hwloc_attribute_may_alias
/* Defined to 1 if you have the `windows.h' header. */
#define HWLOC_HAVE_WINDOWS_H 1
#define hwloc_pid_t HANDLE
#define hwloc_thread_t HANDLE
#include <windows.h>
#include <BaseTsd.h>
typedef DWORDLONG hwloc_uint64_t;
typedef SSIZE_T ssize_t;
#define snprintf _snprintf
#define strcasecmp _stricmp
#define strncasecmp _strnicmp
#define strdup _strdup
#define strtoull _strtoui64
#define strtoll _strtoi64
#define S_ISREG(m) ((m)&_S_IFREG)
#define S_ISDIR( m ) (((m) & S_IFMT) == S_IFDIR)
#define putenv _putenv
#if defined( _USRDLL ) /* dynamic linkage */
#if defined( DECLSPEC_EXPORTS )
#define HWLOC_DECLSPEC __declspec(dllexport)
#else
#define HWLOC_DECLSPEC __declspec(dllimport)
#endif
#else /* static linkage */
#define HWLOC_DECLSPEC
#endif
/* Whether we need to re-define all the hwloc public symbols or not */
#define HWLOC_SYM_TRANSFORM 0
/* The hwloc symbol prefix */
#define HWLOC_SYM_PREFIX hwloc_
/* The hwloc symbol prefix in all caps */
#define HWLOC_SYM_PREFIX_CAPS HWLOC_
#endif /* HWLOC_CONFIG_H */

Просмотреть файл

@ -1,238 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<ProjectGuid>{9DE76C6D-4773-4766-9F93-69C56166CB8D}</ProjectGuid>
<RootNamespace>libhwloc</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="DebugStatic|x64">
<Configuration>DebugStatic</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="DebugDll|x64">
<Configuration>DebugDll</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="ReleaseStatic|x64">
<Configuration>ReleaseStatic</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugDll|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugStatic|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseStatic|x64'" Label="Configuration">
<ConfigurationType>StaticLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='DebugDll|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugStatic|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseStatic|x64'" Label="PropertySheets">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugDll|x64'">
<LinkIncremental>false</LinkIncremental>
<EmbedManifest>true</EmbedManifest>
<TargetName>$(ProjectName)-5</TargetName>
<IntDir>$(SolutionDir)$(Platform)\$(Configuration)\</IntDir>
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugStatic|x64'">
<LinkIncremental>false</LinkIncremental>
<EmbedManifest>true</EmbedManifest>
<TargetName>$(ProjectName)-5</TargetName>
<IntDir>$(SolutionDir)$(Platform)\$(Configuration)\</IntDir>
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<LinkIncremental>false</LinkIncremental>
<EmbedManifest>true</EmbedManifest>
<TargetName>$(ProjectName)-5</TargetName>
<IntDir>$(SolutionDir)$(Platform)\$(Configuration)\</IntDir>
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseStatic|x64'">
<LinkIncremental>false</LinkIncremental>
<EmbedManifest>true</EmbedManifest>
<TargetName>$(ProjectName)-5</TargetName>
<IntDir>$(SolutionDir)$(Platform)\$(Configuration)\</IntDir>
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugDll|x64'">
<PreBuildEvent>
<Command>copy /V /Y private_config.h ..\..\include\private\autogen\config.h &amp;&amp; copy /V /Y hwloc_config.h ..\..\include\hwloc\autogen\config.h &amp;&amp; copy /V /Y static-components.h ..\..\src\static-components.h</Command>
</PreBuildEvent>
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;WIN64;_DEBUG;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugStatic|x64'">
<PreBuildEvent>
<Command>copy /V /Y private_config.h ..\..\include\private\autogen\config.h &amp;&amp; copy /V /Y hwloc_config.h ..\..\include\hwloc\autogen\config.h &amp;&amp; copy /V /Y static-components.h ..\..\src\static-components.h</Command>
</PreBuildEvent>
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
<PreprocessorDefinitions>WIN32;WIN64;_DEBUG;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
<GenerateDebugInformation>true</GenerateDebugInformation>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<PreBuildEvent>
<Command>copy /V /Y private_config.h ..\..\include\private\autogen\config.h &amp;&amp; copy /V /Y hwloc_config.h ..\..\include\hwloc\autogen\config.h &amp;&amp; copy /V /Y static-components.h ..\..\src\static-components.h</Command>
</PreBuildEvent>
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>PSAPI_VERSION=1;WIN32;NDEBUG;WIN64;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\include;..\..\src</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<ManifestFile>$(IntDir)$(TargetFileName).intermediate.manifest</ManifestFile>
<EnableCOMDATFolding>false</EnableCOMDATFolding>
<GenerateDebugInformation>false</GenerateDebugInformation>
<GenerateMapFile>false</GenerateMapFile>
<IgnoreSpecificDefaultLibraries>libcmt.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
<ImportLibrary>$(OutDir)$(ProjectName).lib</ImportLibrary>
<OptimizeReferences>true</OptimizeReferences>
<OutputFile>$(OutDir)$(TargetName).dll</OutputFile>
<ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
<ShowProgress>LinkVerboseLib</ShowProgress>
<SubSystem>Console</SubSystem>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TargetMachine>MachineX64</TargetMachine>
<LinkErrorReporting>NoErrorReport</LinkErrorReporting>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseStatic|x64'">
<PreBuildEvent>
<Command>copy /V /Y private_config.h ..\..\include\private\autogen\config.h &amp;&amp; copy /V /Y hwloc_config.h ..\..\include\hwloc\autogen\config.h &amp;&amp; copy /V /Y static-components.h ..\..\src\static-components.h</Command>
</PreBuildEvent>
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>PSAPI_VERSION=1;WIN32;NDEBUG;WIN64;_WINDOWS;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\include;..\..\src</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<ManifestFile>$(IntDir)$(TargetFileName).intermediate.manifest</ManifestFile>
<EnableCOMDATFolding>false</EnableCOMDATFolding>
<GenerateDebugInformation>false</GenerateDebugInformation>
<GenerateMapFile>false</GenerateMapFile>
<IgnoreSpecificDefaultLibraries>libcmt.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
<ImportLibrary>$(OutDir)$(ProjectName).lib</ImportLibrary>
<OptimizeReferences>true</OptimizeReferences>
<OutputFile>$(OutDir)$(TargetName).dll</OutputFile>
<ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
<ShowProgress>LinkVerboseLib</ShowProgress>
<SubSystem>Console</SubSystem>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TargetMachine>MachineX64</TargetMachine>
<LinkErrorReporting>NoErrorReport</LinkErrorReporting>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\src\base64.c" />
<ClCompile Include="..\..\src\bind.c" />
<ClCompile Include="..\..\src\bitmap.c" />
<ClCompile Include="..\..\src\components.c" />
<ClCompile Include="..\..\src\distances.c" />
<ClCompile Include="..\..\src\diff.c" />
<ClCompile Include="..\..\src\misc.c" />
<ClCompile Include="..\..\src\pci-common.c" />
<ClCompile Include="..\..\src\topology-custom.c" />
<ClCompile Include="..\..\src\topology-noos.c" />
<ClCompile Include="..\..\src\topology-synthetic.c" />
<ClCompile Include="..\..\src\topology-windows.c" />
<ClCompile Include="..\..\src\topology-x86.c" />
<ClCompile Include="..\..\src\topology-xml-nolibxml.c" />
<ClCompile Include="..\..\src\topology-xml.c" />
<ClCompile Include="..\..\src\topology.c" />
<ClCompile Include="..\..\src\traversal.c" />
<ClCompile Include="..\..\src\dolib.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\include\hwloc\autogen\config.h" />
<ClInclude Include="..\..\include\private\autogen\config.h" />
<ClInclude Include="..\..\include\hwloc.h" />
<ClInclude Include="..\..\include\hwloc\bitmap.h" />
<ClInclude Include="..\..\include\hwloc\helper.h" />
<ClInclude Include="..\..\include\hwloc\myriexpress.h" />
<ClInclude Include="..\..\include\hwloc\openfabrics-verbs.h" />
<ClInclude Include="..\..\include\hwloc\plugins.h" />
<ClInclude Include="..\..\include\hwloc\diff.h" />
<ClInclude Include="..\..\include\hwloc\rename.h" />
<ClInclude Include="..\..\include\private\components.h" />
<ClInclude Include="..\..\include\private\cpuid-x86.h" />
<ClInclude Include="..\..\include\private\debug.h" />
<ClInclude Include="..\..\include\private\misc.h" />
<ClInclude Include="..\..\include\private\private.h" />
<ClInclude Include="..\..\include\private\xml.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

Просмотреть файл

@ -1,123 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\src\base64.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\bind.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\bitmap.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\components.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\distances.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\diff.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\misc.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\pci-common.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\topology-custom.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\topology-noos.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\topology-synthetic.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\topology-windows.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\topology-x86.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\topology-xml-nolibxml.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\topology-xml.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\topology.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\traversal.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\src\dolib.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\include\hwloc.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\bitmap.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\helper.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\myriexpress.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\openfabrics-verbs.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\plugins.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\diff.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\rename.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\components.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\cpuid-x86.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\debug.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\misc.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\private.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\xml.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\autogen\config.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\autogen\config.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
</Project>

Просмотреть файл

@ -1,97 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<ProjectGuid>{9DE76C6D-4773-4766-9F93-69C56166CB8E}</ProjectGuid>
<RootNamespace>lstopo-no-graphics</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>false</LinkIncremental>
<EmbedManifest>true</EmbedManifest>
<TargetName>$(ProjectName)-5</TargetName>
<IntDir>$(SolutionDir)$(Platform)\$(Configuration)\</IntDir>
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>PSAPI_VERSION=1;WIN32;NDEBUG;WIN64;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\include;..\..\utils\hwloc;..\..\utils\lstopo</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<ManifestFile>$(IntDir)$(TargetFileName).intermediate.manifest</ManifestFile>
<EnableCOMDATFolding>false</EnableCOMDATFolding>
<GenerateDebugInformation>false</GenerateDebugInformation>
<GenerateMapFile>false</GenerateMapFile>
<IgnoreSpecificDefaultLibraries>libcmt.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
<OptimizeReferences>true</OptimizeReferences>
<OutputFile>$(OutDir)$(TargetName).exe</OutputFile>
<ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
<ShowProgress>LinkVerboseLib</ShowProgress>
<SubSystem>Console</SubSystem>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TargetMachine>MachineX64</TargetMachine>
<LinkErrorReporting>NoErrorReport</LinkErrorReporting>
<AdditionalLibraryDirectories>$(SolutionDir)$(Platform)\Release;$(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>libhwloc.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\utils\lstopo\lstopo.c" />
<ClCompile Include="..\..\utils\lstopo\lstopo-ascii.c" />
<ClCompile Include="..\..\utils\lstopo\lstopo-color.c" />
<ClCompile Include="..\..\utils\lstopo\lstopo-draw.c" />
<ClCompile Include="..\..\utils\lstopo\lstopo-fig.c" />
<ClCompile Include="..\..\utils\lstopo\lstopo-text.c" />
<ClCompile Include="..\..\utils\lstopo\lstopo-xml.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\include\hwloc\autogen\config.h" />
<ClInclude Include="..\..\include\private\autogen\config.h" />
<ClInclude Include="..\..\include\hwloc.h" />
<ClInclude Include="..\..\include\hwloc\bitmap.h" />
<ClInclude Include="..\..\include\hwloc\helper.h" />
<ClInclude Include="..\..\include\hwloc\myriexpress.h" />
<ClInclude Include="..\..\include\hwloc\openfabrics-verbs.h" />
<ClInclude Include="..\..\include\hwloc\plugins.h" />
<ClInclude Include="..\..\include\hwloc\rename.h" />
<ClInclude Include="..\..\include\private\components.h" />
<ClInclude Include="..\..\include\private\debug.h" />
<ClInclude Include="..\..\include\private\misc.h" />
<ClInclude Include="..\..\include\private\private.h" />
<ClInclude Include="..\..\include\private\xml.h" />
<ClInclude Include="..\..\utils\hwloc\misc.h" />
<ClInclude Include="..\..\utils\lstopo\lstopo.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

Просмотреть файл

@ -1,90 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\utils\lstopo\lstopo.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\utils\lstopo\lstopo-ascii.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\utils\lstopo\lstopo-color.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\utils\lstopo\lstopo-draw.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\utils\lstopo\lstopo-fig.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\utils\lstopo\lstopo-text.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\utils\lstopo\lstopo-xml.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\include\hwloc.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\bitmap.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\helper.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\myriexpress.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\openfabrics-verbs.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\plugins.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\rename.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\components.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\debug.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\misc.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\private.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\xml.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\autogen\config.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\autogen\config.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\utils\hwloc\misc.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\utils\lstopo\lstopo.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
</Project>

Просмотреть файл

@ -1,99 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<ProjectGuid>{9DE76C6D-4773-4766-9F93-69C56166CB99}</ProjectGuid>
<RootNamespace>lstopo-no-graphics</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>false</LinkIncremental>
<EmbedManifest>true</EmbedManifest>
<TargetName>$(ProjectName)-5</TargetName>
<IntDir>$(SolutionDir)$(Platform)\$(Configuration)\</IntDir>
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>LSTOPO_HAVE_GRAPHICS=1;PSAPI_VERSION=1;WIN32;NDEBUG;WIN64;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\include;..\..\utils\hwloc;..\..\utils\lstopo</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<ManifestFile>$(IntDir)$(TargetFileName).intermediate.manifest</ManifestFile>
<EnableCOMDATFolding>false</EnableCOMDATFolding>
<GenerateDebugInformation>false</GenerateDebugInformation>
<GenerateMapFile>false</GenerateMapFile>
<IgnoreSpecificDefaultLibraries>libcmt.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
<OptimizeReferences>true</OptimizeReferences>
<OutputFile>$(OutDir)$(TargetName).exe</OutputFile>
<ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
<ShowProgress>LinkVerboseLib</ShowProgress>
<SubSystem>Windows</SubSystem>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TargetMachine>MachineX64</TargetMachine>
<LinkErrorReporting>NoErrorReport</LinkErrorReporting>
<AdditionalLibraryDirectories>$(SolutionDir)$(Platform)\Release;$(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>libhwloc.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
<EntryPointSymbol>mainCRTStartup</EntryPointSymbol>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\utils\lstopo\lstopo.c" />
<ClCompile Include="..\..\utils\lstopo\lstopo-ascii.c" />
<ClCompile Include="..\..\utils\lstopo\lstopo-color.c" />
<ClCompile Include="..\..\utils\lstopo\lstopo-draw.c" />
<ClCompile Include="..\..\utils\lstopo\lstopo-fig.c" />
<ClCompile Include="..\..\utils\lstopo\lstopo-text.c" />
<ClCompile Include="..\..\utils\lstopo\lstopo-xml.c" />
<ClCompile Include="..\..\utils\lstopo\lstopo-windows.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\include\hwloc\autogen\config.h" />
<ClInclude Include="..\..\include\private\autogen\config.h" />
<ClInclude Include="..\..\include\hwloc.h" />
<ClInclude Include="..\..\include\hwloc\bitmap.h" />
<ClInclude Include="..\..\include\hwloc\helper.h" />
<ClInclude Include="..\..\include\hwloc\myriexpress.h" />
<ClInclude Include="..\..\include\hwloc\openfabrics-verbs.h" />
<ClInclude Include="..\..\include\hwloc\plugins.h" />
<ClInclude Include="..\..\include\hwloc\rename.h" />
<ClInclude Include="..\..\include\private\components.h" />
<ClInclude Include="..\..\include\private\debug.h" />
<ClInclude Include="..\..\include\private\misc.h" />
<ClInclude Include="..\..\include\private\private.h" />
<ClInclude Include="..\..\include\private\xml.h" />
<ClInclude Include="..\..\utils\hwloc\misc.h" />
<ClInclude Include="..\..\utils\lstopo\lstopo.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

Просмотреть файл

@ -1,93 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\utils\lstopo\lstopo.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\utils\lstopo\lstopo-ascii.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\utils\lstopo\lstopo-color.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\utils\lstopo\lstopo-draw.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\utils\lstopo\lstopo-fig.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\utils\lstopo\lstopo-text.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\utils\lstopo\lstopo-xml.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\utils\lstopo\lstopo-windows.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\include\hwloc.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\bitmap.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\helper.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\myriexpress.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\openfabrics-verbs.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\plugins.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\rename.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\components.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\debug.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\misc.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\private.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\xml.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\autogen\config.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\autogen\config.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\utils\hwloc\misc.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\utils\lstopo\lstopo.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
</Project>

Просмотреть файл

@ -1,98 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<ProjectGuid>{9DE76C6D-4773-4766-9F93-69C56166CB98}</ProjectGuid>
<RootNamespace>lstopo-no-graphics</RootNamespace>
<Keyword>Win32Proj</Keyword>
</PropertyGroup>
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Release|x64">
<Configuration>Release</Configuration>
<Platform>x64</Platform>
</ProjectConfiguration>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>Application</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
<PlatformToolset>v110</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>false</LinkIncremental>
<EmbedManifest>true</EmbedManifest>
<TargetName>$(ProjectName)-5</TargetName>
<IntDir>$(SolutionDir)$(Platform)\$(Configuration)\</IntDir>
<OutDir>$(SolutionDir)$(Platform)\$(Configuration)\</OutDir>
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
<ClCompile>
<WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>
</PrecompiledHeader>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
<RuntimeTypeInfo>true</RuntimeTypeInfo>
<IntrinsicFunctions>true</IntrinsicFunctions>
<PreprocessorDefinitions>LSTOPO_HAVE_GRAPHICS=1;PSAPI_VERSION=1;WIN32;NDEBUG;WIN64;_WINDOWS;_USRDLL;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\include;..\..\utils\hwloc;..\..\utils\lstopo</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<ManifestFile>$(IntDir)$(TargetFileName).intermediate.manifest</ManifestFile>
<EnableCOMDATFolding>false</EnableCOMDATFolding>
<GenerateDebugInformation>false</GenerateDebugInformation>
<GenerateMapFile>false</GenerateMapFile>
<IgnoreSpecificDefaultLibraries>libcmt.lib;%(IgnoreSpecificDefaultLibraries)</IgnoreSpecificDefaultLibraries>
<OptimizeReferences>true</OptimizeReferences>
<OutputFile>$(OutDir)$(TargetName).exe</OutputFile>
<ProgramDatabaseFile>$(OutDir)$(ProjectName).pdb</ProgramDatabaseFile>
<ShowProgress>LinkVerboseLib</ShowProgress>
<SubSystem>Console</SubSystem>
<SuppressStartupBanner>true</SuppressStartupBanner>
<TargetMachine>MachineX64</TargetMachine>
<LinkErrorReporting>NoErrorReport</LinkErrorReporting>
<AdditionalLibraryDirectories>$(SolutionDir)$(Platform)\Release;$(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>libhwloc.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\..\utils\lstopo\lstopo.c" />
<ClCompile Include="..\..\utils\lstopo\lstopo-ascii.c" />
<ClCompile Include="..\..\utils\lstopo\lstopo-color.c" />
<ClCompile Include="..\..\utils\lstopo\lstopo-draw.c" />
<ClCompile Include="..\..\utils\lstopo\lstopo-fig.c" />
<ClCompile Include="..\..\utils\lstopo\lstopo-text.c" />
<ClCompile Include="..\..\utils\lstopo\lstopo-xml.c" />
<ClCompile Include="..\..\utils\lstopo\lstopo-windows.c" />
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\include\hwloc\autogen\config.h" />
<ClInclude Include="..\..\include\private\autogen\config.h" />
<ClInclude Include="..\..\include\hwloc.h" />
<ClInclude Include="..\..\include\hwloc\bitmap.h" />
<ClInclude Include="..\..\include\hwloc\helper.h" />
<ClInclude Include="..\..\include\hwloc\myriexpress.h" />
<ClInclude Include="..\..\include\hwloc\openfabrics-verbs.h" />
<ClInclude Include="..\..\include\hwloc\plugins.h" />
<ClInclude Include="..\..\include\hwloc\rename.h" />
<ClInclude Include="..\..\include\private\components.h" />
<ClInclude Include="..\..\include\private\debug.h" />
<ClInclude Include="..\..\include\private\misc.h" />
<ClInclude Include="..\..\include\private\private.h" />
<ClInclude Include="..\..\include\private\xml.h" />
<ClInclude Include="..\..\utils\hwloc\misc.h" />
<ClInclude Include="..\..\utils\lstopo\lstopo.h" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>

Просмотреть файл

@ -1,93 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<Filter Include="Source Files">
<UniqueIdentifier>{4FC737F1-C7A5-4376-A066-2A32D752A2FF}</UniqueIdentifier>
<Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
</Filter>
<Filter Include="Header Files">
<UniqueIdentifier>{93995380-89BD-4b04-88EB-625FBE52EBFB}</UniqueIdentifier>
<Extensions>h;hpp;hxx;hm;inl;inc;xsd</Extensions>
</Filter>
<Filter Include="Resource Files">
<UniqueIdentifier>{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}</UniqueIdentifier>
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\utils\lstopo\lstopo.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\utils\lstopo\lstopo-ascii.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\utils\lstopo\lstopo-color.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\utils\lstopo\lstopo-draw.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\utils\lstopo\lstopo-fig.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\utils\lstopo\lstopo-text.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\utils\lstopo\lstopo-xml.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\..\utils\lstopo\lstopo-windows.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\include\hwloc.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\bitmap.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\helper.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\myriexpress.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\openfabrics-verbs.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\plugins.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\rename.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\components.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\debug.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\misc.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\private.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\xml.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\private\autogen\config.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\include\hwloc\autogen\config.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\utils\hwloc\misc.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="..\..\utils\lstopo\lstopo.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
</Project>

Просмотреть файл

@ -1,674 +0,0 @@
/*
* Copyright © 2009, 2011, 2012 CNRS. All rights reserved.
* Copyright © 2009-2015 Inria. All rights reserved.
* Copyright © 2009, 2011, 2012, 2015 Université Bordeaux. All rights reserved.
* Copyright © 2009 Cisco Systems, Inc. All rights reserved.
* $COPYRIGHT$
*
* Additional copyrights may follow
*
* $HEADER$
*/
#ifndef HWLOC_CONFIGURE_H
#define HWLOC_CONFIGURE_H
#define DECLSPEC_EXPORTS
#define HWLOC_HAVE_MSVC_CPUIDEX 1
/* Define to 1 if the system has the type `CACHE_DESCRIPTOR'. */
#define HAVE_CACHE_DESCRIPTOR 0
/* Define to 1 if the system has the type `CACHE_RELATIONSHIP'. */
#define HAVE_CACHE_RELATIONSHIP 0
/* Define to 1 if you have the `clz' function. */
/* #undef HAVE_CLZ */
/* Define to 1 if you have the `clzl' function. */
/* #undef HAVE_CLZL */
/* Define to 1 if you have the <CL/cl_ext.h> header file. */
/* #undef HAVE_CL_CL_EXT_H */
/* Define to 1 if you have the `cpuset_setaffinity' function. */
/* #undef HAVE_CPUSET_SETAFFINITY */
/* Define to 1 if you have the `cpuset_setid' function. */
/* #undef HAVE_CPUSET_SETID */
/* Define to 1 if we have -lcuda */
/* #undef HAVE_CUDA */
/* Define to 1 if you have the <cuda.h> header file. */
/* #undef HAVE_CUDA_H */
/* Define to 1 if you have the <cuda_runtime_api.h> header file. */
/* #undef HAVE_CUDA_RUNTIME_API_H */
/* Define to 1 if you have the declaration of `CL_DEVICE_TOPOLOGY_AMD', and to
0 if you don't. */
/* #undef HAVE_DECL_CL_DEVICE_TOPOLOGY_AMD */
/* Define to 1 if you have the declaration of `CTL_HW', and to 0 if you don't.
*/
/* #undef HAVE_DECL_CTL_HW */
/* Define to 1 if you have the declaration of `fabsf', and to 0 if you don't.
*/
#define HAVE_DECL_FABSF 1
/* Define to 1 if you have the declaration of `HW_NCPU', and to 0 if you
don't. */
/* #undef HAVE_DECL_HW_NCPU */
/* Define to 1 if you have the declaration of
`nvmlDeviceGetMaxPcieLinkGeneration', and to 0 if you don't. */
/* #undef HAVE_DECL_NVMLDEVICEGETMAXPCIELINKGENERATION */
/* Define to 1 if you have the declaration of `pthread_getaffinity_np', and to
0 if you don't. */
#define HAVE_DECL_PTHREAD_GETAFFINITY_NP 0
/* Define to 1 if you have the declaration of `pthread_setaffinity_np', and to
0 if you don't. */
#define HAVE_DECL_PTHREAD_SETAFFINITY_NP 0
/* Define to 1 if you have the declaration of `strtoull', and to 0 if you
don't. */
#define HAVE_DECL_STRTOULL 1
/* Define to 1 if you have the declaration of `_SC_LARGE_PAGESIZE', and to 0
if you don't. */
#define HAVE_DECL__SC_LARGE_PAGESIZE 0
/* Define to 1 if you have the declaration of `_SC_NPROCESSORS_CONF', and to 0
if you don't. */
#define HAVE_DECL__SC_NPROCESSORS_CONF 0
/* Define to 1 if you have the declaration of `_SC_NPROCESSORS_ONLN', and to 0
if you don't. */
#define HAVE_DECL__SC_NPROCESSORS_ONLN 0
/* Define to 1 if you have the declaration of `_SC_NPROC_CONF', and to 0 if
you don't. */
#define HAVE_DECL__SC_NPROC_CONF 0
/* Define to 1 if you have the declaration of `_SC_NPROC_ONLN', and to 0 if
you don't. */
#define HAVE_DECL__SC_NPROC_ONLN 0
/* Define to 1 if you have the declaration of `_SC_PAGESIZE', and to 0 if you
don't. */
#define HAVE_DECL__SC_PAGESIZE 0
/* Define to 1 if you have the declaration of `_SC_PAGE_SIZE', and to 0 if you
don't. */
#define HAVE_DECL__SC_PAGE_SIZE 0
/* Define to 1 if you have the <dirent.h> header file. */
/* #define HAVE_DIRENT_H 1 */
#undef HAVE_DIRENT_H
/* Define to 1 if you have the <dlfcn.h> header file. */
/* #undef HAVE_DLFCN_H */
/* Define to 1 if you have the `ffs' function. */
/* #undef HAVE_FFS */
/* Define to 1 if you have the `ffsl' function. */
/* #undef HAVE_FFSL */
/* Define to 1 if you have the `fls' function. */
/* #undef HAVE_FLS */
/* Define to 1 if you have the `flsl' function. */
/* #undef HAVE_FLSL */
/* Define to 1 if you have the `getpagesize' function. */
#define HAVE_GETPAGESIZE 1
/* Define to 1 if the system has the type `GROUP_AFFINITY'. */
#define HAVE_GROUP_AFFINITY 1
/* Define to 1 if the system has the type `GROUP_RELATIONSHIP'. */
#define HAVE_GROUP_RELATIONSHIP 1
/* Define to 1 if you have the `host_info' function. */
/* #undef HAVE_HOST_INFO */
/* Define to 1 if you have the <infiniband/verbs.h> header file. */
/* #undef HAVE_INFINIBAND_VERBS_H */
/* Define to 1 if you have the <inttypes.h> header file. */
#define HAVE_INTTYPES_H 1
/* Define to 1 if the system has the type `KAFFINITY'. */
#define HAVE_KAFFINITY 1
/* Define to 1 if you have the <kstat.h> header file. */
/* #undef HAVE_KSTAT_H */
/* Define to 1 if you have the <langinfo.h> header file. */
/* #undef HAVE_LANGINFO_H */
/* Define to 1 if we have -lgdi32 */
#define HAVE_LIBGDI32 1
/* Define to 1 if we have -libverbs */
/* #undef HAVE_LIBIBVERBS */
/* Define to 1 if we have -lkstat */
/* #undef HAVE_LIBKSTAT */
/* Define to 1 if we have -llgrp */
/* #undef HAVE_LIBLGRP */
/* Define to 1 if you have the <locale.h> header file. */
#define HAVE_LOCALE_H 1
/* Define to 1 if the system has the type `LOGICAL_PROCESSOR_RELATIONSHIP'. */
#define HAVE_LOGICAL_PROCESSOR_RELATIONSHIP 1
/* Define to 1 if you have the <mach/mach_host.h> header file. */
/* #undef HAVE_MACH_MACH_HOST_H */
/* Define to 1 if you have the <mach/mach_init.h> header file. */
/* #undef HAVE_MACH_MACH_INIT_H */
/* Define to 1 if you have the <malloc.h> header file. */
#define HAVE_MALLOC_H 1
/* Define to 1 if you have the `memalign' function. */
/* #undef HAVE_MEMALIGN */
/* Define to 1 if you have the <memory.h> header file. */
#define HAVE_MEMORY_H 1
/* Define to 1 if we have -lmyriexpress */
/* #undef HAVE_MYRIEXPRESS */
/* Define to 1 if you have the <myriexpress.h> header file. */
/* #undef HAVE_MYRIEXPRESS_H */
/* Define to 1 if you have the `nl_langinfo' function. */
/* #undef HAVE_NL_LANGINFO */
/* Define to 1 if you have the <numaif.h> header file. */
/* #undef HAVE_NUMAIF_H */
/* Define to 1 if the system has the type `NUMA_NODE_RELATIONSHIP'. */
#define HAVE_NUMA_NODE_RELATIONSHIP 1
/* Define to 1 if you have the <NVCtrl/NVCtrl.h> header file. */
/* #undef HAVE_NVCTRL_NVCTRL_H */
/* Define to 1 if you have the <nvml.h> header file. */
/* #undef HAVE_NVML_H */
/* Define to 1 if you have the `openat' function. */
/* #undef HAVE_OPENAT */
/* Define to 1 if you have the <picl.h> header file. */
/* #undef HAVE_PICL_H */
/* Define to 1 if you have the `posix_memalign' function. */
/* #undef HAVE_POSIX_MEMALIGN */
/* Define to 1 if the system has the type `PROCESSOR_CACHE_TYPE'. */
#define HAVE_PROCESSOR_CACHE_TYPE 1
/* Define to 1 if the system has the type `PROCESSOR_GROUP_INFO'. */
#define HAVE_PROCESSOR_GROUP_INFO 1
/* Define to 1 if the system has the type `PROCESSOR_RELATIONSHIP'. */
#define HAVE_PROCESSOR_RELATIONSHIP 1
/* Define to 1 if the system has the type `PSAPI_WORKING_SET_EX_BLOCK'. */
/* #undef HAVE_PSAPI_WORKING_SET_EX_BLOCK */
/* Define to 1 if the system has the type `PSAPI_WORKING_SET_EX_INFORMATION'.
*/
/* #undef HAVE_PSAPI_WORKING_SET_EX_INFORMATION */
/* Define to 1 if the system has the type `PROCESSOR_NUMBER'. */
#define HAVE_PROCESSOR_NUMBER 1
/* Define to 1 if you have the <pthread_np.h> header file. */
/* #undef HAVE_PTHREAD_NP_H */
/* Define to 1 if the system has the type `pthread_t'. */
/* #undef HAVE_PTHREAD_T */
#undef HAVE_PTHREAD_T
/* Define to 1 if you have the `putwc' function. */
#define HAVE_PUTWC 1
/* Define to 1 if the system has the type `RelationProcessorPackage'. */
/* #undef HAVE_RELATIONPROCESSORPACKAGE */
/* Define to 1 if you have the `setlocale' function. */
#define HAVE_SETLOCALE 1
/* Define to 1 if you have the <stdint.h> header file. */
#define HAVE_STDINT_H 1
/* Define to 1 if you have the <stdlib.h> header file. */
#define HAVE_STDLIB_H 1
/* Define to 1 if you have the `strftime' function. */
#define HAVE_STRFTIME 1
/* Define to 1 if you have the <strings.h> header file. */
/* #define HAVE_STRINGS_H 1*/
#undef HAVE_STRINGS_H
/* Define to 1 if you have the <string.h> header file. */
#define HAVE_STRING_H 1
/* Define to 1 if you have the `strncasecmp' function. */
#define HAVE_STRNCASECMP 1
/* Define to '1' if sysctl is present and usable */
/* #undef HAVE_SYSCTL */
/* Define to '1' if sysctlbyname is present and usable */
/* #undef HAVE_SYSCTLBYNAME */
/* Define to 1 if the system has the type
`SYSTEM_LOGICAL_PROCESSOR_INFORMATION'. */
#define HAVE_SYSTEM_LOGICAL_PROCESSOR_INFORMATION 1
/* Define to 1 if the system has the type
`SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX'. */
#define HAVE_SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX 1
/* Define to 1 if you have the <sys/cpuset.h> header file. */
/* #undef HAVE_SYS_CPUSET_H */
/* Define to 1 if you have the <sys/lgrp_user.h> header file. */
/* #undef HAVE_SYS_LGRP_USER_H */
/* Define to 1 if you have the <sys/mman.h> header file. */
/* #undef HAVE_SYS_MMAN_H */
/* Define to 1 if you have the <sys/param.h> header file. */
/* #define HAVE_SYS_PARAM_H 1 */
#undef HAVE_SYS_PARAM_H
/* Define to 1 if you have the <sys/stat.h> header file. */
#define HAVE_SYS_STAT_H 1
/* Define to 1 if you have the <sys/sysctl.h> header file. */
/* #undef HAVE_SYS_SYSCTL_H */
/* Define to 1 if you have the <sys/types.h> header file. */
#define HAVE_SYS_TYPES_H 1
/* Define to 1 if you have the <sys/utsname.h> header file. */
/* #undef HAVE_SYS_UTSNAME_H */
/* Define to 1 if you have the `uname' function. */
/* #undef HAVE_UNAME */
/* Define to 1 if you have the <unistd.h> header file. */
/* #define HAVE_UNISTD_H 1 */
#undef HAVE_UNISTD_H
/* Define to 1 if you have the `uselocale' function. */
/* #undef HAVE_USELOCALE */
/* Define to 1 if the system has the type `wchar_t'. */
#define HAVE_WCHAR_T 1
/* Define to 1 if you have the <X11/keysym.h> header file. */
/* #undef HAVE_X11_KEYSYM_H */
/* Define to 1 if you have the <X11/Xlib.h> header file. */
/* #undef HAVE_X11_XLIB_H */
/* Define to 1 if you have the <X11/Xutil.h> header file. */
/* #undef HAVE_X11_XUTIL_H */
/* Define to 1 if you have the <xlocale.h> header file. */
/* #undef HAVE_XLOCALE_H */
/* Define to 1 on AIX */
/* #undef HWLOC_AIX_SYS */
/* Define to 1 on BlueGene/Q */
/* #undef HWLOC_BGQ_SYS */
/* Whether C compiler supports symbol visibility or not */
#define HWLOC_C_HAVE_VISIBILITY 0
/* Define to 1 on Darwin */
/* #undef HWLOC_DARWIN_SYS */
/* Whether we are in debugging mode or not */
/* #undef HWLOC_DEBUG */
/* Define to 1 on *FREEBSD */
/* #undef HWLOC_FREEBSD_SYS */
/* Whether your compiler has __attribute__ or not */
/* #define HWLOC_HAVE_ATTRIBUTE 1 */
#undef HWLOC_HAVE_ATTRIBUTE
/* Whether your compiler has __attribute__ aligned or not */
/* #define HWLOC_HAVE_ATTRIBUTE_ALIGNED 1 */
/* Whether your compiler has __attribute__ always_inline or not */
/* #define HWLOC_HAVE_ATTRIBUTE_ALWAYS_INLINE 1 */
/* Whether your compiler has __attribute__ cold or not */
/* #define HWLOC_HAVE_ATTRIBUTE_COLD 1 */
/* Whether your compiler has __attribute__ const or not */
/* #define HWLOC_HAVE_ATTRIBUTE_CONST 1 */
/* Whether your compiler has __attribute__ deprecated or not */
/* #define HWLOC_HAVE_ATTRIBUTE_DEPRECATED 1 */
/* Whether your compiler has __attribute__ format or not */
/* #define HWLOC_HAVE_ATTRIBUTE_FORMAT 1 */
/* Whether your compiler has __attribute__ hot or not */
/* #define HWLOC_HAVE_ATTRIBUTE_HOT 1 */
/* Whether your compiler has __attribute__ malloc or not */
/* #define HWLOC_HAVE_ATTRIBUTE_MALLOC 1 */
/* Whether your compiler has __attribute__ may_alias or not */
/* #define HWLOC_HAVE_ATTRIBUTE_MAY_ALIAS 1 */
/* Whether your compiler has __attribute__ nonnull or not */
/* #define HWLOC_HAVE_ATTRIBUTE_NONNULL 1 */
/* Whether your compiler has __attribute__ noreturn or not */
/* #define HWLOC_HAVE_ATTRIBUTE_NORETURN 1 */
/* Whether your compiler has __attribute__ no_instrument_function or not */
/* #define HWLOC_HAVE_ATTRIBUTE_NO_INSTRUMENT_FUNCTION 1 */
/* Whether your compiler has __attribute__ packed or not */
/* #define HWLOC_HAVE_ATTRIBUTE_PACKED 1 */
/* Whether your compiler has __attribute__ pure or not */
/* #define HWLOC_HAVE_ATTRIBUTE_PURE 1 */
/* Whether your compiler has __attribute__ sentinel or not */
/* #define HWLOC_HAVE_ATTRIBUTE_SENTINEL 1 */
/* Whether your compiler has __attribute__ unused or not */
/* #define HWLOC_HAVE_ATTRIBUTE_UNUSED 1 */
/* Whether your compiler has __attribute__ warn unused result or not */
/* #define HWLOC_HAVE_ATTRIBUTE_WARN_UNUSED_RESULT 1 */
/* Whether your compiler has __attribute__ weak alias or not */
/* #define HWLOC_HAVE_ATTRIBUTE_WEAK_ALIAS 1 */
/* Define to 1 if your `ffs' function is known to be broken. */
/* #undef HWLOC_HAVE_BROKEN_FFS */
/* Define to 1 if you have the `cairo' library. */
/* #undef HWLOC_HAVE_CAIRO */
/* Define to 1 if you have the `clz' function. */
/* #undef HWLOC_HAVE_CLZ */
/* Define to 1 if you have the `clzl' function. */
/* #undef HWLOC_HAVE_CLZL */
/* Define to 1 if you have cpuid */
/* #undef HWLOC_HAVE_CPUID */
/* Define to 1 if the CPU_SET macro works */
/* #undef HWLOC_HAVE_CPU_SET */
/* Define to 1 if the CPU_SET_S macro works */
/* #undef HWLOC_HAVE_CPU_SET_S */
/* Define to 1 if you have the `cudart' SDK. */
/* #undef HWLOC_HAVE_CUDART */
/* Define to 1 if function `clz' is declared by system headers */
/* #undef HWLOC_HAVE_DECL_CLZ */
/* Define to 1 if function `clzl' is declared by system headers */
/* #undef HWLOC_HAVE_DECL_CLZL */
/* Define to 1 if function `ffs' is declared by system headers */
/* #undef HWLOC_HAVE_DECL_FFS */
/* Define to 1 if function `ffsl' is declared by system headers */
/* #undef HWLOC_HAVE_DECL_FFSL */
/* Define to 1 if function `fls' is declared by system headers */
/* #undef HWLOC_HAVE_DECL_FLS */
/* Define to 1 if function `flsl' is declared by system headers */
/* #undef HWLOC_HAVE_DECL_FLSL */
/* Define to 1 if you have the `ffs' function. */
/* #undef HWLOC_HAVE_FFS */
/* Define to 1 if you have the `ffsl' function. */
/* #undef HWLOC_HAVE_FFSL */
/* Define to 1 if you have the `fls' function. */
/* #undef HWLOC_HAVE_FLS */
/* Define to 1 if you have the `flsl' function. */
/* #undef HWLOC_HAVE_FLSL */
/* Define to 1 if you have the GL module components. */
/* #undef HWLOC_HAVE_GL */
/* Define to 1 if you have a library providing the termcap interface */
/* #undef HWLOC_HAVE_LIBTERMCAP */
/* Define to 1 if you have the `libxml2' library. */
/* #undef HWLOC_HAVE_LIBXML2 */
/* Define to 1 if building the Linux PCI component */
/* #undef HWLOC_HAVE_LINUXPCI */
/* Define to 1 if mbind is available. */
/* #undef HWLOC_HAVE_MBIND */
/* Define to 1 if migrate_pages is available. */
/* #undef HWLOC_HAVE_MIGRATE_PAGES */
/* Define to 1 if you have the `NVML' library. */
/* #undef HWLOC_HAVE_NVML */
/* Define to 1 if glibc provides the old prototype (without length) of
sched_setaffinity() */
/* #undef HWLOC_HAVE_OLD_SCHED_SETAFFINITY */
/* Define to 1 if you have the `OpenCL' library. */
/* #undef HWLOC_HAVE_OPENCL */
/* Define to 1 if the hwloc library should support dynamically-loaded plugins
*/
/* #undef HWLOC_HAVE_PLUGINS */
/* `Define to 1 if you have pthread_getthrds_np' */
/* #undef HWLOC_HAVE_PTHREAD_GETTHRDS_NP */
/* Define to 1 if pthread mutexes are available */
/* #undef HWLOC_HAVE_PTHREAD_MUTEX */
/* Define to 1 if glibc provides a prototype of sched_setaffinity() */
#define HWLOC_HAVE_SCHED_SETAFFINITY 1
/* Define to 1 if set_mempolicy is available. */
/* #undef HWLOC_HAVE_SET_MEMPOLICY */
/* Define to 1 if you have the <stdint.h> header file. */
#define HWLOC_HAVE_STDINT_H 1
/* Define to 1 if you have the `windows.h' header. */
#define HWLOC_HAVE_WINDOWS_H 1
/* Define to 1 if X11 headers including Xutil.h and keysym.h are available. */
/* #undef HWLOC_HAVE_X11_KEYSYM */
/* Define to 1 if function `syscall' is available */
/* #undef HWLOC_HAVE_SYSCALL */
/* Define to 1 on HP-UX */
/* #undef HWLOC_HPUX_SYS */
/* Define to 1 on Irix */
/* #undef HWLOC_IRIX_SYS */
/* Define to 1 on Linux */
/* #undef HWLOC_LINUX_SYS */
/* Define to 1 on *NETBSD */
/* #undef HWLOC_NETBSD_SYS */
/* Define to 1 on OSF */
/* #undef HWLOC_OSF_SYS */
/* The size of `unsigned int', as computed by sizeof */
#define HWLOC_SIZEOF_UNSIGNED_INT 4
/* The size of `unsigned long', as computed by sizeof */
#define HWLOC_SIZEOF_UNSIGNED_LONG 4
/* Define to 1 on Solaris */
/* #undef HWLOC_SOLARIS_SYS */
/* The hwloc symbol prefix */
#define HWLOC_SYM_PREFIX hwloc_
/* The hwloc symbol prefix in all caps */
#define HWLOC_SYM_PREFIX_CAPS HWLOC_
/* Whether we need to re-define all the hwloc public symbols or not */
#define HWLOC_SYM_TRANSFORM 0
/* Define to 1 on unsupported systems */
/* #undef HWLOC_UNSUPPORTED_SYS */
/* Define to 1 if ncurses works, preferred over curses */
/* #undef HWLOC_USE_NCURSES */
/* Define to 1 on WINDOWS */
#define HWLOC_WIN_SYS 1
/* Define to 1 on x86_32 */
/* #undef HWLOC_X86_32_ARCH */
/* Define to 1 on x86_64 */
#define HWLOC_X86_64_ARCH 1
/* Define to the sub-directory in which libtool stores uninstalled libraries.
*/
#define LT_OBJDIR ".libs/"
/* Name of package */
#define PACKAGE "hwloc"
/* Define to the address where bug reports for this package should be sent. */
#define PACKAGE_BUGREPORT "http://www.open-mpi.org/projects/hwloc/"
/* Define to the full name of this package. */
#define PACKAGE_NAME "hwloc"
/* Define to the full name and version of this package. */
#define PACKAGE_STRING "hwloc"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "hwloc"
/* Define to the home page for this package. */
#define PACKAGE_URL ""
/* Define to the version of this package. */
#define PACKAGE_VERSION HWLOC_VERSION
/* The size of `unsigned int', as computed by sizeof. */
#define SIZEOF_UNSIGNED_INT 4
/* The size of `unsigned long', as computed by sizeof. */
#define SIZEOF_UNSIGNED_LONG 4
/* The size of `void *', as computed by sizeof. */
#define SIZEOF_VOID_P 8
/* Define to 1 if you have the ANSI C header files. */
#define STDC_HEADERS 1
/* Enable extensions on HP-UX. */
#ifndef _HPUX_SOURCE
# define _HPUX_SOURCE 1
#endif
/* Enable extensions on AIX 3, Interix. */
/*
#ifndef _ALL_SOURCE
# define _ALL_SOURCE 1
#endif
*/
/* Enable GNU extensions on systems that have them. */
/*
#ifndef _GNU_SOURCE
# define _GNU_SOURCE 1
#endif
*/
/* Enable threading extensions on Solaris. */
/*
#ifndef _POSIX_PTHREAD_SEMANTICS
# define _POSIX_PTHREAD_SEMANTICS 1
#endif
*/
/* Enable extensions on HP NonStop. */
/*
#ifndef _TANDEM_SOURCE
# define _TANDEM_SOURCE 1
#endif
*/
/* Enable general extensions on Solaris. */
/*
#ifndef __EXTENSIONS__
# define __EXTENSIONS__ 1
#endif
*/
/* Version number of package */
#define HWLOC_VERSION "1.11.1"
#define VERSION HWLOC_VERSION
/* Define to 1 if the X Window System is missing or not being used. */
#define X_DISPLAY_MISSING 1
/* Define to 1 if on MINIX. */
/* #undef _MINIX */
/* Define to 2 if the system does not provide POSIX.1 features except with
this defined. */
/* #undef _POSIX_1_SOURCE */
/* Define to 1 if you need to in order for `stat' and other things to work. */
/* #undef _POSIX_SOURCE */
/* Define this to the process ID type */
#define hwloc_pid_t HANDLE
/* Define this to either strncasecmp or strncmp */
#define hwloc_strncasecmp strncasecmp
/* Define this to the thread ID type */
#define hwloc_thread_t HANDLE
#endif /* HWLOC_CONFIGURE_H */

Просмотреть файл

@ -27,16 +27,16 @@ EXTRA_DIST = \
SUBDIRS = hwloc
# Headers and sources
headers = hwloc1112.h
sources = hwloc1112_component.c
headers = hwloc1113.h
sources = hwloc1113_component.c
# We only ever build this component statically
noinst_LTLIBRARIES = libmca_hwloc_hwloc1112.la
libmca_hwloc_hwloc1112_la_SOURCES = $(headers) $(sources)
nodist_libmca_hwloc_hwloc1112_la_SOURCES = $(nodist_headers)
libmca_hwloc_hwloc1112_la_LDFLAGS = -module -avoid-version $(opal_hwloc_hwloc1112_LDFLAGS)
libmca_hwloc_hwloc1112_la_LIBADD = $(opal_hwloc_hwloc1112_LIBS)
libmca_hwloc_hwloc1112_la_DEPENDENCIES = \
noinst_LTLIBRARIES = libmca_hwloc_hwloc1113.la
libmca_hwloc_hwloc1113_la_SOURCES = $(headers) $(sources)
nodist_libmca_hwloc_hwloc1113_la_SOURCES = $(nodist_headers)
libmca_hwloc_hwloc1113_la_LDFLAGS = -module -avoid-version $(opal_hwloc_hwloc1113_LDFLAGS)
libmca_hwloc_hwloc1113_la_LIBADD = $(opal_hwloc_hwloc1113_LIBS)
libmca_hwloc_hwloc1113_la_DEPENDENCIES = \
$(HWLOC_top_builddir)/src/libhwloc_embedded.la
# Since the rest of the code base includes the underlying hwloc.h, we

Просмотреть файл

@ -1,5 +1,4 @@
Cherry-picked commits after 1.11.2:
Cherry-picked commits after 1.11.3:
open-mpi/hwloc@d2d07b9a2268699e13e1644b4f2ef7a53ef7396c
open-mpi/hwloc@9549fd59af04dca2e2340e17f0e685f8c552d818
open-mpi/hwloc@0ab7af5e90fc2b58be30b2126cc2a73f9f7ecfe9

174
opal/mca/hwloc/hwloc1113/configure.m4 Обычный файл
Просмотреть файл

@ -0,0 +1,174 @@
# -*- shell-script -*-
#
# Copyright (c) 2009-2015 Cisco Systems, Inc. All rights reserved.
# Copyright (c) 2014-2015 Intel, Inc. All rights reserved.
# Copyright (c) 2015 Research Organization for Information Science
# and Technology (RIST). All rights reserved.
# Copyright (c) 2016 Los Alamos National Security, LLC. All rights
# reserved.
#
# $COPYRIGHT$
#
# Additional copyrights may follow
#
# $HEADER$
#
#
# Priority
#
AC_DEFUN([MCA_opal_hwloc_hwloc1113_PRIORITY], [90])
#
# Force this component to compile in static-only mode
#
AC_DEFUN([MCA_opal_hwloc_hwloc1113_COMPILE_MODE], [
AC_MSG_CHECKING([for MCA component $2:$3 compile mode])
$4="static"
AC_MSG_RESULT([$$4])
])
# Include hwloc m4 files
m4_include(opal/mca/hwloc/hwloc1113/hwloc/config/hwloc.m4)
m4_include(opal/mca/hwloc/hwloc1113/hwloc/config/hwloc_pkg.m4)
m4_include(opal/mca/hwloc/hwloc1113/hwloc/config/hwloc_check_attributes.m4)
m4_include(opal/mca/hwloc/hwloc1113/hwloc/config/hwloc_check_visibility.m4)
m4_include(opal/mca/hwloc/hwloc1113/hwloc/config/hwloc_check_vendor.m4)
m4_include(opal/mca/hwloc/hwloc1113/hwloc/config/hwloc_components.m4)
# MCA_hwloc_hwloc1113_POST_CONFIG()
# ---------------------------------
AC_DEFUN([MCA_opal_hwloc_hwloc1113_POST_CONFIG],[
OPAL_VAR_SCOPE_PUSH([opal_hwloc_hwloc1113_basedir])
# If we won, then do all the rest of the setup
AS_IF([test "$1" = "1" && test "$opal_hwloc_hwloc1113_support" = "yes"],
[
# Set this variable so that the framework m4 knows what
# file to include in opal/mca/hwloc/hwloc.h
opal_hwloc_hwloc1113_basedir=opal/mca/hwloc/hwloc1113
opal_hwloc_base_include="$opal_hwloc_hwloc1113_basedir/hwloc1113.h"
# Add some stuff to CPPFLAGS so that the rest of the source
# tree can be built
file=$opal_hwloc_hwloc1113_basedir/hwloc
CPPFLAGS="$CPPFLAGS -I$OPAL_TOP_SRCDIR/$file/include"
AS_IF([test "$OPAL_TOP_BUILDDIR" != "$OPAL_TOP_SRCDIR"],
[CPPFLAGS="$CPPFLAGS -I$OPAL_TOP_BUILDDIR/$file/include"])
unset file
])
OPAL_VAR_SCOPE_POP
# This must be run unconditionally
HWLOC_DO_AM_CONDITIONALS
])dnl
# MCA_hwloc_hwloc1113_CONFIG([action-if-found], [action-if-not-found])
# --------------------------------------------------------------------
AC_DEFUN([MCA_opal_hwloc_hwloc1113_CONFIG],[
# Hwloc needs to know if we have Verbs support
AC_REQUIRE([OPAL_CHECK_VERBS_DIR])
AC_CONFIG_FILES([opal/mca/hwloc/hwloc1113/Makefile])
OPAL_VAR_SCOPE_PUSH([HWLOC_VERSION opal_hwloc_hwloc1113_save_CPPFLAGS opal_hwloc_hwloc1113_save_LDFLAGS opal_hwloc_hwloc1113_save_LIBS opal_hwloc_hwloc1113_save_cairo opal_hwloc_hwloc1113_save_xml opal_hwloc_hwloc1113_basedir opal_hwloc_hwloc1113_file opal_hwloc_hwloc1113_save_cflags CPPFLAGS_save LIBS_save])
# default to this component not providing support
opal_hwloc_hwloc1113_basedir=opal/mca/hwloc/hwloc1113
opal_hwloc_hwloc1113_support=no
if test "$with_hwloc" = "internal" || test -z "$with_hwloc" || test "$with_hwloc" = "yes"; then
opal_hwloc_hwloc1113_save_CPPFLAGS=$CPPFLAGS
opal_hwloc_hwloc1113_save_LDFLAGS=$LDFLAGS
opal_hwloc_hwloc1113_save_LIBS=$LIBS
# Run the hwloc configuration - set the prefix to minimize
# the chance that someone will use the internal symbols
HWLOC_SET_SYMBOL_PREFIX([opal_hwloc1113_])
# save XML or graphical options
opal_hwloc_hwloc1113_save_cairo=$enable_cairo
opal_hwloc_hwloc1113_save_xml=$enable_xml
opal_hwloc_hwloc1113_save_static=$enable_static
opal_hwloc_hwloc1113_save_shared=$enable_shared
opal_hwloc_hwloc1113_save_plugins=$enable_plugins
# never enable hwloc's graphical option
enable_cairo=no
# never enable hwloc's plugin system
enable_plugins=no
enable_static=yes
enable_shared=no
# Override -- disable hwloc's libxml2 support, but enable the
# native hwloc XML support
enable_libxml2=no
enable_xml=yes
# hwloc checks for compiler visibility, and its needs to do
# this without "picky" flags.
opal_hwloc_hwloc1113_save_cflags=$CFLAGS
CFLAGS=$OPAL_CFLAGS_BEFORE_PICKY
HWLOC_SETUP_CORE([opal/mca/hwloc/hwloc1113/hwloc],
[AC_MSG_CHECKING([whether hwloc configure succeeded])
AC_MSG_RESULT([yes])
HWLOC_VERSION="internal v`$srcdir/$opal_hwloc_hwloc1113_basedir/hwloc/config/hwloc_get_version.sh $srcdir/$opal_hwloc_hwloc1113_basedir/hwloc/VERSION`"
# Build flags for our Makefile.am
opal_hwloc_hwloc1113_LDFLAGS='$(HWLOC_EMBEDDED_LDFLAGS)'
opal_hwloc_hwloc1113_LIBS='$(OPAL_TOP_BUILDDIR)/'"$opal_hwloc_hwloc1113_basedir"'/hwloc/src/libhwloc_embedded.la $(HWLOC_EMBEDDED_LIBS)'
opal_hwloc_hwloc1113_support=yes
AC_DEFINE_UNQUOTED([HWLOC_HWLOC1113_HWLOC_VERSION],
["$HWLOC_VERSION"],
[Version of hwloc])
# Do we have verbs support?
CPPFLAGS_save=$CPPFLAGS
AS_IF([test "$opal_want_verbs" = "yes"],
[CPPFLAGS="-I$opal_verbs_dir/include $CPPFLAGS"])
AC_CHECK_HEADERS([infiniband/verbs.h])
CPPFLAGS=$CPPFLAGS_save
],
[AC_MSG_CHECKING([whether hwloc configure succeeded])
AC_MSG_RESULT([no])
opal_hwloc_hwloc1113_support=no])
CFLAGS=$opal_hwloc_hwloc1113_save_cflags
# Restore some env variables, if necessary
AS_IF([test -n "$opal_hwloc_hwloc1113_save_cairo"],
[enable_cairo=$opal_hwloc_hwloc1113_save_cairo])
AS_IF([test -n "$opal_hwloc_hwloc1113_save_xml"],
[enable_xml=$opal_hwloc_hwloc1113_save_xml])
AS_IF([test -n "$opal_hwloc_hwloc1113_save_static"],
[enable_static=$opal_hwloc_hwloc1113_save_static])
AS_IF([test -n "$opal_hwloc_hwloc1113_save_shared"],
[enable_shared=$opal_hwloc_hwloc1113_save_shared])
AS_IF([test -n "$opal_hwloc_hwloc1113_save_plugins"],
[enable_plugins=$opal_hwloc_hwloc1113_save_shared])
CPPFLAGS=$opal_hwloc_hwloc1113_save_CPPFLAGS
LDFLAGS=$opal_hwloc_hwloc1113_save_LDFLAGS
LIBS=$opal_hwloc_hwloc1113_save_LIBS
AC_SUBST([opal_hwloc_hwloc1113_CFLAGS])
AC_SUBST([opal_hwloc_hwloc1113_CPPFLAGS])
AC_SUBST([opal_hwloc_hwloc1113_LDFLAGS])
AC_SUBST([opal_hwloc_hwloc1113_LIBS])
# Finally, add some flags to the wrapper compiler so that our
# headers can be found.
hwloc_hwloc1113_WRAPPER_EXTRA_LDFLAGS="$HWLOC_EMBEDDED_LDFLAGS"
hwloc_hwloc1113_WRAPPER_EXTRA_LIBS="$HWLOC_EMBEDDED_LIBS"
hwloc_hwloc1113_WRAPPER_EXTRA_CPPFLAGS='-I${pkgincludedir}/'"$opal_hwloc_hwloc1113_basedir/hwloc/include"
fi
# Done!
AS_IF([test "$opal_hwloc_hwloc1113_support" = "yes"],
[$1],
[$2])
OPAL_VAR_SCOPE_POP
])dnl

Просмотреть файл

@ -1,8 +1,18 @@
Copyright © 2004-2006 The Trustees of Indiana University and Indiana University Research and Technology Corporation. All rights reserved.
Copyright © 2004-2005 The University of Tennessee and The University of Tennessee Research Foundation. All rights reserved.
Copyright © 2004-2005 High Performance Computing Center Stuttgart, University of Stuttgart. All rights reserved.
Copyright © 2004-2005 The Regents of the University of California. All rights reserved.
Copyright © 2009 CNRS
Copyright © 2009 inria. All rights reserved.
Copyright © 2009 Université Bordeaux
Copyright © 2009 Cisco Systems, Inc. All rights reserved.
Copyright © 2009-2016 Inria. All rights reserved.
Copyright © 2009-2015 Université Bordeaux
Copyright © 2009-2015 Cisco Systems, Inc. All rights reserved.
Copyright © 2009-2012 Oracle and/or its affiliates. All rights reserved.
Copyright © 2010 IBM
Copyright © 2010 Jirka Hladky
Copyright © 2012 Aleksej Saushev, The NetBSD Foundation
Copyright © 2012 Blue Brain Project, EPFL. All rights reserved.
Copyright © 2015 Research Organization for Information Science and Technology (RIST). All rights reserved.
Copyright © 2015-2016 Intel, Inc. All rights reserved.
See COPYING in top-level directory.
Redistribution and use in source and binary forms, with or without

Просмотреть файл

@ -1,4 +1,4 @@
# Copyright © 2009-2015 Inria. All rights reserved.
# Copyright © 2009-2016 Inria. All rights reserved.
# Copyright © 2009 Université Bordeaux
# Copyright © 2009-2014 Cisco Systems, Inc. All rights reserved.
# See COPYING in top-level directory.
@ -9,7 +9,7 @@ ACLOCAL_AMFLAGS = -I ./config
SUBDIRS = src include
if HWLOC_BUILD_STANDALONE
SUBDIRS += tests utils
SUBDIRS += tests utils contrib/systemd
# We need doc/ if HWLOC_BUILD_DOXYGEN, or during make install if HWLOC_INSTALL_DOXYGEN.
# There's no INSTALL_SUBDIRS, so always enter doc/ and check HWLOC_BUILD/INSTALL_DOXYGEN there
SUBDIRS += doc
@ -21,11 +21,9 @@ DIST_SUBDIRS = $(SUBDIRS)
# Only install the pkg file if we're building in standalone mode (and not on Windows)
if HWLOC_BUILD_STANDALONE
if !HWLOC_HAVE_WINDOWS
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = hwloc.pc
endif
endif
# Only install the valgrind suppressions file if we're building in standalone mode
if HWLOC_BUILD_STANDALONE

Просмотреть файл

@ -25,8 +25,55 @@ Version 1.11.4
Version 1.11.3
--------------
* Fix /proc/mounts parsing on Linux by using mntent.h.
* Bug fixes
+ Fix a memory leak on Linux S/390 hosts with books.
+ Fix /proc/mounts parsing on Linux by using mntent.h.
Thanks to Nathan Hjelm for reporting the issue.
+ Fix a x86 infinite loop on VMware due to the x2APIC feature being
advertised without actually being fully supported.
Thanks to Jianjun Wen for reporting the problem and testing the patch.
+ Fix the return value of hwloc_alloc() on mmap() failure.
Thanks to Hugo Brunie for reporting the issue.
+ Fix the return value of command-line tools in some error cases.
+ Do not break individual thread bindings during x86 backend discovery in a
multithreaded process. Thanks to Farouk Mansouri for the report.
+ Fix hwloc-bind --membind for CPU-less NUMA nodes.
+ Fix some corner cases in the XML export/import of application userdata.
* API Improvements
+ Add HWLOC_MEMBIND_BYNODESET flag so that membind() functions accept
either cpusets or nodesets.
+ Add hwloc_get_area_memlocation() to check where pages are actually
allocated. Only implemented on Linux for now.
- There's no _nodeset() variant, but the new flag HWLOC_MEMBIND_BYNODESET
is supported.
+ Make hwloc_obj_type_sscanf() parse back everything that may be outputted
by hwloc_obj_type_snprintf().
* Detection Improvements
+ Allow the x86 backend to add missing cache levels, so that it completes
what the Solaris backend lacks.
Thanks to Ryan Zezeski for reporting the issue.
+ Do not filter-out FibreChannel PCI adapters by default anymore.
Thanks to Matt Muggeridge for the report.
+ Add support for CUDA compute capability 6.x.
* Tools
+ Add --support to hwloc-info to list supported features, just like with
hwloc_topology_get_support().
- Also add --objects and --topology to explicitly switch between the
default modes.
+ Add --tid to let hwloc-bind operate on individual threads on Linux.
+ Add --nodeset to let hwloc-bind report memory binding as NUMA node sets.
+ hwloc-annotate and lstopo don't drop application userdata from XMLs anymore.
- Add --cu to hwloc-annotate to drop these application userdata.
+ Make the hwloc-dump-hwdata dump directory configurable through configure
options such as --runstatedir or --localstatedir.
* Misc Improvements
+ Add systemd service template contrib/systemd/hwloc-dump-hwdata.service
for launching hwloc-dump-hwdata at boot on Linux.
Thanks to Grzegorz Andrejczuk.
+ Add HWLOC_PLUGINS_BLACKLIST environment variable to prevent some plugins
from being loaded. Thanks to Alexandre Denis for the suggestion.
+ Small improvements for various Windows build systems,
thanks to Jonathan L Peyton and Marco Atzeri.
Version 1.11.2

83
opal/mca/hwloc/hwloc1113/hwloc/README Обычный файл
Просмотреть файл

@ -0,0 +1,83 @@
Introduction
hwloc provides command line tools and a C API to obtain the hierarchical map of
key computing elements, such as: NUMA memory nodes, shared caches, processor
packages, processor cores, processing units (logical processors or "threads")
and even I/O devices. hwloc also gathers various attributes such as cache and
memory information, and is portable across a variety of different operating
systems and platforms. Additionally it may assemble the topologies of multiple
machines into a single one so as to let applications consult the topology of an
entire fabric or cluster at once.
hwloc primarily aims at helping high-performance computing (HPC) applications,
but is also applicable to any project seeking to exploit code and/or data
locality on modern computing platforms.
Note that the hwloc project represents the merger of the libtopology project
from inria and the Portable Linux Processor Affinity (PLPA) sub-project from
Open MPI. Both of these prior projects are now deprecated. The first hwloc
release was essentially a "re-branding" of the libtopology code base, but with
both a few genuinely new features and a few PLPA-like features added in. Prior
releases of hwloc included documentation about switching from PLPA to hwloc;
this documentation has been dropped on the assumption that everyone who was
using PLPA has already switched to hwloc.
hwloc supports the following operating systems:
* Linux (including old kernels not having sysfs topology information, with
knowledge of cpusets, offline CPUs, ScaleMP vSMP and Kerrighed support) on
all supported hardware, including Intel Xeon Phi (KNL and KNC, either
standalone or as a coprocessor) and NumaScale NumaConnect.
* Solaris
* AIX
* Darwin / OS X
* FreeBSD and its variants (such as kFreeBSD/GNU)
* NetBSD
* OSF/1 (a.k.a., Tru64)
* HP-UX
* Microsoft Windows
* IBM BlueGene/Q Compute Node Kernel (CNK)
Since it uses standard Operating System information, hwloc's support is mostly
independant from the processor type (x86, powerpc, ...) and just relies on the
Operating System support. The only exception to this is kFreeBSD, which does
not support topology information, and hwloc thus uses an x86-only CPUID-based
backend (which can be used for other OSes too, see the Components and plugins
section).
To check whether hwloc works on a particular machine, just try to build it and
run lstopo or lstopo-no-graphics. If some things do not look right (e.g. bogus
or missing cache information), see Questions and Bugs below.
hwloc only reports the number of processors on unsupported operating systems;
no topology information is available.
For development and debugging purposes, hwloc also offers the ability to work
on "fake" topologies:
* Symmetrical tree of resources generated from a list of level arities
* Remote machine simulation through the gathering of Linux sysfs topology
files
hwloc can display the topology in a human-readable format, either in graphical
mode (X11), or by exporting in one of several different formats, including:
plain text, PDF, PNG, and FIG (see CLI Examples below). Note that some of the
export formats require additional support libraries.
hwloc offers a programming interface for manipulating topologies and objects.
It also brings a powerful CPU bitmap API that is used to describe topology
objects location on physical/logical processors. See the Programming Interface
below. It may also be used to binding applications onto certain cores or memory
nodes. Several utility programs are also provided to ease command-line
manipulation of topology objects, binding of processes, and so on.
Perl bindings are available from Bernd Kallies on CPAN.
Python bindings are available from Guy Streeter:
* Fedora RPM and tarball.
* git tree (html).
See https://www.open-mpi.org/projects/hwloc/doc/ for more hwloc documentation.

Просмотреть файл

@ -5,9 +5,11 @@
# major, minor, and release are generally combined in the form
# <major>.<minor>.<release>. If release is zero, then it is omitted.
# Please update HWLOC_VERSION in contrib/windows/private_config.h too.
major=1
minor=11
release=2
release=3
# greek is used for alpha or beta release tags. If it is non-empty,
# it will be appended to the version number. It does not have to be
@ -20,7 +22,7 @@ greek=
# The date when this release was created
date="Dec 17, 2015"
date="Apr 26, 2016"
# If snapshot=1, then use the value from snapshot_version as the
# entire hwloc version (i.e., ignore major, minor, release, and
@ -39,4 +41,6 @@ snapshot_version=${major}.${minor}.${release}${greek}-git
# 2. Version numbers are described in the Libtool current:revision:age
# format.
libhwloc_so_version=11:8:6
libhwloc_so_version=12:0:7
# Please also update the <TargetName> lines in contrib/windows/libhwloc.vcxproj

Просмотреть файл

@ -1,7 +1,7 @@
dnl -*- Autoconf -*-
dnl
dnl Copyright © 2009-2015 Inria. All rights reserved.
dnl Copyright © 2009-2012, 2015 Université Bordeaux
dnl Copyright © 2009-2016 Inria. All rights reserved.
dnl Copyright © 2009-2012, 2015-2016 Université Bordeaux
dnl Copyright © 2004-2005 The Trustees of Indiana University and Indiana
dnl University Research and Technology
dnl Corporation. All rights reserved.
@ -405,6 +405,7 @@ EOF])
AC_CHECK_LIB([gdi32], [main],
[HWLOC_LIBS="-lgdi32 $HWLOC_LIBS"
AC_DEFINE([HAVE_LIBGDI32], 1, [Define to 1 if we have -lgdi32])])
AC_CHECK_LIB([user32], [PostQuitMessage], [hwloc_have_user32="yes"])
AC_CHECK_HEADER([windows.h], [
AC_DEFINE([HWLOC_HAVE_WINDOWS_H], [1], [Define to 1 if you have the `windows.h' header.])
@ -458,7 +459,16 @@ EOF])
#endif
])
AC_CHECK_DECLS([strtoull], [], [], [AC_INCLUDES_DEFAULT])
AC_CHECK_DECLS([strtoull], [], [AC_CHECK_FUNCS([strtoull])], [AC_INCLUDES_DEFAULT])
# Needed for Windows in private/misc.h
AC_CHECK_TYPES([ssize_t])
AC_CHECK_DECLS([snprintf], [], [], [AC_INCLUDES_DEFAULT])
AC_CHECK_DECLS([strcasecmp], [], [], [AC_INCLUDES_DEFAULT])
# strdup and putenv are declared in windows headers but marked deprecated
AC_CHECK_DECLS([_strdup], [], [], [AC_INCLUDES_DEFAULT])
AC_CHECK_DECLS([_putenv], [], [], [AC_INCLUDES_DEFAULT])
# Could add mkdir and access for hwloc-gather-cpuid.c on Windows
# Do a full link test instead of just using AC_CHECK_FUNCS, which
# just checks to see if the symbol exists or not. For example,
@ -488,7 +498,9 @@ EOF])
# program_invocation_name and __progname may be available but not exported in headers
AC_MSG_CHECKING([for program_invocation_name])
AC_TRY_LINK([
#define _GNU_SOURCE
#ifndef _GNU_SOURCE
# define _GNU_SOURCE
#endif
#include <errno.h>
#include <stdio.h>
extern char *program_invocation_name;
@ -536,7 +548,9 @@ EOF])
CFLAGS="$CFLAGS $HWLOC_STRICT_ARGS_CFLAGS"
AC_COMPILE_IFELSE([
AC_LANG_PROGRAM([[
#define _GNU_SOURCE
#ifndef _GNU_SOURCE
# define _GNU_SOURCE
#endif
#include <sched.h>
static unsigned long mask;
]], [[ sched_setaffinity(0, (void*) &mask); ]])],
@ -545,7 +559,9 @@ EOF])
[AC_MSG_RESULT([no])])
CFLAGS=$hwloc_save_CFLAGS
], , [[
#define _GNU_SOURCE
#ifndef _GNU_SOURCE
# define _GNU_SOURCE
#endif
#include <sched.h>
]])
@ -655,6 +671,9 @@ EOF])
AC_CHECK_HEADERS([sys/utsname.h])
AC_CHECK_FUNCS([uname])
AC_CHECK_HEADERS([valgrind/valgrind.h])
AC_CHECK_DECLS([RUNNING_ON_VALGRIND],,[:],[[#include <valgrind/valgrind.h>]])
AC_CHECK_HEADERS([pthread_np.h])
AC_CHECK_DECLS([pthread_setaffinity_np],,[:],[[
#include <pthread.h>
@ -707,6 +726,9 @@ EOF])
enable_migrate_pages=yes
AC_DEFINE([HWLOC_HAVE_MIGRATE_PAGES], [1], [Define to 1 if migrate_pages is available.])
])
AC_CHECK_LIB([numa], [move_pages], [
AC_DEFINE([HWLOC_HAVE_MOVE_PAGES], [1], [Define to 1 if move_pages is available.])
])
LIBS="$tmp_save_LIBS"
fi
@ -1195,6 +1217,7 @@ AC_DEFUN([HWLOC_DO_AM_CONDITIONALS],[
AM_CONDITIONAL([HWLOC_HAVE_SET_MEMPOLICY], [test "x$enable_set_mempolicy" != "xno"])
AM_CONDITIONAL([HWLOC_HAVE_MBIND], [test "x$enable_mbind" != "xno"])
AM_CONDITIONAL([HWLOC_HAVE_BUNZIPP], [test "x$BUNZIPP" != "xfalse"])
AM_CONDITIONAL([HWLOC_HAVE_USER32], [test "x$hwloc_have_user32" = "xyes"])
AM_CONDITIONAL([HWLOC_BUILD_DOXYGEN],
[test "x$hwloc_generate_doxs" = "xyes"])
@ -1264,19 +1287,22 @@ AC_DEFUN([_HWLOC_CHECK_DIFF_W], [
dnl HWLOC_CHECK_DECL
dnl
dnl Check declaration of given function by trying to call it with an insane
dnl number of arguments (10). Success means the compiler couldn't really check.
dnl Check that the declaration of the given function has a complete prototype
dnl with argument list by trying to call it with an insane dnl number of
dnl arguments (10). Success means the compiler couldn't really check.
AC_DEFUN([_HWLOC_CHECK_DECL], [
AC_MSG_CHECKING([whether function $1 is declared])
AC_CHECK_DECL([$1], [
AC_MSG_CHECKING([whether function $1 has a complete prototype])
AC_REQUIRE([AC_PROG_CC])
AC_COMPILE_IFELSE([AC_LANG_PROGRAM(
[AC_INCLUDES_DEFAULT([$4])
void * $1;],
[AC_INCLUDES_DEFAULT([$4])]
[$1(1,2,3,4,5,6,7,8,9,10);],
)],
[AC_MSG_RESULT([no])
$3],
[AC_MSG_RESULT([yes])
$2]
)], [$3], $4
)
])

Просмотреть файл

@ -1,6 +1,6 @@
dnl -*- Autoconf -*-
dnl
dnl Copyright © 2009-2014 Inria. All rights reserved.
dnl Copyright © 2009-2016 Inria. All rights reserved.
dnl Copyright © 2009, 2011 Université Bordeaux
dnl Copyright © 2004-2005 The Trustees of Indiana University and Indiana
dnl University Research and Technology
@ -9,7 +9,6 @@ dnl Copyright © 2004-2005 The Regents of the University of California.
dnl All rights reserved.
dnl Copyright © 2004-2008 High Performance Computing Center Stuttgart,
dnl University of Stuttgart. All rights reserved.
dnl Copyright © 2010-2015 Inria. All rights reserved.
dnl Copyright © 2006-2014 Cisco Systems, Inc. All rights reserved.
dnl
dnl See COPYING in top-level directory.
@ -247,6 +246,14 @@ EOF
AC_REQUIRE([AC_PROG_SED])
# runstatedir only supported in autoconf >= 2.70 and in some backports
if test "x${runstatedir}" != "x"; then
HWLOC_runstatedir=${runstatedir}
else
HWLOC_runstatedir='${localstatedir}/run'
fi
AC_SUBST([HWLOC_runstatedir])
# Cairo support
hwloc_cairo_happy=no
if test "x$enable_cairo" != "xno"; then
@ -307,6 +314,8 @@ EOF
LIBS="$hwloc_old_LIBS"
unset hwloc_old_LIBS
AC_PATH_TOOL(RMPATH, rm)
_HWLOC_CHECK_DIFF_U
_HWLOC_CHECK_DIFF_W
@ -394,7 +403,8 @@ int foo(void) {
hwloc_config_prefix[utils/hwloc/test-hwloc-distrib.sh]
hwloc_config_prefix[utils/hwloc/test-hwloc-info.sh]
hwloc_config_prefix[utils/hwloc/test-fake-plugin.sh]
hwloc_config_prefix[utils/lstopo/test-hwloc-ls.sh])
hwloc_config_prefix[utils/lstopo/test-hwloc-ls.sh]
hwloc_config_prefix[contrib/systemd/Makefile])
AC_CONFIG_COMMANDS([chmoding-scripts], [chmod +x ]hwloc_config_prefix[tests/linux/test-topology.sh ]hwloc_config_prefix[tests/xml/test-topology.sh ]hwloc_config_prefix[tests/linux/gather/test-gather-topology.sh ]hwloc_config_prefix[tests/wrapper.sh ]hwloc_config_prefix[utils/hwloc/hwloc-assembler-remote ]hwloc_config_prefix[utils/hwloc/hwloc-compress-dir ]hwloc_config_prefix[utils/hwloc/hwloc-gather-topology ]hwloc_config_prefix[utils/hwloc/test-hwloc-annotate.sh ]hwloc_config_prefix[utils/hwloc/test-hwloc-assembler.sh ]hwloc_config_prefix[utils/hwloc/test-hwloc-calc.sh ]hwloc_config_prefix[utils/hwloc/test-hwloc-compress-dir.sh ]hwloc_config_prefix[utils/hwloc/test-hwloc-diffpatch.sh ]hwloc_config_prefix[utils/hwloc/test-hwloc-distances.sh ]hwloc_config_prefix[utils/hwloc/test-hwloc-distrib.sh ]hwloc_config_prefix[utils/hwloc/test-hwloc-info.sh ]hwloc_config_prefix[utils/hwloc/test-fake-plugin.sh ]hwloc_config_prefix[utils/lstopo/test-hwloc-ls.sh])

Просмотреть файл

@ -1,6 +1,6 @@
/*
* Copyright © 2009 CNRS
* Copyright © 2009-2015 Inria. All rights reserved.
* Copyright © 2009-2016 Inria. All rights reserved.
* Copyright © 2009-2012 Université Bordeaux
* Copyright © 2009-2011 Cisco Systems, Inc. All rights reserved.
* See COPYING in top-level directory.
@ -277,7 +277,8 @@ typedef enum hwloc_obj_osdev_type_e {
HWLOC_OBJ_OSDEV_NETWORK, /**< \brief Operating system network device.
* For instance the "eth0" interface on Linux. */
HWLOC_OBJ_OSDEV_OPENFABRICS, /**< \brief Operating system openfabrics device.
* For instance the "mlx4_0" InfiniBand HCA device on Linux. */
* For instance the "mlx4_0" InfiniBand HCA,
* or "hfi1_0" Omni-Path interface on Linux. */
HWLOC_OBJ_OSDEV_DMA, /**< \brief Operating system dma engine device.
* For instance the "dma0chan0" DMA channel on Linux. */
HWLOC_OBJ_OSDEV_COPROC /**< \brief Operating system co-processor device.
@ -344,11 +345,15 @@ struct hwloc_obj_memory_s {
struct hwloc_obj {
/* physical information */
hwloc_obj_type_t type; /**< \brief Type of object */
unsigned os_index; /**< \brief OS-provided physical index number.
* It is not guaranteed unique across the entire machine,
* except for PUs and NUMA nodes.
*/
char *name; /**< \brief Object description if any */
char *name; /**< \brief Object-specific name if any.
* Mostly used for identifying OS devices and Misc objects where
* a name string is more useful than numerical indexes.
*/
struct hwloc_obj_memory_s memory; /**< \brief Memory attributes */
@ -435,10 +440,10 @@ struct hwloc_obj {
hwloc_nodeset_t nodeset; /**< \brief NUMA nodes covered by this object or containing this object
*
* This is the set of NUMA nodes for which there are NODE objects in the
* This is the set of NUMA nodes for which there are NUMA node objects in the
* topology under or above this object, i.e. which are known to be physically
* contained in this object or containing it and known how (the children path
* between this object and the NODE objects).
* between this object and the NUMA node objects).
*
* In the end, these nodes are those that are close to the current object.
*
@ -455,7 +460,7 @@ struct hwloc_obj {
* This includes not only the same as the nodeset field, but also the NUMA
* nodes for which topology information is unknown or incomplete, and the nodes
* that are ignored when the ::HWLOC_TOPOLOGY_FLAG_WHOLE_SYSTEM flag is not set.
* Thus no corresponding NODE object may be found in the topology, because the
* Thus no corresponding NUMA node object may be found in the topology, because the
* precise position is undefined. It is however known that it would be
* somewhere under this object.
*
@ -579,7 +584,10 @@ struct hwloc_distances_s {
*/
};
/** \brief Object info */
/** \brief Object info
*
* \sa hwlocality_info_attr
*/
struct hwloc_obj_info_s {
char *name; /**< \brief Info name */
char *value; /**< \brief Info value */
@ -639,6 +647,9 @@ HWLOC_DECLSPEC void hwloc_topology_destroy (hwloc_topology_t topology);
* are duplicated into a new one.
*
* This is useful for keeping a backup while modifying a topology.
*
* \note Object userdata is not duplicated since hwloc does not know what it point to.
* The objects of both old and new topologies will point to the same userdata.
*/
HWLOC_DECLSPEC int hwloc_topology_dup(hwloc_topology_t *newtopology, hwloc_topology_t oldtopology);
@ -963,6 +974,7 @@ HWLOC_DECLSPEC int hwloc_topology_set_custom(hwloc_topology_t topology);
/** \brief Provide a distance matrix.
*
* Provide the matrix of distances between a set of objects of the given type.
* \p nbobjs must be at least 2.
* The set may or may not contain all the existing objects of this type.
* The objects are specified by their OS/physical index in the \p os_index
* array. The \p distances matrix follows the same order.
@ -996,7 +1008,11 @@ struct hwloc_topology_discovery_support {
unsigned char pu;
};
/** \brief Flags describing actual PU binding support for this topology. */
/** \brief Flags describing actual PU binding support for this topology.
*
* A flag may be set even if the feature isn't supported in all cases
* (e.g. binding to random sets of non-contiguous objects).
*/
struct hwloc_topology_cpubind_support {
/** Binding the whole current process is supported. */
unsigned char set_thisproc_cpubind;
@ -1022,7 +1038,11 @@ struct hwloc_topology_cpubind_support {
unsigned char get_thisthread_last_cpu_location;
};
/** \brief Flags describing actual memory binding support for this topology. */
/** \brief Flags describing actual memory binding support for this topology.
*
* A flag may be set even if the feature isn't supported in all cases
* (e.g. binding to random sets of non-contiguous objects).
*/
struct hwloc_topology_membind_support {
/** Binding the whole current process is supported. */
unsigned char set_thisproc_membind;
@ -1052,9 +1072,10 @@ struct hwloc_topology_membind_support {
unsigned char replicate_membind;
/** Next-touch migration policy is supported. */
unsigned char nexttouch_membind;
/** Migration flags is supported. */
unsigned char migrate_membind;
/** Getting the last NUMA nodes where a memory area was allocated is supported */
unsigned char get_area_memlocation;
};
/** \brief Set of flags describing actual support for this topology.
@ -1069,7 +1090,15 @@ struct hwloc_topology_support {
struct hwloc_topology_membind_support *membind;
};
/** \brief Retrieve the topology support. */
/** \brief Retrieve the topology support.
*
* Each flag indicates whether a feature is supported.
* If set to 0, the feature is not supported.
* If set to 1, the feature is supported, but the corresponding
* call may still fail in some corner cases.
*
* These features are also listed by hwloc-info \--support
*/
HWLOC_DECLSPEC const struct hwloc_topology_support *hwloc_topology_get_support(hwloc_topology_t __hwloc_restrict topology);
/** \brief Set the topology-specific userdata pointer.
@ -1227,48 +1256,26 @@ hwloc_get_next_obj_by_type (hwloc_topology_t topology, hwloc_obj_type_t type,
/** \defgroup hwlocality_object_strings Manipulating Object Type, Sets and Attributes as Strings
/** \defgroup hwlocality_object_strings Converting between Object Types, Sets and Attributes, and Strings
* @{
*/
/** \brief Return a stringified topology object type */
HWLOC_DECLSPEC const char * hwloc_obj_type_string (hwloc_obj_type_t type) __hwloc_attribute_const;
/** \brief Return an object type and attributes from a type string.
/** \brief Return a constant stringified object type.
*
* Convert strings such as "Package" or "Cache" into the corresponding types.
* Matching is case-insensitive, and only the first letters are actually
* required to match.
* This function is the basic way to convert a generic type into a string.
*
* Types that have specific attributes, for instance caches and groups,
* may be returned in \p depthattrp and \p typeattrp. They are ignored
* when these pointers are \c NULL.
*
* For instance "L2i" or "L2iCache" would return
* type HWLOC_OBJ_CACHE in \p typep, 2 in \p depthattrp,
* and HWLOC_OBJ_CACHE_TYPE_INSTRUCTION in \p typeattrp
* (this last pointer should point to a hwloc_obj_cache_type_t).
* "Group3" would return type HWLOC_OBJ_GROUP type and 3 in \p depthattrp.
* Attributes that are not specified in the string (for instance "Group"
* without a depth, or "L2Cache" without a cache type) are set to -1.
*
* \p typeattrp is only filled if the size specified in \p typeattrsize
* is large enough. It is currently only used for caches, and the required
* size is at least the size of hwloc_obj_cache_type_t.
*
* \return 0 if a type was correctly identified, otherwise -1.
*
* \note This is an extended version of the now deprecated hwloc_obj_type_of_string()
* hwloc_obj_type_snprintf() may return a more precise output for a specific
* object, but it requires the caller to provide the output buffer.
*/
HWLOC_DECLSPEC int hwloc_obj_type_sscanf(const char *string,
hwloc_obj_type_t *typep,
int *depthattrp,
void *typeattrp, size_t typeattrsize);
HWLOC_DECLSPEC const char * hwloc_obj_type_string (hwloc_obj_type_t type) __hwloc_attribute_const;
/** \brief Stringify the type of a given topology object into a human-readable form.
*
* It differs from hwloc_obj_type_string() because it prints type attributes such
* as cache depth and type.
* Contrary to hwloc_obj_type_string(), this function includes object-specific
* attributes (such as the Group depth, the Bridge type, or OS device type)
* in the output, and it requires the caller to provide the output buffer.
*
* The output is guaranteed to be the same for all objects of a same topology level.
*
* If \p size is 0, \p string may safely be \c NULL.
*
@ -1301,6 +1308,49 @@ HWLOC_DECLSPEC int hwloc_obj_attr_snprintf(char * __hwloc_restrict string, size_
*/
HWLOC_DECLSPEC int hwloc_obj_cpuset_snprintf(char * __hwloc_restrict str, size_t size, size_t nobj, const hwloc_obj_t * __hwloc_restrict objs);
/** \brief Return an object type and attributes from a type string.
*
* Convert strings such as "Package" or "Cache" into the corresponding types.
* Matching is case-insensitive, and only the first letters are actually
* required to match.
*
* This function is guaranteed to match any string returned by hwloc_obj_type_string()
* or hwloc_obj_type_snprintf().
*
* Types that have specific attributes, for instance caches and groups,
* may be returned in \p depthattrp and \p typeattrp. They are ignored
* when these pointers are \c NULL.
*
* For instance "L2i" or "L2iCache" would return
* type HWLOC_OBJ_CACHE in \p typep, 2 in \p depthattrp,
* and HWLOC_OBJ_CACHE_TYPE_INSTRUCTION in \p typeattrp
* (this last pointer should point to a hwloc_obj_cache_type_t).
* "Group3" would return type HWLOC_OBJ_GROUP type and 3 in \p depthattrp.
* Attributes that are not specified in the string (for instance "Group"
* without a depth, or "L2Cache" without a cache type) are set to -1.
*
* \p typeattrp is only filled if the size specified in \p typeattrsize
* is large enough. It is currently only used for caches, and the required
* size is at least the size of hwloc_obj_cache_type_t.
*
* \return 0 if a type was correctly identified, otherwise -1.
*
* \note This is an extended version of the now deprecated hwloc_obj_type_of_string()
*/
HWLOC_DECLSPEC int hwloc_obj_type_sscanf(const char *string,
hwloc_obj_type_t *typep,
int *depthattrp,
void *typeattrp, size_t typeattrsize);
/** @} */
/** \defgroup hwlocality_info_attr Consulting and Adding Key-Value Info Attributes
*
* @{
*/
/** \brief Search the given key name in object infos and return the corresponding value.
*
* If multiple keys match the given name, only the first one is returned.
@ -1377,7 +1427,7 @@ HWLOC_DECLSPEC void hwloc_obj_add_info(hwloc_obj_t obj, const char *name, const
* \note On some operating systems, CPU binding may have effects on memory binding, see
* ::HWLOC_CPUBIND_NOMEMBIND
*
* \note Running lstopo --top or hwloc-ps can be a very convenient tool to check
* \note Running lstopo \--top or hwloc-ps can be a very convenient tool to check
* how binding actually happened.
* @{
*/
@ -1568,7 +1618,7 @@ HWLOC_DECLSPEC int hwloc_get_proc_last_cpu_location(hwloc_topology_t topology, h
* (e.g., some systems only allow binding memory on a per-thread
* basis, whereas other systems only allow binding memory for all
* threads in a process).
* \p errno will be set to EXDEV when the requested cpuset can not be enforced
* \p errno will be set to EXDEV when the requested set can not be enforced
* (e.g., some systems only allow binding memory to a single NUMA node).
*
* If ::HWLOC_MEMBIND_STRICT was not passed, the function may fail as well,
@ -1592,13 +1642,18 @@ HWLOC_DECLSPEC int hwloc_get_proc_last_cpu_location(hwloc_topology_t topology, h
* \endcode
*
* Each hwloc memory binding function is available in two forms: one
* that takes a CPU set argument and another that takes a NUMA memory
* node set argument (see \ref hwlocality_object_sets and \ref
* hwlocality_bitmap for a discussion of CPU sets and NUMA memory node
* sets). The names of the latter form end with _nodeset. It is also
* possible to convert between CPU set and node set using
* that takes a bitmap argument (a CPU set by default, or a NUMA memory
* node set if the flag ::HWLOC_MEMBIND_BYNODESET is specified),
* and another one (whose name ends with _nodeset) that always takes
* a NUMA memory node set.
* See \ref hwlocality_object_sets and \ref hwlocality_bitmap for a
* discussion of CPU sets and NUMA memory node sets.
* It is also possible to convert between CPU set and node set using
* hwloc_cpuset_to_nodeset() or hwloc_cpuset_from_nodeset().
*
* Memory binding by CPU set cannot work for CPU-less NUMA memory nodes.
* Binding by nodeset should therefore be preferred whenever possible.
*
* \sa Some example codes are available under doc/examples/ in the source tree.
*
* \note On some operating systems, memory binding affects the CPU
@ -1622,6 +1677,10 @@ typedef enum {
* Depending on the operating system, this may correspond to
* ::HWLOC_MEMBIND_FIRSTTOUCH (Linux),
* or ::HWLOC_MEMBIND_BIND (AIX, HP-UX, OSF, Solaris, Windows).
* This policy is never returned by get membind functions when running
* on normal machines.
* It is only returned when binding hooks are empty because the topology
* was loaded from XML, or HWLOC_THISSYSTEM=0, etc.
* \hideinitializer */
HWLOC_MEMBIND_DEFAULT = 0,
@ -1630,7 +1689,7 @@ typedef enum {
* each page in the allocation is bound only when it is first
* touched. Pages are individually bound to the local NUMA node of
* the first thread that touches it. If there is not enough memory
* on the node, allocation may be done in the specified cpuset
* on the node, allocation may be done in the specified nodes
* before allocating on other nodes.
* \hideinitializer */
HWLOC_MEMBIND_FIRSTTOUCH = 1,
@ -1725,11 +1784,22 @@ typedef enum {
* may fail with errno set to ENOSYS when used with NOCPUBIND.
* \hideinitializer
*/
HWLOC_MEMBIND_NOCPUBIND = (1<<4)
HWLOC_MEMBIND_NOCPUBIND = (1<<4),
/** \brief Consider the bitmap argument as a nodeset.
*
* Functions whose name ends with _nodeset() take a nodeset argument.
* Other functions take a bitmap argument that is considered a nodeset
* if this flag is given, or a cpuset otherwise.
*
* Memory binding by CPU set cannot work for CPU-less NUMA memory nodes.
* Binding by nodeset should therefore be preferred whenever possible.
*/
HWLOC_MEMBIND_BYNODESET = (1<<5)
} hwloc_membind_flags_t;
/** \brief Set the default memory binding policy of the current
* process or thread to prefer the NUMA node(s) specified by physical \p nodeset
* process or thread to prefer the NUMA node(s) specified by \p nodeset
*
* If neither ::HWLOC_MEMBIND_PROCESS nor ::HWLOC_MEMBIND_THREAD is
* specified, the current process is assumed to be single-threaded.
@ -1743,8 +1813,7 @@ typedef enum {
HWLOC_DECLSPEC int hwloc_set_membind_nodeset(hwloc_topology_t topology, hwloc_const_nodeset_t nodeset, hwloc_membind_policy_t policy, int flags);
/** \brief Set the default memory binding policy of the current
* process or thread to prefer the NUMA node(s) near the specified physical \p
* cpuset
* process or thread to prefer the NUMA node(s) specified by \p set
*
* If neither ::HWLOC_MEMBIND_PROCESS nor ::HWLOC_MEMBIND_THREAD is
* specified, the current process is assumed to be single-threaded.
@ -1752,10 +1821,13 @@ HWLOC_DECLSPEC int hwloc_set_membind_nodeset(hwloc_topology_t topology, hwloc_co
* process-based OS functions or thread-based OS functions, depending
* on which are available.
*
* If ::HWLOC_MEMBIND_BYNODESET is specified, set is considered a nodeset.
* Otherwise it's a cpuset.
*
* \return -1 with errno set to ENOSYS if the action is not supported
* \return -1 with errno set to EXDEV if the binding cannot be enforced
*/
HWLOC_DECLSPEC int hwloc_set_membind(hwloc_topology_t topology, hwloc_const_cpuset_t cpuset, hwloc_membind_policy_t policy, int flags);
HWLOC_DECLSPEC int hwloc_set_membind(hwloc_topology_t topology, hwloc_const_bitmap_t set, hwloc_membind_policy_t policy, int flags);
/** \brief Query the default memory binding policy and physical locality of the
* current process or thread.
@ -1785,9 +1857,10 @@ HWLOC_DECLSPEC int hwloc_set_membind(hwloc_topology_t topology, hwloc_const_cpus
*
* Otherwise, if ::HWLOC_MEMBIND_PROCESS is specified (and
* ::HWLOC_MEMBIND_STRICT is \em not specified), \p nodeset is set to
* the logical OR of all threads' default nodeset. If all threads'
* default policies are the same, \p policy is set to that policy. If
* they are different, \p policy is set to ::HWLOC_MEMBIND_MIXED.
* the logical OR of all threads' default nodeset.
* If all threads' default policies are the same, \p policy is set to
* that policy. If they are different, \p policy is set to
* ::HWLOC_MEMBIND_MIXED.
*
* In the ::HWLOC_MEMBIND_THREAD case (or when neither
* ::HWLOC_MEMBIND_PROCESS or ::HWLOC_MEMBIND_THREAD is specified), there
@ -1800,10 +1873,9 @@ HWLOC_DECLSPEC int hwloc_set_membind(hwloc_topology_t topology, hwloc_const_cpus
HWLOC_DECLSPEC int hwloc_get_membind_nodeset(hwloc_topology_t topology, hwloc_nodeset_t nodeset, hwloc_membind_policy_t * policy, int flags);
/** \brief Query the default memory binding policy and physical locality of the
* current process or thread (the locality is returned in \p cpuset as
* CPUs near the locality's actual NUMA node(s)).
* current process or thread.
*
* This function has two output parameters: \p cpuset and \p policy.
* This function has two output parameters: \p set and \p policy.
* The values returned in these parameters depend on both the \p flags
* passed in and the current memory binding policies and nodesets in
* the queried target.
@ -1823,31 +1895,31 @@ HWLOC_DECLSPEC int hwloc_get_membind_nodeset(hwloc_topology_t topology, hwloc_no
* is also specified. In this case, hwloc will check the default
* memory policies and nodesets for all threads in the process. If
* they are not identical, -1 is returned and errno is set to EXDEV.
* If they are identical, the policy is returned in \p policy. \p
* cpuset is set to the union of CPUs near the NUMA node(s) in the
* nodeset.
* If they are identical, the values are returned in \p set and \p
* policy.
*
* Otherwise, if ::HWLOC_MEMBIND_PROCESS is specified (and
* ::HWLOC_MEMBIND_STRICT is \em not specified), the default nodeset
* from each thread is logically OR'ed together. \p cpuset is set to
* the union of CPUs near the NUMA node(s) in the resulting nodeset.
* ::HWLOC_MEMBIND_STRICT is \em not specified), the default set
* from each thread is logically OR'ed together.
* If all threads' default policies are the same, \p policy is set to
* that policy. If they are different, \p policy is set to
* ::HWLOC_MEMBIND_MIXED.
*
* In the ::HWLOC_MEMBIND_THREAD case (or when neither
* ::HWLOC_MEMBIND_PROCESS or ::HWLOC_MEMBIND_THREAD is specified), there
* is only one nodeset and policy. The policy is returned in \p
* policy; \p cpuset is set to the union of CPUs near the NUMA node(s)
* in the \p nodeset.
* is only one set and policy; they are returned in \p set and
* \p policy, respectively.
*
* If ::HWLOC_MEMBIND_BYNODESET is specified, set is considered a nodeset.
* Otherwise it's a cpuset.
*
* If any other flags are specified, -1 is returned and errno is set
* to EINVAL.
*/
HWLOC_DECLSPEC int hwloc_get_membind(hwloc_topology_t topology, hwloc_cpuset_t cpuset, hwloc_membind_policy_t * policy, int flags);
HWLOC_DECLSPEC int hwloc_get_membind(hwloc_topology_t topology, hwloc_bitmap_t set, hwloc_membind_policy_t * policy, int flags);
/** \brief Set the default memory binding policy of the specified
* process to prefer the NUMA node(s) specified by physical \p nodeset
* process to prefer the NUMA node(s) specified by \p nodeset
*
* \return -1 with errno set to ENOSYS if the action is not supported
* \return -1 with errno set to EXDEV if the binding cannot be enforced
@ -1858,7 +1930,10 @@ HWLOC_DECLSPEC int hwloc_get_membind(hwloc_topology_t topology, hwloc_cpuset_t c
HWLOC_DECLSPEC int hwloc_set_proc_membind_nodeset(hwloc_topology_t topology, hwloc_pid_t pid, hwloc_const_nodeset_t nodeset, hwloc_membind_policy_t policy, int flags);
/** \brief Set the default memory binding policy of the specified
* process to prefer the NUMA node(s) near the specified physical \p cpuset
* process to prefer the NUMA node(s) specified by \p set
*
* If ::HWLOC_MEMBIND_BYNODESET is specified, set is considered a nodeset.
* Otherwise it's a cpuset.
*
* \return -1 with errno set to ENOSYS if the action is not supported
* \return -1 with errno set to EXDEV if the binding cannot be enforced
@ -1866,7 +1941,7 @@ HWLOC_DECLSPEC int hwloc_set_proc_membind_nodeset(hwloc_topology_t topology, hwl
* \note \p hwloc_pid_t is \p pid_t on Unix platforms,
* and \p HANDLE on native Windows platforms.
*/
HWLOC_DECLSPEC int hwloc_set_proc_membind(hwloc_topology_t topology, hwloc_pid_t pid, hwloc_const_cpuset_t cpuset, hwloc_membind_policy_t policy, int flags);
HWLOC_DECLSPEC int hwloc_set_proc_membind(hwloc_topology_t topology, hwloc_pid_t pid, hwloc_const_bitmap_t set, hwloc_membind_policy_t policy, int flags);
/** \brief Query the default memory binding policy and physical locality of the
* specified process.
@ -1907,10 +1982,9 @@ HWLOC_DECLSPEC int hwloc_set_proc_membind(hwloc_topology_t topology, hwloc_pid_t
HWLOC_DECLSPEC int hwloc_get_proc_membind_nodeset(hwloc_topology_t topology, hwloc_pid_t pid, hwloc_nodeset_t nodeset, hwloc_membind_policy_t * policy, int flags);
/** \brief Query the default memory binding policy and physical locality of the
* specified process (the locality is returned in \p cpuset as CPUs
* near the locality's actual NUMA node(s)).
* specified process.
*
* This function has two output parameters: \p cpuset and \p policy.
* This function has two output parameters: \p set and \p policy.
* The values returned in these parameters depend on both the \p flags
* passed in and the current memory binding policies and nodesets in
* the queried target.
@ -1929,39 +2003,45 @@ HWLOC_DECLSPEC int hwloc_get_proc_membind_nodeset(hwloc_topology_t topology, hwl
* If ::HWLOC_MEMBIND_STRICT is specified, hwloc will check the default
* memory policies and nodesets for all threads in the specified
* process. If they are not identical, -1 is returned and errno is
* set to EXDEV. If they are identical, the policy is returned in \p
* policy. \p cpuset is set to the union of CPUs near the NUMA
* node(s) in the nodeset.
* set to EXDEV. If they are identical, the values are returned in \p
* set and \p policy.
*
* Otherwise, the default nodeset from each thread is logically OR'ed
* together. \p cpuset is set to the union of CPUs near the NUMA
* node(s) in the resulting nodeset. If all threads' default policies
* Otherwise, \p set is set to the logical OR of all threads'
* default set. If all threads' default policies
* are the same, \p policy is set to that policy. If they are
* different, \p policy is set to ::HWLOC_MEMBIND_MIXED.
*
* If ::HWLOC_MEMBIND_BYNODESET is specified, set is considered a nodeset.
* Otherwise it's a cpuset.
*
* If any other flags are specified, -1 is returned and errno is set
* to EINVAL.
*
* \note \p hwloc_pid_t is \p pid_t on Unix platforms,
* and \p HANDLE on native Windows platforms.
*/
HWLOC_DECLSPEC int hwloc_get_proc_membind(hwloc_topology_t topology, hwloc_pid_t pid, hwloc_cpuset_t cpuset, hwloc_membind_policy_t * policy, int flags);
HWLOC_DECLSPEC int hwloc_get_proc_membind(hwloc_topology_t topology, hwloc_pid_t pid, hwloc_bitmap_t set, hwloc_membind_policy_t * policy, int flags);
/** \brief Bind the already-allocated memory identified by (addr, len)
* to the NUMA node(s) in physical \p nodeset.
* to the NUMA node(s) specified by \p nodeset.
*
* \return 0 if \p len is 0.
* \return -1 with errno set to ENOSYS if the action is not supported
* \return -1 with errno set to EXDEV if the binding cannot be enforced
*/
HWLOC_DECLSPEC int hwloc_set_area_membind_nodeset(hwloc_topology_t topology, const void *addr, size_t len, hwloc_const_nodeset_t nodeset, hwloc_membind_policy_t policy, int flags);
/** \brief Bind the already-allocated memory identified by (addr, len)
* to the NUMA node(s) near physical \p cpuset.
* to the NUMA node(s) specified by \p set.
*
* If ::HWLOC_MEMBIND_BYNODESET is specified, set is considered a nodeset.
* Otherwise it's a cpuset.
*
* \return 0 if \p len is 0.
* \return -1 with errno set to ENOSYS if the action is not supported
* \return -1 with errno set to EXDEV if the binding cannot be enforced
*/
HWLOC_DECLSPEC int hwloc_set_area_membind(hwloc_topology_t topology, const void *addr, size_t len, hwloc_const_cpuset_t cpuset, hwloc_membind_policy_t policy, int flags);
HWLOC_DECLSPEC int hwloc_set_area_membind(hwloc_topology_t topology, const void *addr, size_t len, hwloc_const_bitmap_t set, hwloc_membind_policy_t policy, int flags);
/** \brief Query the physical NUMA node(s) and binding policy of the memory
* identified by (\p addr, \p len ).
@ -1982,6 +2062,8 @@ HWLOC_DECLSPEC int hwloc_set_area_membind(hwloc_topology_t topology, const void
* If all pages in the target have the same policy, it is returned in
* \p policy. Otherwise, \p policy is set to ::HWLOC_MEMBIND_MIXED.
*
* If \p len is 0, -1 is returned and errno is set to EINVAL.
*
* If any other flags are specified, -1 is returned and errno is set
* to EINVAL.
*/
@ -1990,7 +2072,7 @@ HWLOC_DECLSPEC int hwloc_get_area_membind_nodeset(hwloc_topology_t topology, con
/** \brief Query the CPUs near the physical NUMA node(s) and binding policy of
* the memory identified by (\p addr, \p len ).
*
* This function has two output parameters: \p cpuset and \p policy.
* This function has two output parameters: \p set and \p policy.
* The values returned in these parameters depend on both the \p flags
* passed in and the memory binding policies and nodesets of the pages
* in the address range.
@ -1998,20 +2080,46 @@ HWLOC_DECLSPEC int hwloc_get_area_membind_nodeset(hwloc_topology_t topology, con
* If ::HWLOC_MEMBIND_STRICT is specified, the target pages are first
* checked to see if they all have the same memory binding policy and
* nodeset. If they do not, -1 is returned and errno is set to EXDEV.
* If they are identical across all pages, the policy is returned in
* \p policy. \p cpuset is set to the union of CPUs near the NUMA
* node(s) in the nodeset.
* If they are identical across all pages, the set and policy are
* returned in \p set and \p policy, respectively.
*
* If ::HWLOC_MEMBIND_STRICT is not specified, the union of all NUMA
* node(s) containing pages in the address range is calculated. \p
* cpuset is then set to the CPUs near the NUMA node(s) in this union.
* node(s) containing pages in the address range is calculated.
* If all pages in the target have the same policy, it is returned in
* \p policy. Otherwise, \p policy is set to ::HWLOC_MEMBIND_MIXED.
*
* If ::HWLOC_MEMBIND_BYNODESET is specified, set is considered a nodeset.
* Otherwise it's a cpuset.
*
* If \p len is 0, -1 is returned and errno is set to EINVAL.
*
* If any other flags are specified, -1 is returned and errno is set
* to EINVAL.
*/
HWLOC_DECLSPEC int hwloc_get_area_membind(hwloc_topology_t topology, const void *addr, size_t len, hwloc_cpuset_t cpuset, hwloc_membind_policy_t * policy, int flags);
HWLOC_DECLSPEC int hwloc_get_area_membind(hwloc_topology_t topology, const void *addr, size_t len, hwloc_bitmap_t set, hwloc_membind_policy_t * policy, int flags);
/** \brief Get the NUMA nodes where memory identified by (\p addr, \p len ) is physically allocated.
*
* Fills \p set according to the NUMA nodes where the memory area pages
* are physically allocated. If no page is actually allocated yet,
* \p set may be empty.
*
* If pages spread to multiple nodes, it is not specified whether they spread
* equitably, or whether most of them are on a single node, etc.
*
* The operating system may move memory pages from one processor
* to another at any time according to their binding,
* so this function may return something that is already
* outdated.
*
* If ::HWLOC_MEMBIND_BYNODESET is specified, set is considered a nodeset.
* Otherwise it's a cpuset.
*
* If \p len is 0, \p set is emptied.
*
* Flags are currently unused.
*/
HWLOC_DECLSPEC int hwloc_get_area_memlocation(hwloc_topology_t topology, const void *addr, size_t len, hwloc_bitmap_t set, int flags);
/** \brief Allocate some memory
*
@ -2022,7 +2130,7 @@ HWLOC_DECLSPEC int hwloc_get_area_membind(hwloc_topology_t topology, const void
*/
HWLOC_DECLSPEC void *hwloc_alloc(hwloc_topology_t topology, size_t len);
/** \brief Allocate some memory on the given physical nodeset \p nodeset
/** \brief Allocate some memory on NUMA memory nodes specified by \p nodeset
*
* \return NULL with errno set to ENOSYS if the action is not supported
* and ::HWLOC_MEMBIND_STRICT is given
@ -2035,7 +2143,7 @@ HWLOC_DECLSPEC void *hwloc_alloc(hwloc_topology_t topology, size_t len);
*/
HWLOC_DECLSPEC void *hwloc_alloc_membind_nodeset(hwloc_topology_t topology, size_t len, hwloc_const_nodeset_t nodeset, hwloc_membind_policy_t policy, int flags) __hwloc_attribute_malloc;
/** \brief Allocate some memory on memory nodes near the given physical cpuset \p cpuset
/** \brief Allocate some memory on NUMA memory nodes specified by \p set
*
* \return NULL with errno set to ENOSYS if the action is not supported
* and ::HWLOC_MEMBIND_STRICT is given
@ -2044,11 +2152,14 @@ HWLOC_DECLSPEC void *hwloc_alloc_membind_nodeset(hwloc_topology_t topology, size
* \return NULL with errno set to ENOMEM if the memory allocation failed
* even before trying to bind.
*
* If ::HWLOC_MEMBIND_BYNODESET is specified, set is considered a nodeset.
* Otherwise it's a cpuset.
*
* \note The allocated memory should be freed with hwloc_free().
*/
HWLOC_DECLSPEC void *hwloc_alloc_membind(hwloc_topology_t topology, size_t len, hwloc_const_cpuset_t cpuset, hwloc_membind_policy_t policy, int flags) __hwloc_attribute_malloc;
HWLOC_DECLSPEC void *hwloc_alloc_membind(hwloc_topology_t topology, size_t len, hwloc_const_bitmap_t set, hwloc_membind_policy_t policy, int flags) __hwloc_attribute_malloc;
/** \brief Allocate some memory on the given nodeset \p nodeset
/** \brief Allocate some memory on NUMA memory nodes specified by \p nodeset
*
* This is similar to hwloc_alloc_membind() except that it is allowed to change
* the current memory binding policy, thus providing more binding support, at
@ -2057,12 +2168,17 @@ HWLOC_DECLSPEC void *hwloc_alloc_membind(hwloc_topology_t topology, size_t len,
static __hwloc_inline void *
hwloc_alloc_membind_policy_nodeset(hwloc_topology_t topology, size_t len, hwloc_const_nodeset_t nodeset, hwloc_membind_policy_t policy, int flags) __hwloc_attribute_malloc;
/** \brief Allocate some memory on the memory nodes near given cpuset \p cpuset
/** \brief Allocate some memory on NUMA memory nodes specified by \p set
*
* This is similar to hwloc_alloc_membind_policy_nodeset(), but for a given cpuset.
* This is similar to hwloc_alloc_membind_nodeset() except that it is allowed to change
* the current memory binding policy, thus providing more binding support, at
* the expense of changing the current state.
*
* If ::HWLOC_MEMBIND_BYNODESET is specified, set is considered a nodeset.
* Otherwise it's a cpuset.
*/
static __hwloc_inline void *
hwloc_alloc_membind_policy(hwloc_topology_t topology, size_t len, hwloc_const_cpuset_t set, hwloc_membind_policy_t policy, int flags) __hwloc_attribute_malloc;
hwloc_alloc_membind_policy(hwloc_topology_t topology, size_t len, hwloc_const_bitmap_t set, hwloc_membind_policy_t policy, int flags) __hwloc_attribute_malloc;
/** \brief Free memory that was previously allocated by hwloc_alloc()
* or hwloc_alloc_membind().

Просмотреть файл

@ -99,4 +99,4 @@ hwloc_distributev(hwloc_topology_t topology, hwloc_obj_t *roots, unsigned n_root
#endif
#endif /* HWLOC_INLINES_H */
#endif /* HWLOC_DEPRECATED_H */

Просмотреть файл

@ -1,5 +1,5 @@
/*
* Copyright © 2013-2015 Inria. All rights reserved.
* Copyright © 2013-2016 Inria. All rights reserved.
* See COPYING in top-level directory.
*/
@ -296,4 +296,4 @@ HWLOC_DECLSPEC int hwloc_topology_diff_export_xmlbuffer(hwloc_topology_t topolog
#endif
#endif /* HWLOC_HELPER_H */
#endif /* HWLOC_DIFF_H */

Просмотреть файл

@ -1,6 +1,6 @@
/*
* Copyright © 2009 CNRS
* Copyright © 2009-2015 Inria. All rights reserved.
* Copyright © 2009-2016 Inria. All rights reserved.
* Copyright © 2009-2011 Université Bordeaux
* See COPYING in top-level directory.
*/
@ -74,4 +74,4 @@ HWLOC_DECLSPEC int hwloc_linux_get_tid_last_cpu_location(hwloc_topology_t topolo
#endif
#endif /* HWLOC_GLIBC_SCHED_H */
#endif /* HWLOC_LINUX_H */

Просмотреть файл

@ -1,6 +1,6 @@
/*
* Copyright © 2009 CNRS
* Copyright © 2009-2013 Inria. All rights reserved.
* Copyright © 2009-2016 Inria. All rights reserved.
* Copyright © 2009-2010 Université Bordeaux
* Copyright © 2009-2011 Cisco Systems, Inc. All rights reserved.
* See COPYING in top-level directory.
@ -12,7 +12,7 @@
*
* Applications that use both hwloc and OpenFabrics verbs may want to
* include this file so as to get topology information for OpenFabrics
* hardware.
* hardware (InfiniBand, etc).
*
*/
@ -36,7 +36,7 @@ extern "C" {
/** \defgroup hwlocality_openfabrics Interoperability with OpenFabrics
*
* This interface offers ways to retrieve topology information about
* OpenFabrics devices.
* OpenFabrics devices (InfiniBand, Omni-Path, usNIC, etc).
*
* @{
*/
@ -45,7 +45,7 @@ extern "C" {
* close to device \p ibdev.
*
* Return the CPU set describing the locality of the OpenFabrics
* device \p ibdev.
* device \p ibdev (InfiniBand, etc).
*
* Topology \p topology and device \p ibdev must match the local machine.
* I/O devices detection is not needed in the topology.
@ -95,8 +95,10 @@ hwloc_ibv_get_device_cpuset(hwloc_topology_t topology __hwloc_attribute_unused,
/** \brief Get the hwloc OS device object corresponding to the OpenFabrics
* device named \p ibname.
*
* Return the OS device object describing the OpenFabrics device whose
* name is \p ibname. Returns NULL if there is none.
* Return the OS device object describing the OpenFabrics device
* (InfiniBand, Omni-Path, usNIC, etc) whose name is \p ibname
* (mlx5_0, hfi1_0, usnic_0, qib0, etc).
* Returns NULL if there is none.
* The name \p ibname is usually obtained from ibv_get_device_name().
*
* The topology \p topology does not necessarily have to match the current
@ -122,8 +124,8 @@ hwloc_ibv_get_device_osdev_by_name(hwloc_topology_t topology,
/** \brief Get the hwloc OS device object corresponding to the OpenFabrics
* device \p ibdev.
*
* Return the OS device object describing the OpenFabrics device \p ibdev.
* Returns NULL if there is none.
* Return the OS device object describing the OpenFabrics device \p ibdev
* (InfiniBand, etc). Returns NULL if there is none.
*
* Topology \p topology and device \p ibdev must match the local machine.
* I/O devices detection must be enabled in the topology.

Просмотреть файл

@ -1,6 +1,6 @@
/*
* Copyright © 2009-2011 Cisco Systems, Inc. All rights reserved.
* Copyright © 2010-2015 Inria. All rights reserved.
* Copyright © 2010-2016 Inria. All rights reserved.
* See COPYING in top-level directory.
*/
@ -184,10 +184,11 @@ extern "C" {
#define hwloc_get_obj_by_type HWLOC_NAME(get_obj_by_type )
#define hwloc_obj_type_string HWLOC_NAME(obj_type_string )
#define hwloc_obj_type_sscanf HWLOC_NAME(obj_type_sscanf)
#define hwloc_obj_type_snprintf HWLOC_NAME(obj_type_snprintf )
#define hwloc_obj_attr_snprintf HWLOC_NAME(obj_attr_snprintf )
#define hwloc_obj_cpuset_snprintf HWLOC_NAME(obj_cpuset_snprintf)
#define hwloc_obj_type_sscanf HWLOC_NAME(obj_type_sscanf)
#define hwloc_obj_get_info_by_name HWLOC_NAME(obj_get_info_by_name)
#define hwloc_obj_add_info HWLOC_NAME(obj_add_info)
@ -223,6 +224,7 @@ extern "C" {
#define HWLOC_MEMBIND_STRICT HWLOC_NAME_CAPS(MEMBIND_STRICT)
#define HWLOC_MEMBIND_MIGRATE HWLOC_NAME_CAPS(MEMBIND_MIGRATE)
#define HWLOC_MEMBIND_NOCPUBIND HWLOC_NAME_CAPS(MEMBIND_NOCPUBIND)
#define HWLOC_MEMBIND_BYNODESET HWLOC_NAME_CAPS(MEMBIND_BYNODESET)
#define hwloc_membind_flags_t HWLOC_NAME(membind_flags_t)
@ -238,6 +240,7 @@ extern "C" {
#define hwloc_set_area_membind HWLOC_NAME(set_area_membind)
#define hwloc_get_area_membind_nodeset HWLOC_NAME(get_area_membind_nodeset)
#define hwloc_get_area_membind HWLOC_NAME(get_area_membind)
#define hwloc_get_area_memlocation HWLOC_NAME(get_area_memlocation)
#define hwloc_alloc_membind_nodeset HWLOC_NAME(alloc_membind_nodeset)
#define hwloc_alloc_membind HWLOC_NAME(alloc_membind)
#define hwloc_alloc HWLOC_NAME(alloc)

Просмотреть файл

@ -91,10 +91,26 @@
0 if you don't. */
#undef HAVE_DECL_PTHREAD_SETAFFINITY_NP
/* Define to 1 if you have the declaration of `RUNNING_ON_VALGRIND', and to 0
if you don't. */
#undef HAVE_DECL_RUNNING_ON_VALGRIND
/* Define to 1 if you have the declaration of `snprintf', and to 0 if you
don't. */
#undef HAVE_DECL_SNPRINTF
/* Define to 1 if you have the declaration of `strcasecmp', and to 0 if you
don't. */
#undef HAVE_DECL_STRCASECMP
/* Define to 1 if you have the declaration of `strtoull', and to 0 if you
don't. */
#undef HAVE_DECL_STRTOULL
/* Define to 1 if you have the declaration of `_putenv', and to 0 if you
don't. */
#undef HAVE_DECL__PUTENV
/* Define to 1 if you have the declaration of `_SC_LARGE_PAGESIZE', and to 0
if you don't. */
#undef HAVE_DECL__SC_LARGE_PAGESIZE
@ -123,6 +139,10 @@
don't. */
#undef HAVE_DECL__SC_PAGE_SIZE
/* Define to 1 if you have the declaration of `_strdup', and to 0 if you
don't. */
#undef HAVE_DECL__STRDUP
/* Define to 1 if you have the <dirent.h> header file. */
#undef HAVE_DIRENT_H
@ -271,6 +291,9 @@
/* Define to 1 if you have the `setlocale' function. */
#undef HAVE_SETLOCALE
/* Define to 1 if the system has the type `ssize_t'. */
#undef HAVE_SSIZE_T
/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H
@ -289,6 +312,9 @@
/* Define to 1 if you have the `strncasecmp' function. */
#undef HAVE_STRNCASECMP
/* Define to 1 if you have the `strtoull' function. */
#undef HAVE_STRTOULL
/* Define to '1' if sysctl is present and usable */
#undef HAVE_SYSCTL
@ -336,6 +362,9 @@
/* Define to 1 if you have the `uselocale' function. */
#undef HAVE_USELOCALE
/* Define to 1 if you have the <valgrind/valgrind.h> header file. */
#undef HAVE_VALGRIND_VALGRIND_H
/* Define to 1 if the system has the type `wchar_t'. */
#undef HAVE_WCHAR_T
@ -501,6 +530,9 @@
/* Define to 1 if migrate_pages is available. */
#undef HWLOC_HAVE_MIGRATE_PAGES
/* Define to 1 if move_pages is available. */
#undef HWLOC_HAVE_MOVE_PAGES
/* Define to 1 if you have the `NVML' library. */
#undef HWLOC_HAVE_NVML

Просмотреть файл

@ -1,6 +1,6 @@
/*
* Copyright © 2009 CNRS
* Copyright © 2009-2014 Inria. All rights reserved.
* Copyright © 2009-2016 Inria. All rights reserved.
* Copyright © 2009-2012 Université Bordeaux
* Copyright © 2011 Cisco Systems, Inc. All rights reserved.
* See COPYING in top-level directory.
@ -360,7 +360,7 @@ hwloc_weight_long(unsigned long w)
#endif /* HWLOC_BITS_PER_LONG == 64 */
}
#if !HAVE_DECL_STRTOULL
#if !HAVE_DECL_STRTOULL && defined(HAVE_STRTOULL)
unsigned long long int strtoull(const char *nptr, char **endptr, int base);
#endif
@ -379,4 +379,31 @@ static __hwloc_inline int hwloc_strncasecmp(const char *s1, const char *s2, size
#endif
}
#ifdef HWLOC_WIN_SYS
# ifndef HAVE_SSIZE_T
typedef SSIZE_T ssize_t;
# endif
# if !HAVE_DECL_STRTOULL && !defined(HAVE_STRTOULL)
# define strtoull _strtoui64
# endif
# ifndef S_ISREG
# define S_ISREG(m) ((m) & S_IFREG)
# endif
# ifndef S_ISDIR
# define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
# endif
# if !HAVE_DECL_STRCASECMP
# define strcasecmp _stricmp
# endif
# if !HAVE_DECL_SNPRINTF
# define snprintf _snprintf
# endif
# if HAVE_DECL__STRDUP
# define strdup _strdup
# endif
# if HAVE_DECL__PUTENV
# define putenv _putenv
# endif
#endif
#endif /* HWLOC_PRIVATE_MISC_H */

Просмотреть файл

@ -1,6 +1,6 @@
/*
* Copyright © 2009 CNRS
* Copyright © 2009-2015 Inria. All rights reserved.
* Copyright © 2009-2016 Inria. All rights reserved.
* Copyright © 2009-2012 Université Bordeaux
* Copyright © 2009-2011 Cisco Systems, Inc. All rights reserved.
*
@ -94,6 +94,7 @@ struct hwloc_topology {
int (*get_proc_membind)(hwloc_topology_t topology, hwloc_pid_t pid, hwloc_nodeset_t nodeset, hwloc_membind_policy_t * policy, int flags);
int (*set_area_membind)(hwloc_topology_t topology, const void *addr, size_t len, hwloc_const_nodeset_t nodeset, hwloc_membind_policy_t policy, int flags);
int (*get_area_membind)(hwloc_topology_t topology, const void *addr, size_t len, hwloc_nodeset_t nodeset, hwloc_membind_policy_t * policy, int flags);
int (*get_area_memlocation)(hwloc_topology_t topology, const void *addr, size_t len, hwloc_nodeset_t nodeset, int flags);
/* This has to return the same kind of pointer as alloc_membind, so that free_membind can be used on it */
void *(*alloc)(hwloc_topology_t topology, size_t len);
/* alloc_membind has to always succeed if !(flags & HWLOC_MEMBIND_STRICT).
@ -106,6 +107,7 @@ struct hwloc_topology {
void (*userdata_export_cb)(void *reserved, struct hwloc_topology *topology, struct hwloc_obj *obj);
void (*userdata_import_cb)(struct hwloc_topology *topology, struct hwloc_obj *obj, const char *name, const void *buffer, size_t length);
int userdata_not_decoded;
struct hwloc_os_distances_s {
hwloc_obj_type_t type;

Просмотреть файл

@ -1,4 +1,4 @@
# Copyright © 2009-2014 Inria. All rights reserved.
# Copyright © 2009-2016 Inria. All rights reserved.
# Copyright © 2009-2012 Université Bordeaux
# Copyright © 2009-2014 Cisco Systems, Inc. All rights reserved.
# Copyright © 2011-2012 Oracle and/or its affiliates. All rights reserved.
@ -22,7 +22,8 @@ endif
pluginsdir = @HWLOC_PLUGINS_DIR@
plugins_LTLIBRARIES =
plugins_ldflags = -module -avoid-version -lltdl
AM_CPPFLAGS += -DHWLOC_PLUGINS_PATH=\"$(HWLOC_PLUGINS_PATH)\"
# Beware that files are not rebuilt automatically when reconfiguring with different paths in these flags.
AM_CPPFLAGS += -DHWLOC_PLUGINS_PATH=\"$(HWLOC_PLUGINS_PATH)\" -DRUNSTATEDIR=\"$(HWLOC_runstatedir)\"
# Sources and ldflags

Просмотреть файл

@ -1,6 +1,6 @@
/*
* Copyright © 2009 CNRS
* Copyright © 2009-2011 inria. All rights reserved.
* Copyright © 2009-2016 Inria. All rights reserved.
* Copyright © 2009-2010, 2012 Université Bordeaux
* Copyright © 2011-2015 Cisco Systems, Inc. All rights reserved.
* See COPYING in top-level directory.
@ -196,6 +196,8 @@ hwloc_get_proc_last_cpu_location(hwloc_topology_t topology, hwloc_pid_t pid, hwl
return -1;
}
#define HWLOC_MEMBIND_ALLFLAGS (HWLOC_MEMBIND_PROCESS|HWLOC_MEMBIND_THREAD|HWLOC_MEMBIND_STRICT|HWLOC_MEMBIND_MIGRATE|HWLOC_MEMBIND_NOCPUBIND|HWLOC_MEMBIND_BYNODESET)
static hwloc_const_nodeset_t
hwloc_fix_membind(hwloc_topology_t topology, hwloc_const_nodeset_t nodeset)
{
@ -299,17 +301,20 @@ hwloc_set_membind_nodeset(hwloc_topology_t topology, hwloc_const_nodeset_t nodes
}
int
hwloc_set_membind(hwloc_topology_t topology, hwloc_const_cpuset_t set, hwloc_membind_policy_t policy, int flags)
hwloc_set_membind(hwloc_topology_t topology, hwloc_const_bitmap_t set, hwloc_membind_policy_t policy, int flags)
{
hwloc_nodeset_t nodeset = hwloc_bitmap_alloc();
int ret;
if (flags & HWLOC_MEMBIND_BYNODESET) {
ret = hwloc_set_membind_nodeset(topology, set, policy, flags);
} else {
hwloc_nodeset_t nodeset = hwloc_bitmap_alloc();
if (hwloc_fix_membind_cpuset(topology, nodeset, set))
ret = -1;
else
ret = hwloc_set_membind_nodeset(topology, nodeset, policy, flags);
hwloc_bitmap_free(nodeset);
}
return ret;
}
@ -338,18 +343,20 @@ hwloc_get_membind_nodeset(hwloc_topology_t topology, hwloc_nodeset_t nodeset, hw
}
int
hwloc_get_membind(hwloc_topology_t topology, hwloc_cpuset_t set, hwloc_membind_policy_t * policy, int flags)
hwloc_get_membind(hwloc_topology_t topology, hwloc_bitmap_t set, hwloc_membind_policy_t * policy, int flags)
{
hwloc_nodeset_t nodeset;
int ret;
nodeset = hwloc_bitmap_alloc();
if (flags & HWLOC_MEMBIND_BYNODESET) {
ret = hwloc_get_membind_nodeset(topology, set, policy, flags);
} else {
hwloc_nodeset_t nodeset = hwloc_bitmap_alloc();
ret = hwloc_get_membind_nodeset(topology, nodeset, policy, flags);
if (!ret)
hwloc_cpuset_from_nodeset(topology, set, nodeset);
hwloc_bitmap_free(nodeset);
}
return ret;
}
@ -369,17 +376,21 @@ hwloc_set_proc_membind_nodeset(hwloc_topology_t topology, hwloc_pid_t pid, hwloc
int
hwloc_set_proc_membind(hwloc_topology_t topology, hwloc_pid_t pid, hwloc_const_cpuset_t set, hwloc_membind_policy_t policy, int flags)
hwloc_set_proc_membind(hwloc_topology_t topology, hwloc_pid_t pid, hwloc_const_bitmap_t set, hwloc_membind_policy_t policy, int flags)
{
hwloc_nodeset_t nodeset = hwloc_bitmap_alloc();
int ret;
if (flags & HWLOC_MEMBIND_BYNODESET) {
ret = hwloc_set_proc_membind_nodeset(topology, pid, set, policy, flags);
} else {
hwloc_nodeset_t nodeset = hwloc_bitmap_alloc();
if (hwloc_fix_membind_cpuset(topology, nodeset, set))
ret = -1;
else
ret = hwloc_set_proc_membind_nodeset(topology, pid, nodeset, policy, flags);
hwloc_bitmap_free(nodeset);
}
return ret;
}
@ -394,24 +405,30 @@ hwloc_get_proc_membind_nodeset(hwloc_topology_t topology, hwloc_pid_t pid, hwloc
}
int
hwloc_get_proc_membind(hwloc_topology_t topology, hwloc_pid_t pid, hwloc_cpuset_t set, hwloc_membind_policy_t * policy, int flags)
hwloc_get_proc_membind(hwloc_topology_t topology, hwloc_pid_t pid, hwloc_bitmap_t set, hwloc_membind_policy_t * policy, int flags)
{
hwloc_nodeset_t nodeset;
int ret;
nodeset = hwloc_bitmap_alloc();
if (flags & HWLOC_MEMBIND_BYNODESET) {
ret = hwloc_get_proc_membind_nodeset(topology, pid, set, policy, flags);
} else {
hwloc_nodeset_t nodeset = hwloc_bitmap_alloc();
ret = hwloc_get_proc_membind_nodeset(topology, pid, nodeset, policy, flags);
if (!ret)
hwloc_cpuset_from_nodeset(topology, set, nodeset);
hwloc_bitmap_free(nodeset);
}
return ret;
}
int
hwloc_set_area_membind_nodeset(hwloc_topology_t topology, const void *addr, size_t len, hwloc_const_nodeset_t nodeset, hwloc_membind_policy_t policy, int flags)
{
if (!len)
/* nothing to do */
return 0;
nodeset = hwloc_fix_membind(topology, nodeset);
if (!nodeset)
return -1;
@ -424,23 +441,33 @@ hwloc_set_area_membind_nodeset(hwloc_topology_t topology, const void *addr, size
}
int
hwloc_set_area_membind(hwloc_topology_t topology, const void *addr, size_t len, hwloc_const_cpuset_t set, hwloc_membind_policy_t policy, int flags)
hwloc_set_area_membind(hwloc_topology_t topology, const void *addr, size_t len, hwloc_const_bitmap_t set, hwloc_membind_policy_t policy, int flags)
{
hwloc_nodeset_t nodeset = hwloc_bitmap_alloc();
int ret;
if (flags & HWLOC_MEMBIND_BYNODESET) {
ret = hwloc_set_area_membind_nodeset(topology, addr, len, set, policy, flags);
} else {
hwloc_nodeset_t nodeset = hwloc_bitmap_alloc();
if (hwloc_fix_membind_cpuset(topology, nodeset, set))
ret = -1;
else
ret = hwloc_set_area_membind_nodeset(topology, addr, len, nodeset, policy, flags);
hwloc_bitmap_free(nodeset);
}
return ret;
}
int
hwloc_get_area_membind_nodeset(hwloc_topology_t topology, const void *addr, size_t len, hwloc_nodeset_t nodeset, hwloc_membind_policy_t * policy, int flags)
{
if (!len) {
/* nothing to query */
errno = EINVAL;
return -1;
}
if (topology->binding_hooks.get_area_membind)
return topology->binding_hooks.get_area_membind(topology, addr, len, nodeset, policy, flags);
@ -449,18 +476,57 @@ hwloc_get_area_membind_nodeset(hwloc_topology_t topology, const void *addr, size
}
int
hwloc_get_area_membind(hwloc_topology_t topology, const void *addr, size_t len, hwloc_cpuset_t set, hwloc_membind_policy_t * policy, int flags)
hwloc_get_area_membind(hwloc_topology_t topology, const void *addr, size_t len, hwloc_bitmap_t set, hwloc_membind_policy_t * policy, int flags)
{
hwloc_nodeset_t nodeset;
int ret;
nodeset = hwloc_bitmap_alloc();
if (flags & HWLOC_MEMBIND_BYNODESET) {
ret = hwloc_get_area_membind_nodeset(topology, addr, len, set, policy, flags);
} else {
hwloc_nodeset_t nodeset = hwloc_bitmap_alloc();
ret = hwloc_get_area_membind_nodeset(topology, addr, len, nodeset, policy, flags);
if (!ret)
hwloc_cpuset_from_nodeset(topology, set, nodeset);
hwloc_bitmap_free(nodeset);
}
return ret;
}
static int
hwloc_get_area_memlocation_by_nodeset(hwloc_topology_t topology, const void *addr, size_t len, hwloc_nodeset_t nodeset, int flags)
{
if (flags & ~HWLOC_MEMBIND_ALLFLAGS) {
errno = EINVAL;
return -1;
}
if (!len)
/* nothing to do */
return 0;
if (topology->binding_hooks.get_area_memlocation)
return topology->binding_hooks.get_area_memlocation(topology, addr, len, nodeset, flags);
errno = ENOSYS;
return -1;
}
int
hwloc_get_area_memlocation(hwloc_topology_t topology, const void *addr, size_t len, hwloc_cpuset_t set, int flags)
{
int ret;
if (flags & HWLOC_MEMBIND_BYNODESET) {
ret = hwloc_get_area_memlocation_by_nodeset(topology, addr, len, set, flags);
} else {
hwloc_nodeset_t nodeset = hwloc_bitmap_alloc();
ret = hwloc_get_area_memlocation_by_nodeset(topology, addr, len, nodeset, flags);
if (!ret)
hwloc_cpuset_from_nodeset(topology, set, nodeset);
hwloc_bitmap_free(nodeset);
}
return ret;
}
@ -484,7 +550,8 @@ hwloc_alloc_heap(hwloc_topology_t topology __hwloc_attribute_unused, size_t len)
void *
hwloc_alloc_mmap(hwloc_topology_t topology __hwloc_attribute_unused, size_t len)
{
return mmap(NULL, len, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0);
void * buffer = mmap(NULL, len, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0);
return buffer == MAP_FAILED ? NULL : buffer;
}
#endif
@ -551,11 +618,14 @@ fallback:
}
void *
hwloc_alloc_membind(hwloc_topology_t topology, size_t len, hwloc_const_cpuset_t set, hwloc_membind_policy_t policy, int flags)
hwloc_alloc_membind(hwloc_topology_t topology, size_t len, hwloc_const_bitmap_t set, hwloc_membind_policy_t policy, int flags)
{
hwloc_nodeset_t nodeset = hwloc_bitmap_alloc();
void *ret;
if (flags & HWLOC_MEMBIND_BYNODESET) {
ret = hwloc_alloc_membind_nodeset(topology, len, set, policy, flags);
} else {
hwloc_nodeset_t nodeset = hwloc_bitmap_alloc();
if (hwloc_fix_membind_cpuset(topology, nodeset, set)) {
if (flags & HWLOC_MEMBIND_STRICT)
ret = NULL;
@ -563,8 +633,9 @@ hwloc_alloc_membind(hwloc_topology_t topology, size_t len, hwloc_const_cpuset_t
ret = hwloc_alloc(topology, len);
} else
ret = hwloc_alloc_membind_nodeset(topology, len, nodeset, policy, flags);
hwloc_bitmap_free(nodeset);
}
return ret;
}
@ -671,6 +742,11 @@ static int dontget_area_membind(hwloc_topology_t topology __hwloc_attribute_unus
{
return dontset_return_complete_nodeset(topology, set, policy);
}
static int dontget_area_memlocation(hwloc_topology_t topology __hwloc_attribute_unused, const void *addr __hwloc_attribute_unused, size_t size __hwloc_attribute_unused, hwloc_bitmap_t set, int flags __hwloc_attribute_unused)
{
hwloc_membind_policy_t policy;
return dontset_return_complete_nodeset(topology, set, &policy);
}
static void * dontalloc_membind(hwloc_topology_t topology __hwloc_attribute_unused, size_t size __hwloc_attribute_unused, hwloc_const_bitmap_t set __hwloc_attribute_unused, hwloc_membind_policy_t policy __hwloc_attribute_unused, int flags __hwloc_attribute_unused)
{
@ -707,6 +783,7 @@ static void hwloc_set_dummy_hooks(struct hwloc_binding_hooks *hooks,
hooks->get_proc_membind = dontget_proc_membind;
hooks->set_area_membind = dontset_area_membind;
hooks->get_area_membind = dontget_area_membind;
hooks->get_area_memlocation = dontget_area_memlocation;
hooks->alloc_membind = dontalloc_membind;
hooks->free_membind = dontfree_membind;
}
@ -796,6 +873,7 @@ hwloc_set_binding_hooks(struct hwloc_topology *topology)
DO(mem,get_proc_membind);
DO(mem,set_area_membind);
DO(mem,get_area_membind);
DO(mem,get_area_memlocation);
DO(mem,alloc_membind);
}
}

Просмотреть файл

@ -1,6 +1,6 @@
/*
* Copyright © 2009-2015 Inria. All rights reserved.
* Copyright © 2012 Université Bordeau 1
* Copyright © 2009-2016 Inria. All rights reserved.
* Copyright © 2012 Université Bordeaux
* See COPYING in top-level directory.
*/
@ -8,6 +8,7 @@
#include <hwloc.h>
#include <private/private.h>
#include <private/xml.h>
#include <private/misc.h>
#define HWLOC_COMPONENT_STOP_NAME "stop"
#define HWLOC_COMPONENT_EXCLUDE_CHAR '-'
@ -24,6 +25,7 @@ static unsigned hwloc_components_users = 0; /* first one initializes, last ones
static int hwloc_components_verbose = 0;
#ifdef HWLOC_HAVE_PLUGINS
static int hwloc_plugins_verbose = 0;
static const char * hwloc_plugins_blacklist = NULL;
#endif
/* hwloc_components_mutex serializes:
@ -89,6 +91,12 @@ hwloc__dlforeach_cb(const char *filename, void *_data __hwloc_attribute_unused)
else
basename++;
if (hwloc_plugins_blacklist && strstr(hwloc_plugins_blacklist, basename)) {
if (hwloc_plugins_verbose)
fprintf(stderr, "Plugin `%s' is blacklisted in the environment\n", basename);
goto out;
}
/* dlopen and get the component structure */
handle = lt_dlopenext(filename);
if (!handle) {
@ -197,6 +205,8 @@ hwloc_plugins_init(void)
verboseenv = getenv("HWLOC_PLUGINS_VERBOSE");
hwloc_plugins_verbose = verboseenv ? atoi(verboseenv) : 0;
hwloc_plugins_blacklist = getenv("HWLOC_PLUGINS_BLACKLIST");
err = lt_dlinit();
if (err)
goto out;
@ -458,14 +468,15 @@ hwloc_disc_component_try_enable(struct hwloc_topology *topology,
struct hwloc_disc_component *comp,
const char *comparg,
unsigned *excludes,
int envvar_forced,
int verbose_errors)
int envvar_forced)
{
struct hwloc_backend *backend;
int err;
if ((*excludes) & comp->type) {
if (hwloc_components_verbose || verbose_errors)
if (hwloc_components_verbose)
/* do not warn if envvar_forced since system-wide HWLOC_COMPONENTS must be silently ignored after set_xml() etc.
*/
fprintf(stderr, "Excluding %s discovery component `%s', conflicts with excludes 0x%x\n",
hwloc_disc_component_type_string(comp->type), comp->name, *excludes);
return -1;
@ -473,7 +484,7 @@ hwloc_disc_component_try_enable(struct hwloc_topology *topology,
backend = comp->instantiate(comp, comparg, NULL, NULL);
if (!backend) {
if (hwloc_components_verbose || verbose_errors)
if (hwloc_components_verbose || envvar_forced)
fprintf(stderr, "Failed to instantiate discovery component `%s'\n", comp->name);
return -1;
}
@ -553,7 +564,7 @@ hwloc_disc_components_enable_others(struct hwloc_topology *topology)
comp = hwloc_disc_component_find(-1, curenv);
if (comp) {
hwloc_disc_component_try_enable(topology, comp, arg ? arg+1 : NULL, &excludes, 1 /* envvar forced */, 1 /* envvar forced need warnings */);
hwloc_disc_component_try_enable(topology, comp, arg ? arg+1 : NULL, &excludes, 1 /* envvar forced */);
} else {
fprintf(stderr, "Cannot find discovery component `%s'\n", curenv);
}
@ -595,7 +606,7 @@ nextname:
curenv++;
}
}
hwloc_disc_component_try_enable(topology, comp, NULL, &excludes, 0 /* defaults, not envvar forced */, 0 /* defaults don't need warnings on conflicts */);
hwloc_disc_component_try_enable(topology, comp, NULL, &excludes, 0 /* defaults, not envvar forced */);
nextcomp:
comp = comp->next;
}

Просмотреть файл

@ -1,5 +1,5 @@
/*
* Copyright © 2010-2015 Inria. All rights reserved.
* Copyright © 2010-2016 Inria. All rights reserved.
* Copyright © 2011-2012 Université Bordeaux
* Copyright © 2011 Cisco Systems, Inc. All rights reserved.
* See COPYING in top-level directory.
@ -9,6 +9,7 @@
#include <hwloc.h>
#include <private/private.h>
#include <private/debug.h>
#include <private/misc.h>
#include <float.h>
#include <math.h>
@ -84,6 +85,7 @@ void hwloc_distances_set(hwloc_topology_t __hwloc_restrict topology, hwloc_obj_t
if (!nbobjs)
/* we're just clearing, return now */
return;
assert(nbobjs >= 2);
/* create the new element */
osdist = malloc(sizeof(struct hwloc_os_distances_s));
@ -136,7 +138,21 @@ static void hwloc_distances__set_from_string(struct hwloc_topology *topology,
if (sscanf(string, "%u-%u:", &i, &j) == 2) {
/* range i-j */
if (j <= i) {
fprintf(stderr, "Ignoring %s distances from environment variable, range doesn't cover at least 2 indexes\n",
hwloc_obj_type_string(type));
return;
}
nbobjs = j-i+1;
tmp = strchr(string, ':');
if (!tmp) {
fprintf(stderr, "Ignoring %s distances from environment variable, missing colon\n",
hwloc_obj_type_string(type));
return;
}
tmp++;
indexes = calloc(nbobjs, sizeof(unsigned));
distances = calloc(nbobjs*nbobjs, sizeof(float));
/* make sure the user didn't give a veeeeery large range */
@ -147,12 +163,14 @@ static void hwloc_distances__set_from_string(struct hwloc_topology *topology,
}
for(j=0; j<nbobjs; j++)
indexes[j] = j+i;
tmp = strchr(string, ':') + 1;
} else {
/* explicit list of indexes, count them */
while (1) {
size_t size = strspn(tmp, "0123456789");
if (!size)
/* missing index */
break;
if (tmp[size] != ',') {
/* last element */
tmp += size;
@ -164,6 +182,11 @@ static void hwloc_distances__set_from_string(struct hwloc_topology *topology,
nbobjs++;
}
if (nbobjs < 2) {
fprintf(stderr, "Ignoring %s distances from environment variable, needs at least 2 indexes\n",
hwloc_obj_type_string(type));
return;
}
if (*tmp != ':') {
fprintf(stderr, "Ignoring %s distances from environment variable, missing colon\n",
hwloc_obj_type_string(type));
@ -267,7 +290,7 @@ int hwloc_topology_set_distance_matrix(hwloc_topology_t __hwloc_restrict topolog
return 0;
}
if (!nbobjs || !indexes || !distances)
if (nbobjs < 2 || !indexes || !distances)
return -1;
if (hwloc_distances__check_matrix(topology, type, nbobjs, indexes, NULL, distances) < 0)

Просмотреть файл

@ -1,5 +1,5 @@
/*
* Copyright © 2009-2015 Inria. All rights reserved.
* Copyright © 2009-2016 Inria. All rights reserved.
* See COPYING in top-level directory.
*/
@ -8,6 +8,7 @@
#include <hwloc/plugins.h>
#include <private/private.h>
#include <private/debug.h>
#include <private/misc.h>
#ifdef HWLOC_DEBUG
static void

Просмотреть файл

@ -1,6 +1,6 @@
/*
* Copyright © 2009 CNRS
* Copyright © 2009-2015 Inria. All rights reserved.
* Copyright © 2009-2016 Inria. All rights reserved.
* Copyright © 2009-2011, 2013 Université Bordeaux
* Copyright © 2011 Cisco Systems, Inc. All rights reserved.
* See COPYING in top-level directory.
@ -433,7 +433,7 @@ hwloc_aix_get_sth_membind(hwloc_topology_t topology, rstype_t what, rsid_t who,
hwloc_bitmap_free(hwloc_set);
*policy = HWLOC_MEMBIND_DEFAULT;
*policy = HWLOC_MEMBIND_BIND;
res = 0;
out:

Просмотреть файл

@ -86,6 +86,8 @@ static unsigned hwloc_cuda_cores_per_MP(int major, int minor)
return 192;
case 5:
return 128;
case 6:
return 64;
}
hwloc_debug("unknown compute capability %u.%u, disabling core display.\n", major, minor);
return 0;

Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше