Imported Upstream version 1.1.2
Samuel Thibault
10 years ago
43 | 43 | DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ |
44 | 44 | $(srcdir)/Makefile.in $(srcdir)/hwloc.pc.in \ |
45 | 45 | $(top_srcdir)/configure \ |
46 | $(top_srcdir)/include/hwloc/config.h.in \ | |
47 | $(top_srcdir)/include/private/config.h.in ./config/compile \ | |
48 | ./config/config.guess ./config/config.sub ./config/depcomp \ | |
49 | ./config/install-sh ./config/ltmain.sh ./config/missing \ | |
50 | AUTHORS COPYING NEWS | |
46 | $(top_srcdir)/include/hwloc/autogen/config.h.in \ | |
47 | $(top_srcdir)/include/private/autogen/config.h.in \ | |
48 | ./config/compile ./config/config.guess ./config/config.sub \ | |
49 | ./config/depcomp ./config/install-sh ./config/ltmain.sh \ | |
50 | ./config/missing AUTHORS COPYING NEWS | |
51 | 51 | ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 |
52 | 52 | am__aclocal_m4_deps = $(top_srcdir)/config/hwloc.m4 \ |
53 | 53 | $(top_srcdir)/config/hwloc_check_attributes.m4 \ |
64 | 64 | am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ |
65 | 65 | configure.lineno config.status.lineno |
66 | 66 | mkinstalldirs = $(install_sh) -d |
67 | CONFIG_HEADER = $(top_builddir)/include/private/config.h \ | |
68 | $(top_builddir)/include/hwloc/config.h | |
67 | CONFIG_HEADER = $(top_builddir)/include/private/autogen/config.h \ | |
68 | $(top_builddir)/include/hwloc/autogen/config.h | |
69 | 69 | CONFIG_CLEAN_FILES = hwloc.pc |
70 | 70 | CONFIG_CLEAN_VPATH_FILES = |
71 | 71 | AM_V_GEN = $(am__v_GEN_$(V)) |
376 | 376 | $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) |
377 | 377 | $(am__aclocal_m4_deps): |
378 | 378 | |
379 | include/private/config.h: include/private/stamp-h1 | |
379 | include/private/autogen/config.h: include/private/autogen/stamp-h1 | |
380 | 380 | @if test ! -f $@; then \ |
381 | rm -f include/private/stamp-h1; \ | |
382 | $(MAKE) $(AM_MAKEFLAGS) include/private/stamp-h1; \ | |
381 | rm -f include/private/autogen/stamp-h1; \ | |
382 | $(MAKE) $(AM_MAKEFLAGS) include/private/autogen/stamp-h1; \ | |
383 | 383 | else :; fi |
384 | 384 | |
385 | include/private/stamp-h1: $(top_srcdir)/include/private/config.h.in $(top_builddir)/config.status | |
386 | @rm -f include/private/stamp-h1 | |
387 | cd $(top_builddir) && $(SHELL) ./config.status include/private/config.h | |
388 | $(top_srcdir)/include/private/config.h.in: $(am__configure_deps) | |
385 | include/private/autogen/stamp-h1: $(top_srcdir)/include/private/autogen/config.h.in $(top_builddir)/config.status | |
386 | @rm -f include/private/autogen/stamp-h1 | |
387 | cd $(top_builddir) && $(SHELL) ./config.status include/private/autogen/config.h | |
388 | $(top_srcdir)/include/private/autogen/config.h.in: $(am__configure_deps) | |
389 | 389 | ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) |
390 | rm -f include/private/stamp-h1 | |
390 | rm -f include/private/autogen/stamp-h1 | |
391 | 391 | touch $@ |
392 | 392 | |
393 | include/hwloc/config.h: include/hwloc/stamp-h2 | |
393 | include/hwloc/autogen/config.h: include/hwloc/autogen/stamp-h2 | |
394 | 394 | @if test ! -f $@; then \ |
395 | rm -f include/hwloc/stamp-h2; \ | |
396 | $(MAKE) $(AM_MAKEFLAGS) include/hwloc/stamp-h2; \ | |
395 | rm -f include/hwloc/autogen/stamp-h2; \ | |
396 | $(MAKE) $(AM_MAKEFLAGS) include/hwloc/autogen/stamp-h2; \ | |
397 | 397 | else :; fi |
398 | 398 | |
399 | include/hwloc/stamp-h2: $(top_srcdir)/include/hwloc/config.h.in $(top_builddir)/config.status | |
400 | @rm -f include/hwloc/stamp-h2 | |
401 | cd $(top_builddir) && $(SHELL) ./config.status include/hwloc/config.h | |
399 | include/hwloc/autogen/stamp-h2: $(top_srcdir)/include/hwloc/autogen/config.h.in $(top_builddir)/config.status | |
400 | @rm -f include/hwloc/autogen/stamp-h2 | |
401 | cd $(top_builddir) && $(SHELL) ./config.status include/hwloc/autogen/config.h | |
402 | 402 | |
403 | 403 | distclean-hdr: |
404 | -rm -f include/private/config.h include/private/stamp-h1 include/hwloc/config.h include/hwloc/stamp-h2 | |
404 | -rm -f include/private/autogen/config.h include/private/autogen/stamp-h1 include/hwloc/autogen/config.h include/hwloc/autogen/stamp-h2 | |
405 | 405 | hwloc.pc: $(top_builddir)/config.status $(srcdir)/hwloc.pc.in |
406 | 406 | cd $(top_builddir) && $(SHELL) ./config.status $@ |
407 | 407 |
14 | 14 | bug fixes (and other actions) for each version of hwloc since version |
15 | 15 | 0.9 (as initially released as "libtopology", then re-branded to "hwloc" |
16 | 16 | in v0.9.1). |
17 | ||
18 | ||
19 | Version 1.1.2 | |
20 | ------------- | |
21 | * Fix a segfault in the distance-based grouping code when some objects | |
22 | are not placed in any group. Thanks to Bernd Kallies for reporting | |
23 | the problem and providing a patch. | |
24 | * Fix the command-line parsing of hwloc-bind --mempolicy interleave. | |
25 | Thanks to Guy Streeter for reporting the problem. | |
26 | * Stop truncating the output in hwloc_obj_attr_snprintf() and in the | |
27 | corresponding lstopo output. Thanks to Guy Streeter for reporting the | |
28 | problem. | |
29 | * Fix object levels ordering in synthetic topologies. | |
30 | * Fix potential incoherency between device tree and kernel information, | |
31 | when SMT is disabled on Power machines. | |
32 | * Fix and document the behavior of hwloc_topology_set_synthetic() in case | |
33 | of invalid argument. Thanks to Guy Streeter for reporting the problem. | |
34 | * Add some verbose error message reporting when it looks like the OS | |
35 | gives erroneous information. | |
36 | * Do not include unistd.h and stdint.h in public headers on Windows. | |
37 | * Move config.h files into their own subdirectories to avoid name | |
38 | conflicts when AC_CONFIG_HEADERS adds -I's for them. | |
39 | * Remove the use of declaring variables inside "for" loops. | |
40 | * Some other minor fixes. | |
41 | * Many minor documentation fixes. | |
17 | 42 | |
18 | 43 | |
19 | 44 | Version 1.1.1 |
424 | 424 | /* Example hwloc API program. |
425 | 425 | * |
426 | 426 | * Copyright ? 2009-2010 INRIA |
427 | * Copyright ? 2009-2010 Universit? Bordeaux 1 | |
427 | * Copyright ? 2009-2011 Universit? Bordeaux 1 | |
428 | 428 | * Copyright ? 2009-2010 Cisco Systems, Inc. All rights reserved. |
429 | 429 | * |
430 | 430 | * hwloc-hello.c |
464 | 464 | hwloc_topology_init(&topology); |
465 | 465 | |
466 | 466 | /* ... Optionally, put detection configuration here to ignore |
467 | some objects types, define a synthetic topology, etc.... | |
467 | some objects types, define a synthetic topology, etc.... | |
468 | 468 | |
469 | 469 | The default is to detect all the objects of the machine that |
470 | 470 | the caller is allowed to access. See Configure Topology |
571 | 571 | n = hwloc_get_nbobjs_by_type(topology, HWLOC_OBJ_NODE); |
572 | 572 | if (n) { |
573 | 573 | void *m; |
574 | size_t size = 1024*1024; | |
574 | size = 1024*1024; | |
575 | 575 | |
576 | 576 | obj = hwloc_get_obj_by_type(topology, HWLOC_OBJ_NODE, n - 1); |
577 | 577 | m = hwloc_alloc_membind_nodeset(topology, size, obj->nodeset, |
683 | 683 | |
684 | 684 | ------------------------------------------------------------------------------- |
685 | 685 | |
686 | Generated on Mon Jan 24 2011 17:12:06 for Hardware Locality (hwloc) by doxygen | |
687 | 1.7.2 | |
686 | Generated on Wed Apr 6 2011 17:31:39 for Hardware Locality (hwloc) by doxygen | |
687 | 1.7.3 |
6 | 6 | |
7 | 7 | major=1 |
8 | 8 | minor=1 |
9 | release=1 | |
9 | release=2 | |
10 | 10 | |
11 | 11 | # greek is used for alpha or beta release tags. If it is non-empty, |
12 | 12 | # it will be appended to the version number. It does not have to be |
32 | 32 | # distribution tarball is being made from an SVN checkout, the value |
33 | 33 | # of svn_r in this file is replaced with the output of "svnversion". |
34 | 34 | |
35 | svn_r=r3129 | |
35 | svn_r=r3393 | |
36 | 36 | |
37 | 37 | # The date when this release was created |
38 | 38 | |
39 | date="Jan 24, 2011" | |
39 | date="avril 06, 2011" | |
40 | 40 | |
41 | 41 | # The shared library version of hwloc's public library. This version |
42 | 42 | # is maintained in accordance with the "Library Interface Versions" |
49 | 49 | # 2. Version numbers are described in the Libtool current:revision:age |
50 | 50 | # format. |
51 | 51 | |
52 | libhwloc_so_version=2:0:2 | |
52 | libhwloc_so_version=2:1:2 |
0 | 0 | #! /bin/sh |
1 | 1 | # Attempt to guess a canonical system name. |
2 | 2 | # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, |
3 | # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, | |
4 | # 2011 Free Software Foundation, Inc. | |
5 | ||
6 | timestamp='2011-01-23' | |
3 | # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 | |
4 | # Free Software Foundation, Inc. | |
5 | ||
6 | timestamp='2009-11-20' | |
7 | 7 | |
8 | 8 | # This file is free software; you can redistribute it and/or modify it |
9 | 9 | # under the terms of the GNU General Public License as published by |
55 | 55 | GNU config.guess ($timestamp) |
56 | 56 | |
57 | 57 | Originally written by Per Bothner. |
58 | Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, | |
59 | 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free | |
60 | Software Foundation, Inc. | |
58 | Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, | |
59 | 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. | |
61 | 60 | |
62 | 61 | This is free software; see the source for copying conditions. There is NO |
63 | 62 | warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." |
269 | 268 | # A Xn.n version is an unreleased experimental baselevel. |
270 | 269 | # 1.2 uses "1.2" for uname -r. |
271 | 270 | echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` |
272 | # Reset EXIT trap before exiting to avoid spurious non-zero exit code. | |
273 | exitcode=$? | |
274 | trap '' 0 | |
275 | exit $exitcode ;; | |
271 | exit ;; | |
276 | 272 | Alpha\ *:Windows_NT*:*) |
277 | 273 | # How do we know it's Interix rather than the generic POSIX subsystem? |
278 | 274 | # Should we change UNAME_MACHINE based on the output of uname instead |
554 | 550 | echo rs6000-ibm-aix3.2 |
555 | 551 | fi |
556 | 552 | exit ;; |
557 | *:AIX:*:[4567]) | |
553 | *:AIX:*:[456]) | |
558 | 554 | IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` |
559 | 555 | if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then |
560 | 556 | IBM_ARCH=rs6000 |
970 | 966 | sparc:Linux:*:* | sparc64:Linux:*:*) |
971 | 967 | echo ${UNAME_MACHINE}-unknown-linux-gnu |
972 | 968 | exit ;; |
973 | tile*:Linux:*:*) | |
974 | echo ${UNAME_MACHINE}-tilera-linux-gnu | |
975 | exit ;; | |
976 | 969 | vax:Linux:*:*) |
977 | 970 | echo ${UNAME_MACHINE}-dec-linux-gnu |
978 | 971 | exit ;; |
1236 | 1229 | *:QNX:*:4*) |
1237 | 1230 | echo i386-pc-qnx |
1238 | 1231 | exit ;; |
1239 | NEO-?:NONSTOP_KERNEL:*:*) | |
1240 | echo neo-tandem-nsk${UNAME_RELEASE} | |
1241 | exit ;; | |
1242 | 1232 | NSE-?:NONSTOP_KERNEL:*:*) |
1243 | 1233 | echo nse-tandem-nsk${UNAME_RELEASE} |
1244 | 1234 | exit ;; |
0 | 0 | #! /bin/sh |
1 | 1 | # Configuration validation subroutine script. |
2 | 2 | # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, |
3 | # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, | |
4 | # 2011 Free Software Foundation, Inc. | |
5 | ||
6 | timestamp='2011-01-01' | |
3 | # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 | |
4 | # Free Software Foundation, Inc. | |
5 | ||
6 | timestamp='2009-11-20' | |
7 | 7 | |
8 | 8 | # This file is (in principle) common to ALL GNU software. |
9 | 9 | # The presence of a machine in this file suggests that SOME GNU software |
74 | 74 | version="\ |
75 | 75 | GNU config.sub ($timestamp) |
76 | 76 | |
77 | Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, | |
78 | 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free | |
79 | Software Foundation, Inc. | |
77 | Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, | |
78 | 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. | |
80 | 79 | |
81 | 80 | This is free software; see the source for copying conditions. There is NO |
82 | 81 | warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." |
123 | 122 | # Here we must recognize all the valid KERNEL-OS combinations. |
124 | 123 | maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` |
125 | 124 | case $maybe_os in |
126 | nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ | |
127 | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ | |
128 | knetbsd*-gnu* | netbsd*-gnu* | \ | |
125 | nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ | |
126 | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ | |
129 | 127 | kopensolaris*-gnu* | \ |
130 | 128 | storm-chaos* | os2-emx* | rtmk-nova*) |
131 | 129 | os=-$maybe_os |
282 | 280 | | moxie \ |
283 | 281 | | mt \ |
284 | 282 | | msp430 \ |
285 | | nds32 | nds32le | nds32be \ | |
286 | 283 | | nios | nios2 \ |
287 | 284 | | ns16k | ns32k \ |
288 | 285 | | or32 \ |
296 | 293 | | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ |
297 | 294 | | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ |
298 | 295 | | spu | strongarm \ |
299 | | tahoe | thumb | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ | |
296 | | tahoe | thumb | tic4x | tic80 | tron \ | |
300 | 297 | | ubicom32 \ |
301 | 298 | | v850 | v850e \ |
302 | 299 | | we32k \ |
303 | 300 | | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ |
304 | 301 | | z8k | z80) |
305 | 302 | basic_machine=$basic_machine-unknown |
306 | ;; | |
307 | c54x) | |
308 | basic_machine=tic54x-unknown | |
309 | ;; | |
310 | c55x) | |
311 | basic_machine=tic55x-unknown | |
312 | ;; | |
313 | c6x) | |
314 | basic_machine=tic6x-unknown | |
315 | 303 | ;; |
316 | 304 | m6811 | m68hc11 | m6812 | m68hc12 | picochip) |
317 | 305 | # Motorola 68HC11/12. |
344 | 332 | | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ |
345 | 333 | | avr-* | avr32-* \ |
346 | 334 | | bfin-* | bs2000-* \ |
347 | | c[123]* | c30-* | [cjt]90-* | c4x-* \ | |
335 | | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ | |
348 | 336 | | clipper-* | craynv-* | cydra-* \ |
349 | 337 | | d10v-* | d30v-* | dlx-* \ |
350 | 338 | | elxsi-* \ |
378 | 366 | | mmix-* \ |
379 | 367 | | mt-* \ |
380 | 368 | | msp430-* \ |
381 | | nds32-* | nds32le-* | nds32be-* \ | |
382 | 369 | | nios-* | nios2-* \ |
383 | 370 | | none-* | np1-* | ns16k-* | ns32k-* \ |
384 | 371 | | orion-* \ |
392 | 379 | | sparclite-* \ |
393 | 380 | | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ |
394 | 381 | | tahoe-* | thumb-* \ |
395 | | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | |
396 | | tile-* | tilegx-* \ | |
382 | | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \ | |
397 | 383 | | tron-* \ |
398 | 384 | | ubicom32-* \ |
399 | 385 | | v850-* | v850e-* | vax-* \ |
493 | 479 | basic_machine=powerpc-ibm |
494 | 480 | os=-cnk |
495 | 481 | ;; |
496 | c54x-*) | |
497 | basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` | |
498 | ;; | |
499 | c55x-*) | |
500 | basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` | |
501 | ;; | |
502 | c6x-*) | |
503 | basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` | |
504 | ;; | |
505 | 482 | c90) |
506 | 483 | basic_machine=c90-cray |
507 | 484 | os=-unicos |
538 | 515 | basic_machine=craynv-cray |
539 | 516 | os=-unicosmp |
540 | 517 | ;; |
541 | cr16 | cr16-*) | |
518 | cr16) | |
542 | 519 | basic_machine=cr16-unknown |
543 | 520 | os=-elf |
544 | 521 | ;; |
861 | 838 | np1) |
862 | 839 | basic_machine=np1-gould |
863 | 840 | ;; |
864 | neo-tandem) | |
865 | basic_machine=neo-tandem | |
866 | ;; | |
867 | nse-tandem) | |
868 | basic_machine=nse-tandem | |
869 | ;; | |
870 | 841 | nsr-tandem) |
871 | 842 | basic_machine=nsr-tandem |
872 | 843 | ;; |
1101 | 1072 | basic_machine=t90-cray |
1102 | 1073 | os=-unicos |
1103 | 1074 | ;; |
1104 | # This must be matched before tile*. | |
1105 | tilegx*) | |
1106 | basic_machine=tilegx-unknown | |
1107 | os=-linux-gnu | |
1075 | tic54x | c54x*) | |
1076 | basic_machine=tic54x-unknown | |
1077 | os=-coff | |
1078 | ;; | |
1079 | tic55x | c55x*) | |
1080 | basic_machine=tic55x-unknown | |
1081 | os=-coff | |
1082 | ;; | |
1083 | tic6x | c6x*) | |
1084 | basic_machine=tic6x-unknown | |
1085 | os=-coff | |
1108 | 1086 | ;; |
1109 | 1087 | tile*) |
1110 | 1088 | basic_machine=tile-unknown |
1315 | 1293 | | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ |
1316 | 1294 | | -chorusos* | -chorusrdb* | -cegcc* \ |
1317 | 1295 | | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ |
1318 | | -mingw32* | -linux-gnu* | -linux-android* \ | |
1319 | | -linux-newlib* | -linux-uclibc* \ | |
1296 | | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ | |
1320 | 1297 | | -uxpv* | -beos* | -mpeix* | -udk* \ |
1321 | 1298 | | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ |
1322 | 1299 | | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ |
1457 | 1434 | -dicos*) |
1458 | 1435 | os=-dicos |
1459 | 1436 | ;; |
1460 | -nacl*) | |
1461 | ;; | |
1462 | 1437 | -none) |
1463 | 1438 | ;; |
1464 | 1439 | *) |
1498 | 1473 | ;; |
1499 | 1474 | c4x-* | tic4x-*) |
1500 | 1475 | os=-coff |
1501 | ;; | |
1502 | tic54x-*) | |
1503 | os=-coff | |
1504 | ;; | |
1505 | tic55x-*) | |
1506 | os=-coff | |
1507 | ;; | |
1508 | tic6x-*) | |
1509 | os=-coff | |
1510 | 1476 | ;; |
1511 | 1477 | # This must come before the *-dec entry. |
1512 | 1478 | pdp10-*) |
8 | 8 | dnl All rights reserved. |
9 | 9 | dnl Copyright (c) 2004-2008 High Performance Computing Center Stuttgart, |
10 | 10 | dnl University of Stuttgart. All rights reserved. |
11 | dnl Copyright © 2006-2010 Cisco Systems, Inc. All rights reserved. | |
11 | dnl Copyright © 2006-2011 Cisco Systems, Inc. All rights reserved. | |
12 | dnl See COPYING in top-level directory. | |
12 | 13 | |
13 | 14 | # Main hwloc m4 macro, to be invoked by the user |
14 | 15 | # |
107 | 108 | # becomes the "main" config header file. Any AC_CONFIG_HEADERs |
108 | 109 | # after that (hwloc/config.h) will only have selective #defines |
109 | 110 | # replaced, not the entire file. |
110 | AC_CONFIG_HEADER(hwloc_config_prefix[include/private/config.h]) | |
111 | AC_CONFIG_HEADER(hwloc_config_prefix[include/hwloc/config.h]) | |
111 | AC_CONFIG_HEADERS(hwloc_config_prefix[include/private/autogen/config.h]) | |
112 | AC_CONFIG_HEADERS(hwloc_config_prefix[include/hwloc/autogen/config.h]) | |
112 | 113 | |
113 | 114 | # What prefix are we using? |
114 | 115 | AC_MSG_CHECKING([for hwloc symbol prefix]) |
0 | 0 | #! /bin/sh |
1 | 1 | # Guess values for system-dependent variables and create Makefiles. |
2 | # Generated by GNU Autoconf 2.68 for hwloc 1.1.1. | |
2 | # Generated by GNU Autoconf 2.68 for hwloc 1.1.2. | |
3 | 3 | # |
4 | 4 | # Report bugs to <http://www.open-mpi.org/community/help/>. |
5 | 5 | # |
569 | 569 | # Identity of this package. |
570 | 570 | PACKAGE_NAME='hwloc' |
571 | 571 | PACKAGE_TARNAME='hwloc' |
572 | PACKAGE_VERSION='1.1.1' | |
573 | PACKAGE_STRING='hwloc 1.1.1' | |
572 | PACKAGE_VERSION='1.1.2' | |
573 | PACKAGE_STRING='hwloc 1.1.2' | |
574 | 574 | PACKAGE_BUGREPORT='http://www.open-mpi.org/community/help/' |
575 | 575 | PACKAGE_URL='' |
576 | 576 | |
874 | 874 | LIBS |
875 | 875 | CPPFLAGS |
876 | 876 | CPP |
877 | CPPFLAGS | |
878 | 877 | HWLOC_PKG_CONFIG |
879 | 878 | HWLOC_KERRIGHED_CFLAGS |
880 | 879 | HWLOC_KERRIGHED_LIBS |
1434 | 1433 | # Omit some internal or obsolete options to make the list less imposing. |
1435 | 1434 | # This message is too long to be a string in the A/UX 3.1 sh. |
1436 | 1435 | cat <<_ACEOF |
1437 | \`configure' configures hwloc 1.1.1 to adapt to many kinds of systems. | |
1436 | \`configure' configures hwloc 1.1.2 to adapt to many kinds of systems. | |
1438 | 1437 | |
1439 | 1438 | Usage: $0 [OPTION]... [VAR=VALUE]... |
1440 | 1439 | |
1509 | 1508 | |
1510 | 1509 | if test -n "$ac_init_help"; then |
1511 | 1510 | case $ac_init_help in |
1512 | short | recursive ) echo "Configuration of hwloc 1.1.1:";; | |
1511 | short | recursive ) echo "Configuration of hwloc 1.1.2:";; | |
1513 | 1512 | esac |
1514 | 1513 | cat <<\_ACEOF |
1515 | 1514 | |
1669 | 1668 | test -n "$ac_init_help" && exit $ac_status |
1670 | 1669 | if $ac_init_version; then |
1671 | 1670 | cat <<\_ACEOF |
1672 | hwloc configure 1.1.1 | |
1671 | hwloc configure 1.1.2 | |
1673 | 1672 | generated by GNU Autoconf 2.68 |
1674 | 1673 | |
1675 | 1674 | Copyright (C) 2010 Free Software Foundation, Inc. |
2316 | 2315 | This file contains any messages produced by compilers while |
2317 | 2316 | running configure, to aid debugging if configure makes a mistake. |
2318 | 2317 | |
2319 | It was created by hwloc $as_me 1.1.1, which was | |
2318 | It was created by hwloc $as_me 1.1.2, which was | |
2320 | 2319 | generated by GNU Autoconf 2.68. Invocation command line was |
2321 | 2320 | |
2322 | 2321 | $ $0 $@ |
3257 | 3256 | |
3258 | 3257 | # Define the identity of the package. |
3259 | 3258 | PACKAGE='hwloc' |
3260 | VERSION='1.1.1' | |
3259 | VERSION='1.1.2' | |
3261 | 3260 | |
3262 | 3261 | |
3263 | 3262 | cat >>confdefs.h <<_ACEOF |
4629 | 4628 | # standalone mode |
4630 | 4629 | if test "$enable_embedded_mode" != "yes"; then : |
4631 | 4630 | if test ! -d "$srcdir/doc"; then : |
4632 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: The hwloc source tree looks incomplete for a standalobe" >&5 | |
4633 | $as_echo "$as_me: WARNING: The hwloc source tree looks incomplete for a standalobe" >&2;} | |
4631 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: The hwloc source tree looks incomplete for a standalone" >&5 | |
4632 | $as_echo "$as_me: WARNING: The hwloc source tree looks incomplete for a standalone" >&2;} | |
4634 | 4633 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: build. Perhaps this hwloc tree is intended for an embedded" >&5 |
4635 | 4634 | $as_echo "$as_me: WARNING: build. Perhaps this hwloc tree is intended for an embedded" >&2;} |
4636 | 4635 | { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: build? Try using the --enable-embedded-mode switch." >&5 |
5324 | 5323 | # becomes the "main" config header file. Any AC_CONFIG_HEADERs |
5325 | 5324 | # after that (hwloc/config.h) will only have selective #defines |
5326 | 5325 | # replaced, not the entire file. |
5327 | ac_config_headers="$ac_config_headers include/private/config.h" | |
5328 | ||
5329 | ac_config_headers="$ac_config_headers include/hwloc/config.h" | |
5326 | ac_config_headers="$ac_config_headers include/private/autogen/config.h" | |
5327 | ||
5328 | ac_config_headers="$ac_config_headers include/hwloc/autogen/config.h" | |
5330 | 5329 | |
5331 | 5330 | |
5332 | 5331 | # What prefix are we using? |
21124 | 21123 | # report actual input values of CONFIG_FILES etc. instead of their |
21125 | 21124 | # values after options handling. |
21126 | 21125 | ac_log=" |
21127 | This file was extended by hwloc $as_me 1.1.1, which was | |
21126 | This file was extended by hwloc $as_me 1.1.2, which was | |
21128 | 21127 | generated by GNU Autoconf 2.68. Invocation command line was |
21129 | 21128 | |
21130 | 21129 | CONFIG_FILES = $CONFIG_FILES |
21194 | 21193 | cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 |
21195 | 21194 | ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" |
21196 | 21195 | ac_cs_version="\\ |
21197 | hwloc config.status 1.1.1 | |
21196 | hwloc config.status 1.1.2 | |
21198 | 21197 | configured by $0, generated by GNU Autoconf 2.68, |
21199 | 21198 | with options \\"\$ac_cs_config\\" |
21200 | 21199 | |
21603 | 21602 | do |
21604 | 21603 | case $ac_config_target in |
21605 | 21604 | "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; |
21606 | "include/private/config.h") CONFIG_HEADERS="$CONFIG_HEADERS include/private/config.h" ;; | |
21607 | "include/hwloc/config.h") CONFIG_HEADERS="$CONFIG_HEADERS include/hwloc/config.h" ;; | |
21605 | "include/private/autogen/config.h") CONFIG_HEADERS="$CONFIG_HEADERS include/private/autogen/config.h" ;; | |
21606 | "include/hwloc/autogen/config.h") CONFIG_HEADERS="$CONFIG_HEADERS include/hwloc/autogen/config.h" ;; | |
21608 | 21607 | "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; |
21609 | 21608 | "include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;; |
21610 | 21609 | "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; |
1 | 1 | # |
2 | 2 | # Copyright © 2009 CNRS |
3 | 3 | # Copyright © 2009-2010 INRIA |
4 | # Copyright © 2009 Université Bordeaux 1 | |
4 | # Copyright © 2009, 2011 Université Bordeaux 1 | |
5 | 5 | # Copyright © 2009-2010 Cisco Systems, Inc. All rights reserved. |
6 | 6 | # |
7 | 7 | # See COPYING in top-level directory. |
121 | 121 | # standalone mode |
122 | 122 | AS_IF([test "$enable_embedded_mode" != "yes"], |
123 | 123 | [AS_IF([test ! -d "$srcdir/doc"], |
124 | [AC_MSG_WARN([The hwloc source tree looks incomplete for a standalobe]) | |
124 | [AC_MSG_WARN([The hwloc source tree looks incomplete for a standalone]) | |
125 | 125 | AC_MSG_WARN([build. Perhaps this hwloc tree is intended for an embedded]) |
126 | 126 | AC_MSG_WARN([build? Try using the --enable-embedded-mode switch.]) |
127 | 127 | AC_MSG_ERROR([Cannot build standalone hwloc])], |
142 | 142 | -@mv -f $(DOX_DIR)/latex/tools.tex $(DOX_DIR)/latex/a00002.tex |
143 | 143 | -@mv -f $(DOX_DIR)/html/envvar.html $(DOX_DIR)/html/a00003.html |
144 | 144 | -@mv -f $(DOX_DIR)/latex/envvar.tex $(DOX_DIR)/latex/a00003.tex |
145 | -@mv -f $(DOX_DIR)/html/interoperability.html $(DOX_DIR)/html/a00004.html | |
146 | -@mv -f $(DOX_DIR)/latex/interoperability.tex $(DOX_DIR)/latex/a00004.tex | |
147 | -@mv -f $(DOX_DIR)/html/threadsafety.html $(DOX_DIR)/html/a00005.html | |
148 | -@mv -f $(DOX_DIR)/latex/threadsafety.tex $(DOX_DIR)/latex/a00005.tex | |
149 | -@mv -f $(DOX_DIR)/html/embed.html $(DOX_DIR)/html/a00006.html | |
150 | -@mv -f $(DOX_DIR)/latex/embed.tex $(DOX_DIR)/latex/a00006.tex | |
151 | -@mv -f $(DOX_DIR)/html/switchfromplpa.html $(DOX_DIR)/html/a00007.html | |
152 | -@mv -f $(DOX_DIR)/latex/switchfromplpa.tex $(DOX_DIR)/latex/a00007.tex | |
145 | -@mv -f $(DOX_DIR)/html/cpu_mem_bind.html $(DOX_DIR)/html/a00004.html | |
146 | -@mv -f $(DOX_DIR)/latex/cpu_mem_bind.tex $(DOX_DIR)/latex/a00004.tex | |
147 | -@mv -f $(DOX_DIR)/html/interoperability.html $(DOX_DIR)/html/a00005.html | |
148 | -@mv -f $(DOX_DIR)/latex/interoperability.tex $(DOX_DIR)/latex/a00005.tex | |
149 | -@mv -f $(DOX_DIR)/html/threadsafety.html $(DOX_DIR)/html/a00006.html | |
150 | -@mv -f $(DOX_DIR)/latex/threadsafety.tex $(DOX_DIR)/latex/a00006.tex | |
151 | -@mv -f $(DOX_DIR)/html/embed.html $(DOX_DIR)/html/a00007.html | |
152 | -@mv -f $(DOX_DIR)/latex/embed.tex $(DOX_DIR)/latex/a00007.tex | |
153 | -@mv -f $(DOX_DIR)/html/switchfromplpa.html $(DOX_DIR)/html/a00008.html | |
154 | -@mv -f $(DOX_DIR)/latex/switchfromplpa.tex $(DOX_DIR)/latex/a00008.tex | |
155 | -@mv -f $(DOX_DIR)/html/faq.html $(DOX_DIR)/html/a00009.html | |
156 | -@mv -f $(DOX_DIR)/latex/faq.tex $(DOX_DIR)/latex/a00009.tex | |
153 | 157 | endif |
154 | 158 | endif |
155 | 159 |
57 | 57 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ |
58 | 58 | $(ACLOCAL_M4) |
59 | 59 | mkinstalldirs = $(install_sh) -d |
60 | CONFIG_HEADER = $(top_builddir)/include/private/config.h \ | |
61 | $(top_builddir)/include/hwloc/config.h | |
60 | CONFIG_HEADER = $(top_builddir)/include/private/autogen/config.h \ | |
61 | $(top_builddir)/include/hwloc/autogen/config.h | |
62 | 62 | CONFIG_CLEAN_FILES = doxygen-config.cfg |
63 | 63 | CONFIG_CLEAN_VPATH_FILES = |
64 | 64 | @HWLOC_BUILD_TESTS_TRUE@am__EXEEXT_1 = hwloc-hello$(EXEEXT) |
67 | 67 | AM_V_lt = $(am__v_lt_$(V)) |
68 | 68 | am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) |
69 | 69 | am__v_lt_0 = --silent |
70 | DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include/private -I$(top_builddir)/include/hwloc | |
70 | DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include/private/autogen -I$(top_builddir)/include/hwloc/autogen | |
71 | 71 | depcomp = $(SHELL) $(top_srcdir)/./config/depcomp |
72 | 72 | am__depfiles_maybe = depfiles |
73 | 73 | am__mv = mv -f |
1175 | 1175 | @HWLOC_BUILD_DOXYGEN_TRUE@@HWLOC_DOXYGEN_BROKEN_SHORT_NAMES_TRUE@ -@mv -f $(DOX_DIR)/latex/tools.tex $(DOX_DIR)/latex/a00002.tex |
1176 | 1176 | @HWLOC_BUILD_DOXYGEN_TRUE@@HWLOC_DOXYGEN_BROKEN_SHORT_NAMES_TRUE@ -@mv -f $(DOX_DIR)/html/envvar.html $(DOX_DIR)/html/a00003.html |
1177 | 1177 | @HWLOC_BUILD_DOXYGEN_TRUE@@HWLOC_DOXYGEN_BROKEN_SHORT_NAMES_TRUE@ -@mv -f $(DOX_DIR)/latex/envvar.tex $(DOX_DIR)/latex/a00003.tex |
1178 | @HWLOC_BUILD_DOXYGEN_TRUE@@HWLOC_DOXYGEN_BROKEN_SHORT_NAMES_TRUE@ -@mv -f $(DOX_DIR)/html/interoperability.html $(DOX_DIR)/html/a00004.html | |
1179 | @HWLOC_BUILD_DOXYGEN_TRUE@@HWLOC_DOXYGEN_BROKEN_SHORT_NAMES_TRUE@ -@mv -f $(DOX_DIR)/latex/interoperability.tex $(DOX_DIR)/latex/a00004.tex | |
1180 | @HWLOC_BUILD_DOXYGEN_TRUE@@HWLOC_DOXYGEN_BROKEN_SHORT_NAMES_TRUE@ -@mv -f $(DOX_DIR)/html/threadsafety.html $(DOX_DIR)/html/a00005.html | |
1181 | @HWLOC_BUILD_DOXYGEN_TRUE@@HWLOC_DOXYGEN_BROKEN_SHORT_NAMES_TRUE@ -@mv -f $(DOX_DIR)/latex/threadsafety.tex $(DOX_DIR)/latex/a00005.tex | |
1182 | @HWLOC_BUILD_DOXYGEN_TRUE@@HWLOC_DOXYGEN_BROKEN_SHORT_NAMES_TRUE@ -@mv -f $(DOX_DIR)/html/embed.html $(DOX_DIR)/html/a00006.html | |
1183 | @HWLOC_BUILD_DOXYGEN_TRUE@@HWLOC_DOXYGEN_BROKEN_SHORT_NAMES_TRUE@ -@mv -f $(DOX_DIR)/latex/embed.tex $(DOX_DIR)/latex/a00006.tex | |
1184 | @HWLOC_BUILD_DOXYGEN_TRUE@@HWLOC_DOXYGEN_BROKEN_SHORT_NAMES_TRUE@ -@mv -f $(DOX_DIR)/html/switchfromplpa.html $(DOX_DIR)/html/a00007.html | |
1185 | @HWLOC_BUILD_DOXYGEN_TRUE@@HWLOC_DOXYGEN_BROKEN_SHORT_NAMES_TRUE@ -@mv -f $(DOX_DIR)/latex/switchfromplpa.tex $(DOX_DIR)/latex/a00007.tex | |
1178 | @HWLOC_BUILD_DOXYGEN_TRUE@@HWLOC_DOXYGEN_BROKEN_SHORT_NAMES_TRUE@ -@mv -f $(DOX_DIR)/html/cpu_mem_bind.html $(DOX_DIR)/html/a00004.html | |
1179 | @HWLOC_BUILD_DOXYGEN_TRUE@@HWLOC_DOXYGEN_BROKEN_SHORT_NAMES_TRUE@ -@mv -f $(DOX_DIR)/latex/cpu_mem_bind.tex $(DOX_DIR)/latex/a00004.tex | |
1180 | @HWLOC_BUILD_DOXYGEN_TRUE@@HWLOC_DOXYGEN_BROKEN_SHORT_NAMES_TRUE@ -@mv -f $(DOX_DIR)/html/interoperability.html $(DOX_DIR)/html/a00005.html | |
1181 | @HWLOC_BUILD_DOXYGEN_TRUE@@HWLOC_DOXYGEN_BROKEN_SHORT_NAMES_TRUE@ -@mv -f $(DOX_DIR)/latex/interoperability.tex $(DOX_DIR)/latex/a00005.tex | |
1182 | @HWLOC_BUILD_DOXYGEN_TRUE@@HWLOC_DOXYGEN_BROKEN_SHORT_NAMES_TRUE@ -@mv -f $(DOX_DIR)/html/threadsafety.html $(DOX_DIR)/html/a00006.html | |
1183 | @HWLOC_BUILD_DOXYGEN_TRUE@@HWLOC_DOXYGEN_BROKEN_SHORT_NAMES_TRUE@ -@mv -f $(DOX_DIR)/latex/threadsafety.tex $(DOX_DIR)/latex/a00006.tex | |
1184 | @HWLOC_BUILD_DOXYGEN_TRUE@@HWLOC_DOXYGEN_BROKEN_SHORT_NAMES_TRUE@ -@mv -f $(DOX_DIR)/html/embed.html $(DOX_DIR)/html/a00007.html | |
1185 | @HWLOC_BUILD_DOXYGEN_TRUE@@HWLOC_DOXYGEN_BROKEN_SHORT_NAMES_TRUE@ -@mv -f $(DOX_DIR)/latex/embed.tex $(DOX_DIR)/latex/a00007.tex | |
1186 | @HWLOC_BUILD_DOXYGEN_TRUE@@HWLOC_DOXYGEN_BROKEN_SHORT_NAMES_TRUE@ -@mv -f $(DOX_DIR)/html/switchfromplpa.html $(DOX_DIR)/html/a00008.html | |
1187 | @HWLOC_BUILD_DOXYGEN_TRUE@@HWLOC_DOXYGEN_BROKEN_SHORT_NAMES_TRUE@ -@mv -f $(DOX_DIR)/latex/switchfromplpa.tex $(DOX_DIR)/latex/a00008.tex | |
1188 | @HWLOC_BUILD_DOXYGEN_TRUE@@HWLOC_DOXYGEN_BROKEN_SHORT_NAMES_TRUE@ -@mv -f $(DOX_DIR)/html/faq.html $(DOX_DIR)/html/a00009.html | |
1189 | @HWLOC_BUILD_DOXYGEN_TRUE@@HWLOC_DOXYGEN_BROKEN_SHORT_NAMES_TRUE@ -@mv -f $(DOX_DIR)/latex/faq.tex $(DOX_DIR)/latex/a00009.tex | |
1186 | 1190 | |
1187 | 1191 | # |
1188 | 1192 | # Rules for building the PDF |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li class="current"><a href="pages.html"><span>Related Pages</span></a></li> |
23 | 34 | <h1>Terms and Definitions </h1> </div> |
24 | 35 | </div> |
25 | 36 | <div class="contents"> |
26 | <dl> | |
37 | <div class="textblock"><dl> | |
27 | 38 | <dt>Object </dt> |
28 | 39 | <dd><p class="startdd">Interesting kind of part of the system, such as a Core, a Cache, a Memory node, etc. The different types detected by hwloc are detailed in the <a class="el" href="a00035.html#gacd37bb612667dc437d66bfb175a8dc55" title="Type of topology object.">hwloc_obj_type_t</a> enumeration.</p> |
29 | 40 | <p>They are topologically sorted by CPU set into a tree. </p> |
97 | 108 | <img src="diagram.png" alt="diagram.png"/> |
98 | 109 | </div> |
99 | 110 | <p>It should be noted that for PU objects, the logical index -- as computed linearly by hwloc -- is not the same as the OS index. </p> |
100 | </div> | |
101 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
111 | </div></div> | |
112 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
102 | 113 | <a href="http://www.doxygen.org/index.html"> |
103 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
114 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
104 | 115 | </body> |
105 | 116 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li class="current"><a href="pages.html"><span>Related Pages</span></a></li> |
23 | 34 | <h1>Command-Line Tools </h1> </div> |
24 | 35 | </div> |
25 | 36 | <div class="contents"> |
26 | <p>hwloc comes with an extensive C programming interface and several command line utilities. Each of them is fully documented in its own manual page; the following is a summary of the available command line tools.</p> | |
37 | <div class="textblock"><p>hwloc comes with an extensive C programming interface and several command line utilities. Each of them is fully documented in its own manual page; the following is a summary of the available command line tools.</p> | |
27 | 38 | <h2><a class="anchor" id="cli_lstopo"></a> |
28 | 39 | lstopo</h2> |
29 | 40 | <p>lstopo (also known as hwloc-info and hwloc-ls) displays the hierarchical topology map of the current system. The output may be graphical or textual, and can also be exported to numerous file formats such as PDF, PNG, XML, and others.</p> |
41 | <p>It can also display the processes currently bound to a part of the machine (--ps option).</p> | |
30 | 42 | <p>Note that lstopo can read XML files and/or alternate chroot filesystems and display topological maps representing those systems (e.g., use lstopo to output an XML file on one system, and then use lstopo to read in that XML file and display it on a different system).</p> |
31 | 43 | <h2><a class="anchor" id="cli_hwloc_bind"></a> |
32 | 44 | hwloc-bind</h2> |
43 | 55 | <h2><a class="anchor" id="cli_hwloc_ps"></a> |
44 | 56 | hwloc-ps</h2> |
45 | 57 | <p>hwloc-ps is a tool to display the bindings of processes that are currently running on the local machine. By default, hwloc-ps only lists processes that are bound; unbound process (and Linux kernel threads) are not displayed. </p> |
46 | </div> | |
47 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
58 | </div></div> | |
59 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
48 | 60 | <a href="http://www.doxygen.org/index.html"> |
49 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
61 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
50 | 62 | </body> |
51 | 63 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li class="current"><a href="pages.html"><span>Related Pages</span></a></li> |
23 | 34 | <h1>Environment Variables </h1> </div> |
24 | 35 | </div> |
25 | 36 | <div class="contents"> |
26 | <p>The behavior of the hwloc library and tools may be tuned thanks to the following environment variables.</p> | |
37 | <div class="textblock"><p>The behavior of the hwloc library and tools may be tuned thanks to the following environment variables.</p> | |
27 | 38 | <dl> |
28 | 39 | <dt>HWLOC_XMLFILE=/path/to/file.xml </dt> |
29 | 40 | <dd><p class="startdd">enforces the discovery from the given XML file as if <a class="el" href="a00038.html#ga93efcc8a962afe1ed23393700682173f" title="Enable XML-file based topology.">hwloc_topology_set_xml()</a> had been called. This file may have been generated earlier with lstopo file.xml. For convenience, this backend provides empty binding hooks which just return success. To have hwloc still actually call OS-specific hooks, HWLOC_THISSYSTEM should be set 1 in the environment too, to assert that the loaded file is really the underlying system. </p> |
37 | 48 | <dd><p class="startdd">enforces the return value of <a class="el" href="a00040.html#ga0d109e33fc7990f62f665d336e5e5111" title="Does the topology context come from this system?">hwloc_topology_is_thissystem()</a>. It means that it makes hwloc assume that the selected backend provides the topology for the system on which we are running, even if it is not the OS-specific backend but the XML backend for instance. This means making the binding functions actually call the OS-specific system calls and really do binding, while the XML backend would otherwise provide empty hooks just returning success. This can be used for efficiency reasons to first detect the topology once, save it to an XML file, and quickly reload it later through the XML backend, but still having binding functions actually do bind. </p> |
38 | 49 | <p class="enddd"></p> |
39 | 50 | </dd> |
51 | <dt>HWLOC_IGNORE_DISTANCES=0 </dt> | |
52 | <dd><p class="startdd">disables objects grouping based on distances. By default, hwloc uses distance matrices between objects (read from the OS) to find groups of close objects. These groups are described by adding intermediate Group objects in the topology. Setting this environment variable to 1 will disable this grouping. </p> | |
53 | <p class="enddd"></p> | |
54 | </dd> | |
40 | 55 | </dl> |
41 | </div> | |
42 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
56 | </div></div> | |
57 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
43 | 58 | <a href="http://www.doxygen.org/index.html"> |
44 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
59 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
45 | 60 | </body> |
46 | 61 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li class="current"><a href="pages.html"><span>Related Pages</span></a></li> |
23 | 34 | <h1>CPU and Memory Binding Overview </h1> </div> |
24 | 35 | </div> |
25 | 36 | <div class="contents"> |
26 | <p>Some operating systems do not systematically provide separate functions for CPU and memory binding. This means that CPU binding functions may have have effects on the memory binding policy. Likewise, changing the memory binding policy may change the CPU binding of the current thread. This is often not a problem for applications, so by default hwloc will make use of these functions when they provide better binding support.</p> | |
37 | <div class="textblock"><p>Some operating systems do not systematically provide separate functions for CPU and memory binding. This means that CPU binding functions may have have effects on the memory binding policy. Likewise, changing the memory binding policy may change the CPU binding of the current thread. This is often not a problem for applications, so by default hwloc will make use of these functions when they provide better binding support.</p> | |
27 | 38 | <p>If the application does not want the CPU binding to change when changing the memory policy, it needs to use the HWLOC_MEMBIND_NOCPUBIND flag to prevent hwloc from using OS functions which would change the CPU binding. Additionally, HWLOC_CPUBIND_NOMEMBIND can be passed to CPU binding function to prevent hwloc from using OS functions would change the memory binding policy. Of course, using these flags will reduce hwloc's overall support for binding, so their use is discouraged.</p> |
28 | 39 | <p>One can avoid using these flags but still closely control both memory and CPU binding by allocating memory, touching each page in the allocated memory, and then changing the CPU binding. The already-really-allocated memory will then be "locked" to physical memory and will not be migrated. Thus, even if the memory binding policy gets changed by the CPU binding order, the already-allocated memory will not change with it. When binding and allocating further memory, the CPU binding should be performed again in case the memory binding altered the previously-selected CPU binding.</p> |
29 | 40 | <p>Not all operating systems support the notion of a "current" memory binding policy for the current process, but such operating systems often still provide a way to allocate data on a given node set. Conversely, some operating systems support the notion of a "current" memory binding policy and do not permit allocating data on a specific node set without changing the current policy and allocate the data. To provide the most powerful coverage of these facilities, hwloc provides:</p> |
37 | 48 | </ul> |
38 | 49 | <p>An application can thus use the two first sets of functions if it wants to manage separately the global process binding policy and directed allocation, or use the third set of functions if it does not care about the process memory binding policy.</p> |
39 | 50 | <p>See <a class="el" href="a00043.html">CPU binding</a> and <a class="el" href="a00044.html">Memory binding</a> for hwloc's API functions regarding CPU and memory binding, respectively. </p> |
40 | </div> | |
41 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
51 | </div></div> | |
52 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
42 | 53 | <a href="http://www.doxygen.org/index.html"> |
43 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
54 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
44 | 55 | </body> |
45 | 56 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li class="current"><a href="pages.html"><span>Related Pages</span></a></li> |
23 | 34 | <h1>Interoperability With Other Software </h1> </div> |
24 | 35 | </div> |
25 | 36 | <div class="contents"> |
26 | <p>Although hwloc offers its own portable interface, it still may have to interoperate with specific or non-portable libraries that manipulate similar kinds of objects. hwloc therefore offers several specific "helpers" to assist converting between those specific interfaces and hwloc.</p> | |
37 | <div class="textblock"><p>Although hwloc offers its own portable interface, it still may have to interoperate with specific or non-portable libraries that manipulate similar kinds of objects. hwloc therefore offers several specific "helpers" to assist converting between those specific interfaces and hwloc.</p> | |
27 | 38 | <p>Some external libraries may be specific to a particular OS; others may not always be available. The hwloc core therefore generally does not explicitly depend on these types of libraries. However, when a custom application uses or otherwise depends on such a library, it may optionally include the corresponding hwloc helper to extend the hwloc interface with dedicated helpers.</p> |
28 | 39 | <dl> |
29 | 40 | <dt>Linux specific features </dt> |
55 | 66 | <p class="enddd"></p> |
56 | 67 | </dd> |
57 | 68 | </dl> |
58 | </div> | |
59 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
69 | </div></div> | |
70 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
60 | 71 | <a href="http://www.doxygen.org/index.html"> |
61 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
72 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
62 | 73 | </body> |
63 | 74 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li class="current"><a href="pages.html"><span>Related Pages</span></a></li> |
23 | 34 | <h1>Thread Safety </h1> </div> |
24 | 35 | </div> |
25 | 36 | <div class="contents"> |
26 | <p>Like most libraries that mainly fill data structures, hwloc is not thread safe but rather reentrant: all state is held in a <a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> instance without mutex protection. That means, for example, that two threads can safely operate on and modify two different <a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> instances, but they should not simultaneously invoke functions that modify the <em>same</em> instance. Similarly, one thread should not modify a <a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> instance while another thread is reading or traversing it. However, two threads can safely read or traverse the same <a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> instance concurrently.</p> | |
37 | <div class="textblock"><p>Like most libraries that mainly fill data structures, hwloc is not thread safe but rather reentrant: all state is held in a <a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> instance without mutex protection. That means, for example, that two threads can safely operate on and modify two different <a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> instances, but they should not simultaneously invoke functions that modify the <em>same</em> instance. Similarly, one thread should not modify a <a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> instance while another thread is reading or traversing it. However, two threads can safely read or traverse the same <a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> instance concurrently.</p> | |
27 | 38 | <p>When running in multiprocessor environments, be aware that proper thread synchronization and/or memory coherency protection is needed to pass hwloc data (such as <a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> pointers) from one processor to another (e.g., a mutex, semaphore, or a memory barrier). Note that this is not a hwloc-specific requirement, but it is worth mentioning.</p> |
28 | 39 | <p>For reference, <a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> modification operations include (but may not be limited to):</p> |
29 | 40 | <dl> |
43 | 54 | <p class="enddd"></p> |
44 | 55 | </dd> |
45 | 56 | </dl> |
46 | </div> | |
47 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
57 | </div></div> | |
58 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
48 | 59 | <a href="http://www.doxygen.org/index.html"> |
49 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
60 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
50 | 61 | </body> |
51 | 62 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li class="current"><a href="pages.html"><span>Related Pages</span></a></li> |
23 | 34 | <h1>Embedding hwloc in Other Software </h1> </div> |
24 | 35 | </div> |
25 | 36 | <div class="contents"> |
26 | <p>It can be desirable to include hwloc in a larger software package (be sure to check out the LICENSE file) so that users don't have to separately download and install it before installing your software. This can be advantageous to ensure that your software uses a known-tested/good version of hwloc, or for use on systems that do not have hwloc pre-installed.</p> | |
37 | <div class="textblock"><p>It can be desirable to include hwloc in a larger software package (be sure to check out the LICENSE file) so that users don't have to separately download and install it before installing your software. This can be advantageous to ensure that your software uses a known-tested/good version of hwloc, or for use on systems that do not have hwloc pre-installed.</p> | |
27 | 38 | <p>When used in "embedded" mode, hwloc will:</p> |
28 | 39 | <ul> |
29 | 40 | <li>not install any header files</li> |
86 | 97 | 1. Add #include <hwloc.h> |
87 | 98 | 2. Add calls to sandbox_hwloc_init() and other hwloc API functions |
88 | 99 | </pre></div><p>Now you can bootstrap, configure, build, and run the sandbox as normal -- all calls to "sandbox_hwloc_*" will use the embedded hwloc rather than any system-provided copy of hwloc. </p> |
89 | </div> | |
90 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
100 | </div></div> | |
101 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
91 | 102 | <a href="http://www.doxygen.org/index.html"> |
92 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
103 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
93 | 104 | </body> |
94 | 105 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li class="current"><a href="pages.html"><span>Related Pages</span></a></li> |
23 | 34 | <h1>Switching from PLPA to hwloc </h1> </div> |
24 | 35 | </div> |
25 | 36 | <div class="contents"> |
26 | <p>Although PLPA and hwloc share some of the same ideas, their programming interfaces are quite different. After much debate, it was decided <em>not</em> to emulate the PLPA API with hwloc's API because hwloc's API is already far more rich than PLPA's.</p> | |
37 | <div class="textblock"><p>Although PLPA and hwloc share some of the same ideas, their programming interfaces are quite different. After much debate, it was decided <em>not</em> to emulate the PLPA API with hwloc's API because hwloc's API is already far more rich than PLPA's.</p> | |
27 | 38 | <p>More specifically, exploiting modern computing architecture <em>requires</em> the flexible functionality provided by the hwloc API -- the PLPA API is too rigid in its definitions and practices to handle the evolving server hardware landscape (e.g., PLPA only understands cores and sockets; hwloc understands a much larger set of hardware objects).</p> |
28 | 39 | <p>As such, even though it is fully possible to emulate the PLPA API with hwloc (e.g., only deal with sockets and cores), and while the documentation below describes how to do this, we encourage any existing PLPA application authors to actually re-think their application in terms of more than just sockets and cores. In short, we encourage you to use the full hwloc API to exploit <em>all</em> the hardware.</p> |
29 | 40 | <h2><a class="anchor" id="switchfromplpa_caching"></a> |
46 | 57 | Counting Specification</h2> |
47 | 58 | <p>PLPA offers a countspec parameter to specify whether counting all CPUs, only the online ones or only the offline ones. However, some operating systems do not expose the topology of offline CPUs (i.e., offline CPUs are not reported at all by the OS). Also, some processors may not be visible to the current application due to administrative restrictions. Finally, some processors let you shutdown a single hardware thread in a core, making some of the PLPA features irrelevant.</p> |
48 | 59 | <p>hwloc stores in the hierarchical tree of objects all CPUs that have known topology information. It then provides the applications with several cpusets that contain the list of CPUs that are actually known, that have topology information, that are online, or that are available to the application. These cpusets may be retrieved with <a class="el" href="a00053.html#gad00abc77f1670049a5b2139471d0c8db" title="Get online CPU set.">hwloc_topology_get_online_cpuset()</a> and other similar functions to filter the object that are relevant or not. </p> |
49 | </div> | |
50 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
60 | </div></div> | |
61 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
51 | 62 | <a href="http://www.doxygen.org/index.html"> |
52 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
63 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
53 | 64 | </body> |
54 | 65 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li class="current"><a href="pages.html"><span>Related Pages</span></a></li> |
23 | 34 | <h1>Frequently Asked Questions </h1> </div> |
24 | 35 | </div> |
25 | 36 | <div class="contents"> |
26 | <h2><a class="anchor" id="faq_xml"></a> | |
37 | <div class="textblock"><h2><a class="anchor" id="faq_xml"></a> | |
27 | 38 | I do not want hwloc to rediscover my enormous machine topology every time I rerun a process</h2> |
28 | 39 | <p>Although the topology discovery is not expensive on common machines, its overhead may become significant when multiple processes repeat the discovery on large machines (for instance when starting one process per core in a parallel application). The machine topology usually does not vary much, except if some cores are stopped/restarted or if the administrator restrictions are modified. Thus rediscovering the whole topology again and again may look useless.</p> |
29 | 40 | <p>For this purpose, hwloc offers XML import/export features. It lets you save the discovered topology to a file (for instance with the lstopo program) and reload it later by setting the HWLOC_XMLFILE environment variable. Loading a XML topology is usually much faster than querying multiple files or calling multiple functions of the operating system. It is also possible to manipulate such XML files with the C programming interface, and the import/export may also be directed to memory buffer (that may for instance be transmitted between applications through a socket).</p> |
44 | 55 | #endif |
45 | 56 | </pre></div><p>Similarly, the hwloc 1.0 interface may be detected by comparing <code>HWLOC_API_VERSION</code> with <code>0x00010000</code>.</p> |
46 | 57 | <p>hwloc 0.9 did not define any <code>HWLOC_API_VERSION</code> but this very old release probably does not deserve support from your application anymore. </p> |
47 | </div> | |
48 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
58 | </div></div> | |
59 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
49 | 60 | <a href="http://www.doxygen.org/index.html"> |
50 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
61 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
51 | 62 | </body> |
52 | 63 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
17 | 28 | <li><a href="files.html"><span>Files</span></a></li> |
18 | 29 | </ul> |
19 | 30 | </div> |
20 | <div class="tabs2"> | |
31 | <div id="navrow2" class="tabs2"> | |
21 | 32 | <ul class="tablist"> |
22 | 33 | <li><a href="annotated.html"><span>Data Structures</span></a></li> |
23 | 34 | <li><a href="functions.html"><span>Data Fields</span></a></li> |
24 | 35 | </ul> |
25 | 36 | </div> |
26 | <div class="navpath"> | |
37 | <div id="nav-path" class="navpath"> | |
27 | 38 | <ul> |
28 | <li><a class="el" href="a00013.html">hwloc_obj_attr_u</a> </li> | |
29 | <li><a class="el" href="a00010.html">hwloc_cache_attr_s</a> </li> | |
39 | <li class="navelem"><a class="el" href="a00013.html">hwloc_obj_attr_u</a> </li> | |
40 | <li class="navelem"><a class="el" href="a00010.html">hwloc_cache_attr_s</a> </li> | |
30 | 41 | </ul> |
31 | 42 | </div> |
32 | 43 | </div> |
45 | 56 | <table class="memberdecls"> |
46 | 57 | <tr><td colspan="2"><h2><a name="pub-attribs"></a> |
47 | 58 | Data Fields</h2></td></tr> |
48 | <tr><td class="memItemLeft" align="right" valign="top">uint64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html#a3c68235220554308f89768f281ad1e62">size</a></td></tr> | |
59 | <tr><td class="memItemLeft" align="right" valign="top">hwloc_uint64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html#abe5e788943ed04302976740c829674c0">size</a></td></tr> | |
49 | 60 | <tr><td class="memItemLeft" align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html#a5c8f7f39193736c2187ed626940835d5">depth</a></td></tr> |
50 | 61 | <tr><td class="memItemLeft" align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00010.html#a801e8a668e28caf06c8b88e9ae5c10db">linesize</a></td></tr> |
51 | 62 | </table> |
52 | 63 | <hr/><a name="_details"></a><h2>Detailed Description</h2> |
53 | <p>Cache-specific Object Attributes. </p> | |
54 | <hr/><h2>Field Documentation</h2> | |
64 | <div class="textblock"><p>Cache-specific Object Attributes. </p> | |
65 | </div><hr/><h2>Field Documentation</h2> | |
55 | 66 | <a class="anchor" id="a5c8f7f39193736c2187ed626940835d5"></a><!-- doxytag: member="hwloc_obj_attr_u::hwloc_cache_attr_s::depth" ref="a5c8f7f39193736c2187ed626940835d5" args="" --> |
56 | 67 | <div class="memitem"> |
57 | 68 | <div class="memproto"> |
82 | 93 | |
83 | 94 | </div> |
84 | 95 | </div> |
85 | <a class="anchor" id="a3c68235220554308f89768f281ad1e62"></a><!-- doxytag: member="hwloc_obj_attr_u::hwloc_cache_attr_s::size" ref="a3c68235220554308f89768f281ad1e62" args="" --> | |
96 | <a class="anchor" id="abe5e788943ed04302976740c829674c0"></a><!-- doxytag: member="hwloc_obj_attr_u::hwloc_cache_attr_s::size" ref="abe5e788943ed04302976740c829674c0" args="" --> | |
86 | 97 | <div class="memitem"> |
87 | 98 | <div class="memproto"> |
88 | 99 | <table class="memname"> |
89 | 100 | <tr> |
90 | <td class="memname">uint64_t <a class="el" href="a00010.html#a3c68235220554308f89768f281ad1e62">hwloc_obj_attr_u::hwloc_cache_attr_s::size</a></td> | |
101 | <td class="memname">hwloc_uint64_t <a class="el" href="a00010.html#abe5e788943ed04302976740c829674c0">hwloc_obj_attr_u::hwloc_cache_attr_s::size</a></td> | |
91 | 102 | </tr> |
92 | 103 | </table> |
93 | 104 | </div> |
101 | 112 | <li><a class="el" href="a00027_source.html">hwloc.h</a></li> |
102 | 113 | </ul> |
103 | 114 | </div> |
104 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
115 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
105 | 116 | <a href="http://www.doxygen.org/index.html"> |
106 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
117 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
107 | 118 | </body> |
108 | 119 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
17 | 28 | <li><a href="files.html"><span>Files</span></a></li> |
18 | 29 | </ul> |
19 | 30 | </div> |
20 | <div class="tabs2"> | |
31 | <div id="navrow2" class="tabs2"> | |
21 | 32 | <ul class="tablist"> |
22 | 33 | <li><a href="annotated.html"><span>Data Structures</span></a></li> |
23 | 34 | <li><a href="functions.html"><span>Data Fields</span></a></li> |
24 | 35 | </ul> |
25 | 36 | </div> |
26 | <div class="navpath"> | |
37 | <div id="nav-path" class="navpath"> | |
27 | 38 | <ul> |
28 | <li><a class="el" href="a00013.html">hwloc_obj_attr_u</a> </li> | |
29 | <li><a class="el" href="a00011.html">hwloc_group_attr_s</a> </li> | |
39 | <li class="navelem"><a class="el" href="a00013.html">hwloc_obj_attr_u</a> </li> | |
40 | <li class="navelem"><a class="el" href="a00011.html">hwloc_group_attr_s</a> </li> | |
30 | 41 | </ul> |
31 | 42 | </div> |
32 | 43 | </div> |
48 | 59 | <tr><td class="memItemLeft" align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00011.html#ad914eac61c77481e1b7037877bcc5579">depth</a></td></tr> |
49 | 60 | </table> |
50 | 61 | <hr/><a name="_details"></a><h2>Detailed Description</h2> |
51 | <p>Group-specific Object Attributes. </p> | |
52 | <hr/><h2>Field Documentation</h2> | |
62 | <div class="textblock"><p>Group-specific Object Attributes. </p> | |
63 | </div><hr/><h2>Field Documentation</h2> | |
53 | 64 | <a class="anchor" id="ad914eac61c77481e1b7037877bcc5579"></a><!-- doxytag: member="hwloc_obj_attr_u::hwloc_group_attr_s::depth" ref="ad914eac61c77481e1b7037877bcc5579" args="" --> |
54 | 65 | <div class="memitem"> |
55 | 66 | <div class="memproto"> |
69 | 80 | <li><a class="el" href="a00027_source.html">hwloc.h</a></li> |
70 | 81 | </ul> |
71 | 82 | </div> |
72 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
83 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
73 | 84 | <a href="http://www.doxygen.org/index.html"> |
74 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
85 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
75 | 86 | </body> |
76 | 87 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
17 | 28 | <li><a href="files.html"><span>Files</span></a></li> |
18 | 29 | </ul> |
19 | 30 | </div> |
20 | <div class="tabs2"> | |
31 | <div id="navrow2" class="tabs2"> | |
21 | 32 | <ul class="tablist"> |
22 | 33 | <li><a href="annotated.html"><span>Data Structures</span></a></li> |
23 | 34 | <li><a href="functions.html"><span>Data Fields</span></a></li> |
28 | 39 | <div class="summary"> |
29 | 40 | <a href="#pub-attribs">Data Fields</a> </div> |
30 | 41 | <div class="headertitle"> |
31 | <h1>hwloc_obj Struct Reference<br/> | |
32 | <small> | |
33 | [<a class="el" href="a00036.html">Topology Objects</a>]</small> | |
34 | </h1> </div> | |
42 | <h1>hwloc_obj Struct Reference<div class="ingroups"><a class="el" href="a00036.html">Topology Objects</a></div></h1> </div> | |
35 | 43 | </div> |
36 | 44 | <div class="contents"> |
37 | 45 | <!-- doxytag: class="hwloc_obj" --> |
72 | 80 | <tr><td class="memItemLeft" align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00012.html#a9843acc28cfbba903b63ea14b137ff70">infos_count</a></td></tr> |
73 | 81 | </table> |
74 | 82 | <hr/><a name="_details"></a><h2>Detailed Description</h2> |
75 | <p>Structure of a topology object. </p> | |
83 | <div class="textblock"><p>Structure of a topology object. </p> | |
76 | 84 | <p>Applications must not modify any field except <a class="el" href="a00012.html#a76fd3ac94401cf32dfccc3a3a8de68a5" title="Application-given private data pointer, initialized to NULL, use it as you wish.">hwloc_obj.userdata</a>. </p> |
77 | <hr/><h2>Field Documentation</h2> | |
85 | </div><hr/><h2>Field Documentation</h2> | |
78 | 86 | <a class="anchor" id="afa3c59a6dd3da8ffa48710780a1bfb34"></a><!-- doxytag: member="hwloc_obj::allowed_cpuset" ref="afa3c59a6dd3da8ffa48710780a1bfb34" args="" --> |
79 | 87 | <div class="memitem"> |
80 | 88 | <div class="memproto"> |
519 | 527 | <li><a class="el" href="a00027_source.html">hwloc.h</a></li> |
520 | 528 | </ul> |
521 | 529 | </div> |
522 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
530 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
523 | 531 | <a href="http://www.doxygen.org/index.html"> |
524 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
532 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
525 | 533 | </body> |
526 | 534 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
17 | 28 | <li><a href="files.html"><span>Files</span></a></li> |
18 | 29 | </ul> |
19 | 30 | </div> |
20 | <div class="tabs2"> | |
31 | <div id="navrow2" class="tabs2"> | |
21 | 32 | <ul class="tablist"> |
22 | 33 | <li><a href="annotated.html"><span>Data Structures</span></a></li> |
23 | 34 | <li><a href="functions.html"><span>Data Fields</span></a></li> |
29 | 40 | <a href="#nested-classes">Data Structures</a> | |
30 | 41 | <a href="#pub-attribs">Data Fields</a> </div> |
31 | 42 | <div class="headertitle"> |
32 | <h1>hwloc_obj_attr_u Union Reference<br/> | |
33 | <small> | |
34 | [<a class="el" href="a00036.html">Topology Objects</a>]</small> | |
35 | </h1> </div> | |
43 | <h1>hwloc_obj_attr_u Union Reference<div class="ingroups"><a class="el" href="a00036.html">Topology Objects</a></div></h1> </div> | |
36 | 44 | </div> |
37 | 45 | <div class="contents"> |
38 | 46 | <!-- doxytag: class="hwloc_obj_attr_u" --> |
55 | 63 | <a class="el" href="a00011.html">hwloc_obj_attr_u::hwloc_group_attr_s</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00013.html#ae4ba157cc313e2cdd9a82f1c1df7aaa6">group</a></td></tr> |
56 | 64 | </table> |
57 | 65 | <hr/><a name="_details"></a><h2>Detailed Description</h2> |
58 | <p>Object type-specific Attributes. </p> | |
59 | <hr/><h2>Field Documentation</h2> | |
66 | <div class="textblock"><p>Object type-specific Attributes. </p> | |
67 | </div><hr/><h2>Field Documentation</h2> | |
60 | 68 | <a class="anchor" id="ab5a8ae3bf490e6b1071fea53f7382836"></a><!-- doxytag: member="hwloc_obj_attr_u::cache" ref="ab5a8ae3bf490e6b1071fea53f7382836" args="" --> |
61 | 69 | <div class="memitem"> |
62 | 70 | <div class="memproto"> |
87 | 95 | <li><a class="el" href="a00027_source.html">hwloc.h</a></li> |
88 | 96 | </ul> |
89 | 97 | </div> |
90 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
98 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
91 | 99 | <a href="http://www.doxygen.org/index.html"> |
92 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
100 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
93 | 101 | </body> |
94 | 102 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
17 | 28 | <li><a href="files.html"><span>Files</span></a></li> |
18 | 29 | </ul> |
19 | 30 | </div> |
20 | <div class="tabs2"> | |
31 | <div id="navrow2" class="tabs2"> | |
21 | 32 | <ul class="tablist"> |
22 | 33 | <li><a href="annotated.html"><span>Data Structures</span></a></li> |
23 | 34 | <li><a href="functions.html"><span>Data Fields</span></a></li> |
28 | 39 | <div class="summary"> |
29 | 40 | <a href="#pub-attribs">Data Fields</a> </div> |
30 | 41 | <div class="headertitle"> |
31 | <h1>hwloc_obj_info_s Struct Reference<br/> | |
32 | <small> | |
33 | [<a class="el" href="a00036.html">Topology Objects</a>]</small> | |
34 | </h1> </div> | |
42 | <h1>hwloc_obj_info_s Struct Reference<div class="ingroups"><a class="el" href="a00036.html">Topology Objects</a></div></h1> </div> | |
35 | 43 | </div> |
36 | 44 | <div class="contents"> |
37 | 45 | <!-- doxytag: class="hwloc_obj_info_s" --> |
46 | 54 | <tr><td class="memItemLeft" align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00014.html#a522efd7f5262a4493a73fa3476a041ce">value</a></td></tr> |
47 | 55 | </table> |
48 | 56 | <hr/><a name="_details"></a><h2>Detailed Description</h2> |
49 | <p>Object info. </p> | |
50 | <hr/><h2>Field Documentation</h2> | |
57 | <div class="textblock"><p>Object info. </p> | |
58 | </div><hr/><h2>Field Documentation</h2> | |
51 | 59 | <a class="anchor" id="a115dde58f40338a2d3276d59c099857d"></a><!-- doxytag: member="hwloc_obj_info_s::name" ref="a115dde58f40338a2d3276d59c099857d" args="" --> |
52 | 60 | <div class="memitem"> |
53 | 61 | <div class="memproto"> |
82 | 90 | <li><a class="el" href="a00027_source.html">hwloc.h</a></li> |
83 | 91 | </ul> |
84 | 92 | </div> |
85 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
93 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
86 | 94 | <a href="http://www.doxygen.org/index.html"> |
87 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
95 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
88 | 96 | </body> |
89 | 97 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
17 | 28 | <li><a href="files.html"><span>Files</span></a></li> |
18 | 29 | </ul> |
19 | 30 | </div> |
20 | <div class="tabs2"> | |
31 | <div id="navrow2" class="tabs2"> | |
21 | 32 | <ul class="tablist"> |
22 | 33 | <li><a href="annotated.html"><span>Data Structures</span></a></li> |
23 | 34 | <li><a href="functions.html"><span>Data Fields</span></a></li> |
24 | 35 | </ul> |
25 | 36 | </div> |
26 | <div class="navpath"> | |
37 | <div id="nav-path" class="navpath"> | |
27 | 38 | <ul> |
28 | <li><a class="el" href="a00016.html">hwloc_obj_memory_s</a> </li> | |
29 | <li><a class="el" href="a00015.html">hwloc_obj_memory_page_type_s</a> </li> | |
39 | <li class="navelem"><a class="el" href="a00016.html">hwloc_obj_memory_s</a> </li> | |
40 | <li class="navelem"><a class="el" href="a00015.html">hwloc_obj_memory_page_type_s</a> </li> | |
30 | 41 | </ul> |
31 | 42 | </div> |
32 | 43 | </div> |
45 | 56 | <table class="memberdecls"> |
46 | 57 | <tr><td colspan="2"><h2><a name="pub-attribs"></a> |
47 | 58 | Data Fields</h2></td></tr> |
48 | <tr><td class="memItemLeft" align="right" valign="top">uint64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="a00015.html#af0619463fb5d10052b7fe3495a66d74b">size</a></td></tr> | |
49 | <tr><td class="memItemLeft" align="right" valign="top">uint64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="a00015.html#ab5d01db7b26177a6b5361107cad152c3">count</a></td></tr> | |
59 | <tr><td class="memItemLeft" align="right" valign="top">hwloc_uint64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="a00015.html#a3f1d261766352288791512974665ce01">size</a></td></tr> | |
60 | <tr><td class="memItemLeft" align="right" valign="top">hwloc_uint64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="a00015.html#aa5b9fa36f1dc47ff3c345fe4dd06b260">count</a></td></tr> | |
50 | 61 | </table> |
51 | 62 | <hr/><a name="_details"></a><h2>Detailed Description</h2> |
52 | <p>Array of local memory page types, <code>NULL</code> if no local memory and <code>page_types</code> is 0. </p> | |
63 | <div class="textblock"><p>Array of local memory page types, <code>NULL</code> if no local memory and <code>page_types</code> is 0. </p> | |
53 | 64 | <p>The array is sorted by increasing <code>size</code> fields. It contains <code>page_types_len</code> slots. </p> |
54 | <hr/><h2>Field Documentation</h2> | |
55 | <a class="anchor" id="ab5d01db7b26177a6b5361107cad152c3"></a><!-- doxytag: member="hwloc_obj_memory_s::hwloc_obj_memory_page_type_s::count" ref="ab5d01db7b26177a6b5361107cad152c3" args="" --> | |
65 | </div><hr/><h2>Field Documentation</h2> | |
66 | <a class="anchor" id="aa5b9fa36f1dc47ff3c345fe4dd06b260"></a><!-- doxytag: member="hwloc_obj_memory_s::hwloc_obj_memory_page_type_s::count" ref="aa5b9fa36f1dc47ff3c345fe4dd06b260" args="" --> | |
56 | 67 | <div class="memitem"> |
57 | 68 | <div class="memproto"> |
58 | 69 | <table class="memname"> |
59 | 70 | <tr> |
60 | <td class="memname">uint64_t <a class="el" href="a00015.html#ab5d01db7b26177a6b5361107cad152c3">hwloc_obj_memory_s::hwloc_obj_memory_page_type_s::count</a></td> | |
71 | <td class="memname">hwloc_uint64_t <a class="el" href="a00015.html#aa5b9fa36f1dc47ff3c345fe4dd06b260">hwloc_obj_memory_s::hwloc_obj_memory_page_type_s::count</a></td> | |
61 | 72 | </tr> |
62 | 73 | </table> |
63 | 74 | </div> |
67 | 78 | |
68 | 79 | </div> |
69 | 80 | </div> |
70 | <a class="anchor" id="af0619463fb5d10052b7fe3495a66d74b"></a><!-- doxytag: member="hwloc_obj_memory_s::hwloc_obj_memory_page_type_s::size" ref="af0619463fb5d10052b7fe3495a66d74b" args="" --> | |
81 | <a class="anchor" id="a3f1d261766352288791512974665ce01"></a><!-- doxytag: member="hwloc_obj_memory_s::hwloc_obj_memory_page_type_s::size" ref="a3f1d261766352288791512974665ce01" args="" --> | |
71 | 82 | <div class="memitem"> |
72 | 83 | <div class="memproto"> |
73 | 84 | <table class="memname"> |
74 | 85 | <tr> |
75 | <td class="memname">uint64_t <a class="el" href="a00015.html#af0619463fb5d10052b7fe3495a66d74b">hwloc_obj_memory_s::hwloc_obj_memory_page_type_s::size</a></td> | |
86 | <td class="memname">hwloc_uint64_t <a class="el" href="a00015.html#a3f1d261766352288791512974665ce01">hwloc_obj_memory_s::hwloc_obj_memory_page_type_s::size</a></td> | |
76 | 87 | </tr> |
77 | 88 | </table> |
78 | 89 | </div> |
86 | 97 | <li><a class="el" href="a00027_source.html">hwloc.h</a></li> |
87 | 98 | </ul> |
88 | 99 | </div> |
89 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
100 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
90 | 101 | <a href="http://www.doxygen.org/index.html"> |
91 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
102 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
92 | 103 | </body> |
93 | 104 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
17 | 28 | <li><a href="files.html"><span>Files</span></a></li> |
18 | 29 | </ul> |
19 | 30 | </div> |
20 | <div class="tabs2"> | |
31 | <div id="navrow2" class="tabs2"> | |
21 | 32 | <ul class="tablist"> |
22 | 33 | <li><a href="annotated.html"><span>Data Structures</span></a></li> |
23 | 34 | <li><a href="functions.html"><span>Data Fields</span></a></li> |
29 | 40 | <a href="#nested-classes">Data Structures</a> | |
30 | 41 | <a href="#pub-attribs">Data Fields</a> </div> |
31 | 42 | <div class="headertitle"> |
32 | <h1>hwloc_obj_memory_s Struct Reference<br/> | |
33 | <small> | |
34 | [<a class="el" href="a00036.html">Topology Objects</a>]</small> | |
35 | </h1> </div> | |
43 | <h1>hwloc_obj_memory_s Struct Reference<div class="ingroups"><a class="el" href="a00036.html">Topology Objects</a></div></h1> </div> | |
36 | 44 | </div> |
37 | 45 | <div class="contents"> |
38 | 46 | <!-- doxytag: class="hwloc_obj_memory_s" --> |
47 | 55 | <tr><td class="mdescLeft"> </td><td class="mdescRight">Array of local memory page types, <code>NULL</code> if no local memory and <code>page_types</code> is 0. <a href="a00015.html#_details">More...</a><br/></td></tr> |
48 | 56 | <tr><td colspan="2"><h2><a name="pub-attribs"></a> |
49 | 57 | Data Fields</h2></td></tr> |
50 | <tr><td class="memItemLeft" align="right" valign="top">uint64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="a00016.html#a68c3323d2d0a248d1b7fec7af44bebe3">total_memory</a></td></tr> | |
51 | <tr><td class="memItemLeft" align="right" valign="top">uint64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="a00016.html#a27043a3150660f44ed84916c2d0d7e0e">local_memory</a></td></tr> | |
58 | <tr><td class="memItemLeft" align="right" valign="top">hwloc_uint64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="a00016.html#a8befd0b3f4f8b695cafed04b31f36a44">total_memory</a></td></tr> | |
59 | <tr><td class="memItemLeft" align="right" valign="top">hwloc_uint64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="a00016.html#aace044c7f3fd9dffe50202296bf1dc5a">local_memory</a></td></tr> | |
52 | 60 | <tr><td class="memItemLeft" align="right" valign="top">unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00016.html#a208c27f4491077d7fb9ba5db8b29cb57">page_types_len</a></td></tr> |
53 | 61 | <tr><td class="memItemLeft" align="right" valign="top">struct <br class="typebreak"/> |
54 | 62 | <a class="el" href="a00015.html">hwloc_obj_memory_s::hwloc_obj_memory_page_type_s</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00016.html#a865eba7b12b986d72dbe7a2cfd97c50d">page_types</a></td></tr> |
55 | 63 | </table> |
56 | 64 | <hr/><a name="_details"></a><h2>Detailed Description</h2> |
57 | <p>Object memory. </p> | |
58 | <hr/><h2>Field Documentation</h2> | |
59 | <a class="anchor" id="a27043a3150660f44ed84916c2d0d7e0e"></a><!-- doxytag: member="hwloc_obj_memory_s::local_memory" ref="a27043a3150660f44ed84916c2d0d7e0e" args="" --> | |
65 | <div class="textblock"><p>Object memory. </p> | |
66 | </div><hr/><h2>Field Documentation</h2> | |
67 | <a class="anchor" id="aace044c7f3fd9dffe50202296bf1dc5a"></a><!-- doxytag: member="hwloc_obj_memory_s::local_memory" ref="aace044c7f3fd9dffe50202296bf1dc5a" args="" --> | |
60 | 68 | <div class="memitem"> |
61 | 69 | <div class="memproto"> |
62 | 70 | <table class="memname"> |
63 | 71 | <tr> |
64 | <td class="memname">uint64_t <a class="el" href="a00016.html#a27043a3150660f44ed84916c2d0d7e0e">hwloc_obj_memory_s::local_memory</a></td> | |
72 | <td class="memname">hwloc_uint64_t <a class="el" href="a00016.html#aace044c7f3fd9dffe50202296bf1dc5a">hwloc_obj_memory_s::local_memory</a></td> | |
65 | 73 | </tr> |
66 | 74 | </table> |
67 | 75 | </div> |
99 | 107 | |
100 | 108 | </div> |
101 | 109 | </div> |
102 | <a class="anchor" id="a68c3323d2d0a248d1b7fec7af44bebe3"></a><!-- doxytag: member="hwloc_obj_memory_s::total_memory" ref="a68c3323d2d0a248d1b7fec7af44bebe3" args="" --> | |
110 | <a class="anchor" id="a8befd0b3f4f8b695cafed04b31f36a44"></a><!-- doxytag: member="hwloc_obj_memory_s::total_memory" ref="a8befd0b3f4f8b695cafed04b31f36a44" args="" --> | |
103 | 111 | <div class="memitem"> |
104 | 112 | <div class="memproto"> |
105 | 113 | <table class="memname"> |
106 | 114 | <tr> |
107 | <td class="memname">uint64_t <a class="el" href="a00016.html#a68c3323d2d0a248d1b7fec7af44bebe3">hwloc_obj_memory_s::total_memory</a></td> | |
115 | <td class="memname">hwloc_uint64_t <a class="el" href="a00016.html#a8befd0b3f4f8b695cafed04b31f36a44">hwloc_obj_memory_s::total_memory</a></td> | |
108 | 116 | </tr> |
109 | 117 | </table> |
110 | 118 | </div> |
118 | 126 | <li><a class="el" href="a00027_source.html">hwloc.h</a></li> |
119 | 127 | </ul> |
120 | 128 | </div> |
121 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
129 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
122 | 130 | <a href="http://www.doxygen.org/index.html"> |
123 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
131 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
124 | 132 | </body> |
125 | 133 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
17 | 28 | <li><a href="files.html"><span>Files</span></a></li> |
18 | 29 | </ul> |
19 | 30 | </div> |
20 | <div class="tabs2"> | |
31 | <div id="navrow2" class="tabs2"> | |
21 | 32 | <ul class="tablist"> |
22 | 33 | <li><a href="annotated.html"><span>Data Structures</span></a></li> |
23 | 34 | <li><a href="functions.html"><span>Data Fields</span></a></li> |
28 | 39 | <div class="summary"> |
29 | 40 | <a href="#pub-attribs">Data Fields</a> </div> |
30 | 41 | <div class="headertitle"> |
31 | <h1>hwloc_topology_cpubind_support Struct Reference<br/> | |
32 | <small> | |
33 | [<a class="el" href="a00038.html">Configure Topology Detection</a>]</small> | |
34 | </h1> </div> | |
42 | <h1>hwloc_topology_cpubind_support Struct Reference<div class="ingroups"><a class="el" href="a00038.html">Configure Topology Detection</a></div></h1> </div> | |
35 | 43 | </div> |
36 | 44 | <div class="contents"> |
37 | 45 | <!-- doxytag: class="hwloc_topology_cpubind_support" --> |
52 | 60 | <tr><td class="memItemLeft" align="right" valign="top">unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00017.html#a8dd4d8531ed2eebdce1507e7d104154e">get_thread_cpubind</a></td></tr> |
53 | 61 | </table> |
54 | 62 | <hr/><a name="_details"></a><h2>Detailed Description</h2> |
55 | <p>Flags describing actual PU binding support for this topology. </p> | |
56 | <hr/><h2>Field Documentation</h2> | |
63 | <div class="textblock"><p>Flags describing actual PU binding support for this topology. </p> | |
64 | </div><hr/><h2>Field Documentation</h2> | |
57 | 65 | <a class="anchor" id="aae705bc447adc163ead377362c4dfe9f"></a><!-- doxytag: member="hwloc_topology_cpubind_support::get_proc_cpubind" ref="aae705bc447adc163ead377362c4dfe9f" args="" --> |
58 | 66 | <div class="memitem"> |
59 | 67 | <div class="memproto"> |
170 | 178 | <li><a class="el" href="a00027_source.html">hwloc.h</a></li> |
171 | 179 | </ul> |
172 | 180 | </div> |
173 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
181 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
174 | 182 | <a href="http://www.doxygen.org/index.html"> |
175 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
183 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
176 | 184 | </body> |
177 | 185 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
17 | 28 | <li><a href="files.html"><span>Files</span></a></li> |
18 | 29 | </ul> |
19 | 30 | </div> |
20 | <div class="tabs2"> | |
31 | <div id="navrow2" class="tabs2"> | |
21 | 32 | <ul class="tablist"> |
22 | 33 | <li><a href="annotated.html"><span>Data Structures</span></a></li> |
23 | 34 | <li><a href="functions.html"><span>Data Fields</span></a></li> |
28 | 39 | <div class="summary"> |
29 | 40 | <a href="#pub-attribs">Data Fields</a> </div> |
30 | 41 | <div class="headertitle"> |
31 | <h1>hwloc_topology_discovery_support Struct Reference<br/> | |
32 | <small> | |
33 | [<a class="el" href="a00038.html">Configure Topology Detection</a>]</small> | |
34 | </h1> </div> | |
42 | <h1>hwloc_topology_discovery_support Struct Reference<div class="ingroups"><a class="el" href="a00038.html">Configure Topology Detection</a></div></h1> </div> | |
35 | 43 | </div> |
36 | 44 | <div class="contents"> |
37 | 45 | <!-- doxytag: class="hwloc_topology_discovery_support" --> |
45 | 53 | <tr><td class="memItemLeft" align="right" valign="top">unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00018.html#ad7bb4ecf7a82f5a04fc632e9592ad3ab">pu</a></td></tr> |
46 | 54 | </table> |
47 | 55 | <hr/><a name="_details"></a><h2>Detailed Description</h2> |
48 | <p>Flags describing actual discovery support for this topology. </p> | |
49 | <hr/><h2>Field Documentation</h2> | |
56 | <div class="textblock"><p>Flags describing actual discovery support for this topology. </p> | |
57 | </div><hr/><h2>Field Documentation</h2> | |
50 | 58 | <a class="anchor" id="ad7bb4ecf7a82f5a04fc632e9592ad3ab"></a><!-- doxytag: member="hwloc_topology_discovery_support::pu" ref="ad7bb4ecf7a82f5a04fc632e9592ad3ab" args="" --> |
51 | 59 | <div class="memitem"> |
52 | 60 | <div class="memproto"> |
66 | 74 | <li><a class="el" href="a00027_source.html">hwloc.h</a></li> |
67 | 75 | </ul> |
68 | 76 | </div> |
69 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
77 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
70 | 78 | <a href="http://www.doxygen.org/index.html"> |
71 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
79 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
72 | 80 | </body> |
73 | 81 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
17 | 28 | <li><a href="files.html"><span>Files</span></a></li> |
18 | 29 | </ul> |
19 | 30 | </div> |
20 | <div class="tabs2"> | |
31 | <div id="navrow2" class="tabs2"> | |
21 | 32 | <ul class="tablist"> |
22 | 33 | <li><a href="annotated.html"><span>Data Structures</span></a></li> |
23 | 34 | <li><a href="functions.html"><span>Data Fields</span></a></li> |
28 | 39 | <div class="summary"> |
29 | 40 | <a href="#pub-attribs">Data Fields</a> </div> |
30 | 41 | <div class="headertitle"> |
31 | <h1>hwloc_topology_membind_support Struct Reference<br/> | |
32 | <small> | |
33 | [<a class="el" href="a00038.html">Configure Topology Detection</a>]</small> | |
34 | </h1> </div> | |
42 | <h1>hwloc_topology_membind_support Struct Reference<div class="ingroups"><a class="el" href="a00038.html">Configure Topology Detection</a></div></h1> </div> | |
35 | 43 | </div> |
36 | 44 | <div class="contents"> |
37 | 45 | <!-- doxytag: class="hwloc_topology_membind_support" --> |
59 | 67 | <tr><td class="memItemLeft" align="right" valign="top">unsigned char </td><td class="memItemRight" valign="bottom"><a class="el" href="a00019.html#aafa7683871a6a760246f9b35209caec5">migrate_membind</a></td></tr> |
60 | 68 | </table> |
61 | 69 | <hr/><a name="_details"></a><h2>Detailed Description</h2> |
62 | <p>Flags describing actual memory binding support for this topology. </p> | |
63 | <hr/><h2>Field Documentation</h2> | |
70 | <div class="textblock"><p>Flags describing actual memory binding support for this topology. </p> | |
71 | </div><hr/><h2>Field Documentation</h2> | |
64 | 72 | <a class="anchor" id="ae551abb27d2aa9ce008583488b845b98"></a><!-- doxytag: member="hwloc_topology_membind_support::alloc_membind" ref="ae551abb27d2aa9ce008583488b845b98" args="" --> |
65 | 73 | <div class="memitem"> |
66 | 74 | <div class="memproto"> |
275 | 283 | <li><a class="el" href="a00027_source.html">hwloc.h</a></li> |
276 | 284 | </ul> |
277 | 285 | </div> |
278 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
286 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
279 | 287 | <a href="http://www.doxygen.org/index.html"> |
280 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
288 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
281 | 289 | </body> |
282 | 290 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
17 | 28 | <li><a href="files.html"><span>Files</span></a></li> |
18 | 29 | </ul> |
19 | 30 | </div> |
20 | <div class="tabs2"> | |
31 | <div id="navrow2" class="tabs2"> | |
21 | 32 | <ul class="tablist"> |
22 | 33 | <li><a href="annotated.html"><span>Data Structures</span></a></li> |
23 | 34 | <li><a href="functions.html"><span>Data Fields</span></a></li> |
28 | 39 | <div class="summary"> |
29 | 40 | <a href="#pub-attribs">Data Fields</a> </div> |
30 | 41 | <div class="headertitle"> |
31 | <h1>hwloc_topology_support Struct Reference<br/> | |
32 | <small> | |
33 | [<a class="el" href="a00038.html">Configure Topology Detection</a>]</small> | |
34 | </h1> </div> | |
42 | <h1>hwloc_topology_support Struct Reference<div class="ingroups"><a class="el" href="a00038.html">Configure Topology Detection</a></div></h1> </div> | |
35 | 43 | </div> |
36 | 44 | <div class="contents"> |
37 | 45 | <!-- doxytag: class="hwloc_topology_support" --> |
50 | 58 | <a class="el" href="a00019.html">hwloc_topology_membind_support</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="a00020.html#ac6eb62ae8bc0a68dce679a7107a36194">membind</a></td></tr> |
51 | 59 | </table> |
52 | 60 | <hr/><a name="_details"></a><h2>Detailed Description</h2> |
53 | <p>Set of flags describing actual support for this topology. </p> | |
61 | <div class="textblock"><p>Set of flags describing actual support for this topology. </p> | |
54 | 62 | <p>This is retrieved with <a class="el" href="a00038.html#gac2126e105f3ae708efca2e90d612625a" title="Retrieve the topology support.">hwloc_topology_get_support()</a> and will be valid until the topology object is destroyed. Note: the values are correct only after discovery. </p> |
55 | <hr/><h2>Field Documentation</h2> | |
63 | </div><hr/><h2>Field Documentation</h2> | |
56 | 64 | <a class="anchor" id="adef2bb91f74c3e70a2a071393caf5f56"></a><!-- doxytag: member="hwloc_topology_support::cpubind" ref="adef2bb91f74c3e70a2a071393caf5f56" args="" --> |
57 | 65 | <div class="memitem"> |
58 | 66 | <div class="memproto"> |
96 | 104 | <li><a class="el" href="a00027_source.html">hwloc.h</a></li> |
97 | 105 | </ul> |
98 | 106 | </div> |
99 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
107 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
100 | 108 | <a href="http://www.doxygen.org/index.html"> |
101 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
109 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
102 | 110 | </body> |
103 | 111 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
17 | 28 | <li class="current"><a href="files.html"><span>Files</span></a></li> |
18 | 29 | </ul> |
19 | 30 | </div> |
20 | <div class="tabs2"> | |
31 | <div id="navrow2" class="tabs2"> | |
21 | 32 | <ul class="tablist"> |
22 | 33 | <li><a href="files.html"><span>File List</span></a></li> |
23 | 34 | </ul> |
29 | 40 | <div class="contents"> |
30 | 41 | <div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span> |
31 | 42 | <a name="l00002"></a>00002 <span class="comment"> * Copyright © 2009 CNRS</span> |
32 | <a name="l00003"></a>00003 <span class="comment"> * Copyright © 2009-2010 INRIA</span> | |
43 | <a name="l00003"></a>00003 <span class="comment"> * Copyright © 2009-2011 INRIA. All rights reserved.</span> | |
33 | 44 | <a name="l00004"></a>00004 <span class="comment"> * Copyright © 2009-2010 Université Bordeaux 1</span> |
34 | <a name="l00005"></a>00005 <span class="comment"> * Copyright © 2009-2010 Cisco Systems, Inc. All rights reserved.</span> | |
45 | <a name="l00005"></a>00005 <span class="comment"> * Copyright © 2009-2011 Cisco Systems, Inc. All rights reserved.</span> | |
35 | 46 | <a name="l00006"></a>00006 <span class="comment"> * See COPYING in top-level directory.</span> |
36 | 47 | <a name="l00007"></a>00007 <span class="comment"> */</span> |
37 | 48 | <a name="l00008"></a>00008 |
38 | 49 | <a name="l00013"></a>00013 <span class="preprocessor">#ifndef HWLOC_BITMAP_H</span> |
39 | 50 | <a name="l00014"></a>00014 <span class="preprocessor"></span><span class="preprocessor">#define HWLOC_BITMAP_H</span> |
40 | 51 | <a name="l00015"></a>00015 <span class="preprocessor"></span> |
41 | <a name="l00016"></a>00016 <span class="preprocessor">#include <hwloc/config.h></span> | |
52 | <a name="l00016"></a>00016 <span class="preprocessor">#include <hwloc/autogen/config.h></span> | |
42 | 53 | <a name="l00017"></a>00017 <span class="preprocessor">#include <assert.h></span> |
43 | 54 | <a name="l00018"></a>00018 |
44 | 55 | <a name="l00019"></a>00019 |
55 | 66 | <a name="l00051"></a>00051 <span class="comment"> * Bitmap allocation, freeing and copying.</span> |
56 | 67 | <a name="l00052"></a>00052 <span class="comment"> */</span> |
57 | 68 | <a name="l00053"></a>00053 |
58 | <a name="l00060"></a>00060 hwloc_bitmap_t <a class="code" href="a00056.html#ga9fb6aedc30d4ef4998fa53e2403b6130" title="Allocate a new empty bitmap.">hwloc_bitmap_alloc</a>(<span class="keywordtype">void</span>) ; | |
59 | <a name="l00061"></a>00061 | |
60 | <a name="l00063"></a>00063 hwloc_bitmap_t <a class="code" href="a00056.html#gadd4479485685bda179f4b8b9b70f671e" title="Allocate a new full bitmap.">hwloc_bitmap_alloc_full</a>(<span class="keywordtype">void</span>) ; | |
61 | <a name="l00064"></a>00064 | |
62 | <a name="l00066"></a>00066 <span class="keywordtype">void</span> <a class="code" href="a00056.html#ga8e7035fe555ef96921bfb98e08519bc7" title="Free bitmap bitmap.">hwloc_bitmap_free</a>(hwloc_bitmap_t bitmap); | |
63 | <a name="l00067"></a>00067 | |
64 | <a name="l00069"></a>00069 hwloc_bitmap_t <a class="code" href="a00056.html#gaaa4ed76211cd3694dfbea2109fc440be" title="Duplicate bitmap bitmap by allocating a new bitmap and copying bitmap contents.">hwloc_bitmap_dup</a>(hwloc_const_bitmap_t bitmap) ; | |
65 | <a name="l00070"></a>00070 | |
66 | <a name="l00072"></a>00072 <span class="keywordtype">void</span> <a class="code" href="a00056.html#gab14743355fa03b36cef521cbcd2fbf64" title="Copy the contents of bitmap src into the already allocated bitmap dst.">hwloc_bitmap_copy</a>(hwloc_bitmap_t dst, hwloc_const_bitmap_t src); | |
67 | <a name="l00073"></a>00073 | |
69 | <a name="l00061"></a>00061 hwloc_bitmap_t <a class="code" href="a00056.html#ga9fb6aedc30d4ef4998fa53e2403b6130" title="Allocate a new empty bitmap.">hwloc_bitmap_alloc</a>(<span class="keywordtype">void</span>) ; | |
70 | <a name="l00062"></a>00062 | |
71 | <a name="l00064"></a>00064 hwloc_bitmap_t <a class="code" href="a00056.html#gadd4479485685bda179f4b8b9b70f671e" title="Allocate a new full bitmap.">hwloc_bitmap_alloc_full</a>(<span class="keywordtype">void</span>) ; | |
72 | <a name="l00065"></a>00065 | |
73 | <a name="l00070"></a>00070 <span class="keywordtype">void</span> <a class="code" href="a00056.html#ga8e7035fe555ef96921bfb98e08519bc7" title="Free bitmap bitmap.">hwloc_bitmap_free</a>(hwloc_bitmap_t bitmap); | |
74 | <a name="l00071"></a>00071 | |
75 | <a name="l00073"></a>00073 hwloc_bitmap_t <a class="code" href="a00056.html#gaaa4ed76211cd3694dfbea2109fc440be" title="Duplicate bitmap bitmap by allocating a new bitmap and copying bitmap contents.">hwloc_bitmap_dup</a>(hwloc_const_bitmap_t bitmap) ; | |
68 | 76 | <a name="l00074"></a>00074 |
69 | <a name="l00075"></a>00075 <span class="comment">/*</span> | |
70 | <a name="l00076"></a>00076 <span class="comment"> * Bitmap/String Conversion</span> | |
71 | <a name="l00077"></a>00077 <span class="comment"> */</span> | |
77 | <a name="l00076"></a>00076 <span class="keywordtype">void</span> <a class="code" href="a00056.html#gab14743355fa03b36cef521cbcd2fbf64" title="Copy the contents of bitmap src into the already allocated bitmap dst.">hwloc_bitmap_copy</a>(hwloc_bitmap_t dst, hwloc_const_bitmap_t src); | |
78 | <a name="l00077"></a>00077 | |
72 | 79 | <a name="l00078"></a>00078 |
73 | <a name="l00088"></a>00088 <span class="keywordtype">int</span> <a class="code" href="a00056.html#ga6c0d60db98f27276752c1e5fafcbd7d1" title="Stringify a bitmap.">hwloc_bitmap_snprintf</a>(<span class="keywordtype">char</span> * restrict buf, <span class="keywordtype">size_t</span> buflen, hwloc_const_bitmap_t bitmap); | |
74 | <a name="l00089"></a>00089 | |
75 | <a name="l00092"></a>00092 <span class="keywordtype">int</span> <a class="code" href="a00056.html#gad3cf87ceb58aa91656756bbb58057320" title="Stringify a bitmap into a newly allocated string.">hwloc_bitmap_asprintf</a>(<span class="keywordtype">char</span> ** strp, hwloc_const_bitmap_t bitmap); | |
80 | <a name="l00079"></a>00079 <span class="comment">/*</span> | |
81 | <a name="l00080"></a>00080 <span class="comment"> * Bitmap/String Conversion</span> | |
82 | <a name="l00081"></a>00081 <span class="comment"> */</span> | |
83 | <a name="l00082"></a>00082 | |
84 | <a name="l00092"></a>00092 <span class="keywordtype">int</span> <a class="code" href="a00056.html#ga6c0d60db98f27276752c1e5fafcbd7d1" title="Stringify a bitmap.">hwloc_bitmap_snprintf</a>(<span class="keywordtype">char</span> * restrict buf, <span class="keywordtype">size_t</span> buflen, hwloc_const_bitmap_t bitmap); | |
76 | 85 | <a name="l00093"></a>00093 |
77 | <a name="l00096"></a>00096 <span class="keywordtype">int</span> <a class="code" href="a00056.html#ga553cd5ceb1925bfd31788e70b4a46ae8" title="Parse a bitmap string and stores it in bitmap bitmap.">hwloc_bitmap_sscanf</a>(hwloc_bitmap_t bitmap, const <span class="keywordtype">char</span> * restrict <span class="keywordtype">string</span>); | |
86 | <a name="l00096"></a>00096 <span class="keywordtype">int</span> <a class="code" href="a00056.html#gad3cf87ceb58aa91656756bbb58057320" title="Stringify a bitmap into a newly allocated string.">hwloc_bitmap_asprintf</a>(<span class="keywordtype">char</span> ** strp, hwloc_const_bitmap_t bitmap); | |
78 | 87 | <a name="l00097"></a>00097 |
79 | <a name="l00110"></a>00110 <span class="keywordtype">int</span> <a class="code" href="a00056.html#gae0e0619f43a4af5efafb75f489c1c6ec" title="Stringify a bitmap in the taskset-specific format.">hwloc_bitmap_taskset_snprintf</a>(<span class="keywordtype">char</span> * restrict buf, <span class="keywordtype">size_t</span> buflen, hwloc_const_bitmap_t bitmap); | |
80 | <a name="l00111"></a>00111 | |
81 | <a name="l00114"></a>00114 <span class="keywordtype">int</span> <a class="code" href="a00056.html#gaa3df92e204ffb24ceddd44d8d58f6eaa" title="Stringify a bitmap into a newly allocated taskset-specific string.">hwloc_bitmap_taskset_asprintf</a>(<span class="keywordtype">char</span> ** strp, hwloc_const_bitmap_t bitmap); | |
88 | <a name="l00100"></a>00100 <span class="keywordtype">int</span> <a class="code" href="a00056.html#ga553cd5ceb1925bfd31788e70b4a46ae8" title="Parse a bitmap string and stores it in bitmap bitmap.">hwloc_bitmap_sscanf</a>(hwloc_bitmap_t bitmap, const <span class="keywordtype">char</span> * restrict <span class="keywordtype">string</span>); | |
89 | <a name="l00101"></a>00101 | |
90 | <a name="l00114"></a>00114 <span class="keywordtype">int</span> <a class="code" href="a00056.html#gae0e0619f43a4af5efafb75f489c1c6ec" title="Stringify a bitmap in the taskset-specific format.">hwloc_bitmap_taskset_snprintf</a>(<span class="keywordtype">char</span> * restrict buf, <span class="keywordtype">size_t</span> buflen, hwloc_const_bitmap_t bitmap); | |
82 | 91 | <a name="l00115"></a>00115 |
83 | <a name="l00118"></a>00118 <span class="keywordtype">int</span> <a class="code" href="a00056.html#ga71b28ef0d7206e37adbb94468c03e1a9" title="Parse a taskset-specific bitmap string and stores it in bitmap bitmap.">hwloc_bitmap_taskset_sscanf</a>(hwloc_bitmap_t bitmap, const <span class="keywordtype">char</span> * restrict <span class="keywordtype">string</span>); | |
92 | <a name="l00118"></a>00118 <span class="keywordtype">int</span> <a class="code" href="a00056.html#gaa3df92e204ffb24ceddd44d8d58f6eaa" title="Stringify a bitmap into a newly allocated taskset-specific string.">hwloc_bitmap_taskset_asprintf</a>(<span class="keywordtype">char</span> ** strp, hwloc_const_bitmap_t bitmap); | |
84 | 93 | <a name="l00119"></a>00119 |
85 | <a name="l00120"></a>00120 | |
86 | <a name="l00121"></a>00121 <span class="comment">/*</span> | |
87 | <a name="l00122"></a>00122 <span class="comment"> * Building bitmaps.</span> | |
88 | <a name="l00123"></a>00123 <span class="comment"> */</span> | |
94 | <a name="l00122"></a>00122 <span class="keywordtype">int</span> <a class="code" href="a00056.html#ga71b28ef0d7206e37adbb94468c03e1a9" title="Parse a taskset-specific bitmap string and stores it in bitmap bitmap.">hwloc_bitmap_taskset_sscanf</a>(hwloc_bitmap_t bitmap, const <span class="keywordtype">char</span> * restrict <span class="keywordtype">string</span>); | |
95 | <a name="l00123"></a>00123 | |
89 | 96 | <a name="l00124"></a>00124 |
90 | <a name="l00126"></a>00126 <span class="keywordtype">void</span> <a class="code" href="a00056.html#ga6c540b9fe63b8223b6aba46d56dd63b8" title="Empty the bitmap bitmap.">hwloc_bitmap_zero</a>(hwloc_bitmap_t bitmap); | |
91 | <a name="l00127"></a>00127 | |
92 | <a name="l00129"></a>00129 <span class="keywordtype">void</span> <a class="code" href="a00056.html#ga52456f7ef79d68e610cb65e3f7ffafad" title="Fill bitmap bitmap with all possible indexes (even if those objects don&#39;t exist or are otherwise ...">hwloc_bitmap_fill</a>(hwloc_bitmap_t bitmap); | |
93 | <a name="l00130"></a>00130 | |
94 | <a name="l00132"></a>00132 <span class="keywordtype">void</span> <a class="code" href="a00056.html#ga8ea10f5ebaadb8418f28f953d6106190" title="Empty the bitmap bitmap and add bit id.">hwloc_bitmap_only</a>(hwloc_bitmap_t bitmap, <span class="keywordtype">unsigned</span> <span class="keywordtype">id</span>); | |
95 | <a name="l00133"></a>00133 | |
96 | <a name="l00135"></a>00135 <span class="keywordtype">void</span> <a class="code" href="a00056.html#ga88204c1c313aa067da10241b5886a166" title="Fill the bitmap and clear the index id.">hwloc_bitmap_allbut</a>(hwloc_bitmap_t bitmap, <span class="keywordtype">unsigned</span> <span class="keywordtype">id</span>); | |
97 | <a name="l00136"></a>00136 | |
98 | <a name="l00138"></a>00138 <span class="keywordtype">void</span> <a class="code" href="a00056.html#ga02eae57cff32b6aa55044e6609ae7d73" title="Setup bitmap bitmap from unsigned long mask.">hwloc_bitmap_from_ulong</a>(hwloc_bitmap_t bitmap, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> mask); | |
99 | <a name="l00139"></a>00139 | |
100 | <a name="l00141"></a>00141 <span class="keywordtype">void</span> <a class="code" href="a00056.html#ga3c44c943cb3a3e4577b32d924e4f36f2" title="Setup bitmap bitmap from unsigned long mask used as i -th subset.">hwloc_bitmap_from_ith_ulong</a>(hwloc_bitmap_t bitmap, <span class="keywordtype">unsigned</span> i, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> mask); | |
101 | <a name="l00142"></a>00142 | |
97 | <a name="l00125"></a>00125 <span class="comment">/*</span> | |
98 | <a name="l00126"></a>00126 <span class="comment"> * Building bitmaps.</span> | |
99 | <a name="l00127"></a>00127 <span class="comment"> */</span> | |
100 | <a name="l00128"></a>00128 | |
101 | <a name="l00130"></a>00130 <span class="keywordtype">void</span> <a class="code" href="a00056.html#ga6c540b9fe63b8223b6aba46d56dd63b8" title="Empty the bitmap bitmap.">hwloc_bitmap_zero</a>(hwloc_bitmap_t bitmap); | |
102 | <a name="l00131"></a>00131 | |
103 | <a name="l00133"></a>00133 <span class="keywordtype">void</span> <a class="code" href="a00056.html#ga52456f7ef79d68e610cb65e3f7ffafad" title="Fill bitmap bitmap with all possible indexes (even if those objects don&#39;t exist or are otherwise ...">hwloc_bitmap_fill</a>(hwloc_bitmap_t bitmap); | |
104 | <a name="l00134"></a>00134 | |
105 | <a name="l00136"></a>00136 <span class="keywordtype">void</span> <a class="code" href="a00056.html#ga8ea10f5ebaadb8418f28f953d6106190" title="Empty the bitmap bitmap and add bit id.">hwloc_bitmap_only</a>(hwloc_bitmap_t bitmap, <span class="keywordtype">unsigned</span> <span class="keywordtype">id</span>); | |
106 | <a name="l00137"></a>00137 | |
107 | <a name="l00139"></a>00139 <span class="keywordtype">void</span> <a class="code" href="a00056.html#ga88204c1c313aa067da10241b5886a166" title="Fill the bitmap and clear the index id.">hwloc_bitmap_allbut</a>(hwloc_bitmap_t bitmap, <span class="keywordtype">unsigned</span> <span class="keywordtype">id</span>); | |
108 | <a name="l00140"></a>00140 | |
109 | <a name="l00142"></a>00142 <span class="keywordtype">void</span> <a class="code" href="a00056.html#ga02eae57cff32b6aa55044e6609ae7d73" title="Setup bitmap bitmap from unsigned long mask.">hwloc_bitmap_from_ulong</a>(hwloc_bitmap_t bitmap, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> mask); | |
102 | 110 | <a name="l00143"></a>00143 |
103 | <a name="l00144"></a>00144 <span class="comment">/*</span> | |
104 | <a name="l00145"></a>00145 <span class="comment"> * Modifying bitmaps.</span> | |
105 | <a name="l00146"></a>00146 <span class="comment"> */</span> | |
111 | <a name="l00145"></a>00145 <span class="keywordtype">void</span> <a class="code" href="a00056.html#ga3c44c943cb3a3e4577b32d924e4f36f2" title="Setup bitmap bitmap from unsigned long mask used as i -th subset.">hwloc_bitmap_from_ith_ulong</a>(hwloc_bitmap_t bitmap, <span class="keywordtype">unsigned</span> i, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> mask); | |
112 | <a name="l00146"></a>00146 | |
106 | 113 | <a name="l00147"></a>00147 |
107 | <a name="l00149"></a>00149 <span class="keywordtype">void</span> <a class="code" href="a00056.html#ga497556af0cc34f109ae0277999c074d3" title="Add index id in bitmap bitmap.">hwloc_bitmap_set</a>(hwloc_bitmap_t bitmap, <span class="keywordtype">unsigned</span> <span class="keywordtype">id</span>); | |
108 | <a name="l00150"></a>00150 | |
109 | <a name="l00152"></a>00152 <span class="keywordtype">void</span> <a class="code" href="a00056.html#ga371be6d389287d5b22a8034d61ccd7e3" title="Add indexess from begin to end in bitmap bitmap.">hwloc_bitmap_set_range</a>(hwloc_bitmap_t bitmap, <span class="keywordtype">unsigned</span> begin, <span class="keywordtype">unsigned</span> end); | |
110 | <a name="l00153"></a>00153 | |
111 | <a name="l00155"></a>00155 <span class="keywordtype">void</span> <a class="code" href="a00056.html#ga56027d6b141a3da441925e6e999de1c1" title="Replace i -th subset of bitmap bitmap with unsigned long mask.">hwloc_bitmap_set_ith_ulong</a>(hwloc_bitmap_t bitmap, <span class="keywordtype">unsigned</span> i, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> mask); | |
112 | <a name="l00156"></a>00156 | |
113 | <a name="l00158"></a>00158 <span class="keywordtype">void</span> <a class="code" href="a00056.html#ga54e89b87ba5f5c18323f16690e0e5730" title="Remove index id from bitmap bitmap.">hwloc_bitmap_clr</a>(hwloc_bitmap_t bitmap, <span class="keywordtype">unsigned</span> <span class="keywordtype">id</span>); | |
114 | <a name="l00159"></a>00159 | |
115 | <a name="l00161"></a>00161 <span class="keywordtype">void</span> <a class="code" href="a00056.html#gacddc932644e34fc2e914caf2fdaa70ce" title="Remove index from begin to end in bitmap bitmap.">hwloc_bitmap_clr_range</a>(hwloc_bitmap_t bitmap, <span class="keywordtype">unsigned</span> begin, <span class="keywordtype">unsigned</span> end); | |
116 | <a name="l00162"></a>00162 | |
117 | <a name="l00169"></a>00169 <span class="keywordtype">void</span> <a class="code" href="a00056.html#ga4630aa1b7e08eac5b41be126194e84a1" title="Keep a single index among those set in bitmap bitmap.">hwloc_bitmap_singlify</a>(hwloc_bitmap_t bitmap); | |
118 | <a name="l00170"></a>00170 | |
119 | <a name="l00171"></a>00171 | |
120 | <a name="l00172"></a>00172 <span class="comment">/*</span> | |
121 | <a name="l00173"></a>00173 <span class="comment"> * Consulting bitmaps.</span> | |
122 | <a name="l00174"></a>00174 <span class="comment"> */</span> | |
114 | <a name="l00148"></a>00148 <span class="comment">/*</span> | |
115 | <a name="l00149"></a>00149 <span class="comment"> * Modifying bitmaps.</span> | |
116 | <a name="l00150"></a>00150 <span class="comment"> */</span> | |
117 | <a name="l00151"></a>00151 | |
118 | <a name="l00153"></a>00153 <span class="keywordtype">void</span> <a class="code" href="a00056.html#ga497556af0cc34f109ae0277999c074d3" title="Add index id in bitmap bitmap.">hwloc_bitmap_set</a>(hwloc_bitmap_t bitmap, <span class="keywordtype">unsigned</span> <span class="keywordtype">id</span>); | |
119 | <a name="l00154"></a>00154 | |
120 | <a name="l00156"></a>00156 <span class="keywordtype">void</span> <a class="code" href="a00056.html#ga371be6d389287d5b22a8034d61ccd7e3" title="Add indexes from begin to end in bitmap bitmap.">hwloc_bitmap_set_range</a>(hwloc_bitmap_t bitmap, <span class="keywordtype">unsigned</span> begin, <span class="keywordtype">unsigned</span> end); | |
121 | <a name="l00157"></a>00157 | |
122 | <a name="l00159"></a>00159 <span class="keywordtype">void</span> <a class="code" href="a00056.html#ga56027d6b141a3da441925e6e999de1c1" title="Replace i -th subset of bitmap bitmap with unsigned long mask.">hwloc_bitmap_set_ith_ulong</a>(hwloc_bitmap_t bitmap, <span class="keywordtype">unsigned</span> i, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> mask); | |
123 | <a name="l00160"></a>00160 | |
124 | <a name="l00162"></a>00162 <span class="keywordtype">void</span> <a class="code" href="a00056.html#ga54e89b87ba5f5c18323f16690e0e5730" title="Remove index id from bitmap bitmap.">hwloc_bitmap_clr</a>(hwloc_bitmap_t bitmap, <span class="keywordtype">unsigned</span> <span class="keywordtype">id</span>); | |
125 | <a name="l00163"></a>00163 | |
126 | <a name="l00165"></a>00165 <span class="keywordtype">void</span> <a class="code" href="a00056.html#gacddc932644e34fc2e914caf2fdaa70ce" title="Remove indexes from begin to end in bitmap bitmap.">hwloc_bitmap_clr_range</a>(hwloc_bitmap_t bitmap, <span class="keywordtype">unsigned</span> begin, <span class="keywordtype">unsigned</span> end); | |
127 | <a name="l00166"></a>00166 | |
128 | <a name="l00173"></a>00173 <span class="keywordtype">void</span> <a class="code" href="a00056.html#ga4630aa1b7e08eac5b41be126194e84a1" title="Keep a single index among those set in bitmap bitmap.">hwloc_bitmap_singlify</a>(hwloc_bitmap_t bitmap); | |
129 | <a name="l00174"></a>00174 | |
123 | 130 | <a name="l00175"></a>00175 |
124 | <a name="l00177"></a>00177 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="a00056.html#ga4fee4e3cea99e4a389c54a6c3f0c78ed" title="Convert the beginning part of bitmap bitmap into unsigned long mask.">hwloc_bitmap_to_ulong</a>(hwloc_const_bitmap_t bitmap) ; | |
125 | <a name="l00178"></a>00178 | |
126 | <a name="l00180"></a>00180 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="a00056.html#gabc0b9f4cae56a1303c38b2380086efc2" title="Convert the i -th subset of bitmap bitmap into unsigned long mask.">hwloc_bitmap_to_ith_ulong</a>(hwloc_const_bitmap_t bitmap, <span class="keywordtype">unsigned</span> i) ; | |
127 | <a name="l00181"></a>00181 | |
128 | <a name="l00183"></a>00183 <span class="keywordtype">int</span> <a class="code" href="a00056.html#ga2583f44cbdb5fff2ea40efdcf3975d3f" title="Test whether index id is part of bitmap bitmap.">hwloc_bitmap_isset</a>(hwloc_const_bitmap_t bitmap, <span class="keywordtype">unsigned</span> <span class="keywordtype">id</span>) ; | |
129 | <a name="l00184"></a>00184 | |
130 | <a name="l00186"></a>00186 <span class="keywordtype">int</span> <a class="code" href="a00056.html#gaa94fed35d2a598bc4a8657b6955b7bf5" title="Test whether bitmap bitmap is empty.">hwloc_bitmap_iszero</a>(hwloc_const_bitmap_t bitmap) ; | |
131 | <a name="l00187"></a>00187 | |
132 | <a name="l00189"></a>00189 <span class="keywordtype">int</span> <a class="code" href="a00056.html#ga59a07ecd8e74f2d4ee4271a1dbf0e4dd" title="Test whether bitmap bitmap is completely full.">hwloc_bitmap_isfull</a>(hwloc_const_bitmap_t bitmap) ; | |
133 | <a name="l00190"></a>00190 | |
134 | <a name="l00195"></a>00195 <span class="keywordtype">int</span> <a class="code" href="a00056.html#ga42472a7b75ca79cae19f0611fdb849e6" title="Compute the first index (least significant bit) in bitmap bitmap.">hwloc_bitmap_first</a>(hwloc_const_bitmap_t bitmap) ; | |
135 | <a name="l00196"></a>00196 | |
136 | <a name="l00201"></a>00201 <span class="keywordtype">int</span> <a class="code" href="a00056.html#gae351afd7046295683112f0876cc782f1" title="Compute the next index in bitmap bitmap which is after index prev.">hwloc_bitmap_next</a>(hwloc_const_bitmap_t bitmap, <span class="keywordtype">unsigned</span> prev) ; | |
137 | <a name="l00202"></a>00202 | |
138 | <a name="l00207"></a>00207 <span class="keywordtype">int</span> <a class="code" href="a00056.html#ga4d5786ea9561d9ddbf90bc0ce606c549" title="Compute the last index (most significant bit) in bitmap bitmap.">hwloc_bitmap_last</a>(hwloc_const_bitmap_t bitmap) ; | |
139 | <a name="l00208"></a>00208 | |
140 | <a name="l00214"></a>00214 <span class="keywordtype">int</span> <a class="code" href="a00056.html#ga12d520387be74f849f191d7a06ac325c" title="Compute the &quot;weight&quot; of bitmap bitmap (i.e., number of indexes that are in the bitmap)...">hwloc_bitmap_weight</a>(hwloc_const_bitmap_t bitmap) ; | |
141 | <a name="l00215"></a>00215 | |
142 | <a name="l00227"></a><a class="code" href="a00056.html#ga3f6861045a8029ade373510ffa727d2a">00227</a> <span class="preprocessor">#define hwloc_bitmap_foreach_begin(id, bitmap) \</span> | |
143 | <a name="l00228"></a>00228 <span class="preprocessor">do { \</span> | |
144 | <a name="l00229"></a>00229 <span class="preprocessor"> assert(hwloc_bitmap_weight(bitmap) != -1); \</span> | |
145 | <a name="l00230"></a>00230 <span class="preprocessor"> for (id = hwloc_bitmap_first(bitmap); \</span> | |
146 | <a name="l00231"></a>00231 <span class="preprocessor"> (unsigned) id != (unsigned) -1; \</span> | |
147 | <a name="l00232"></a>00232 <span class="preprocessor"> id = hwloc_bitmap_next(bitmap, id)) { \</span> | |
148 | <a name="l00233"></a>00233 <span class="preprocessor"></span> | |
149 | <a name="l00237"></a><a class="code" href="a00056.html#gafcf3246db406218d4e155735b3fa6528">00237</a> <span class="preprocessor">#define hwloc_bitmap_foreach_end() \</span> | |
150 | <a name="l00238"></a>00238 <span class="preprocessor"> } \</span> | |
151 | <a name="l00239"></a>00239 <span class="preprocessor">} while (0)</span> | |
152 | <a name="l00240"></a>00240 <span class="preprocessor"></span> | |
153 | <a name="l00241"></a>00241 | |
154 | <a name="l00242"></a>00242 <span class="comment">/*</span> | |
155 | <a name="l00243"></a>00243 <span class="comment"> * Combining bitmaps.</span> | |
156 | <a name="l00244"></a>00244 <span class="comment"> */</span> | |
131 | <a name="l00176"></a>00176 <span class="comment">/*</span> | |
132 | <a name="l00177"></a>00177 <span class="comment"> * Consulting bitmaps.</span> | |
133 | <a name="l00178"></a>00178 <span class="comment"> */</span> | |
134 | <a name="l00179"></a>00179 | |
135 | <a name="l00181"></a>00181 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="a00056.html#ga4fee4e3cea99e4a389c54a6c3f0c78ed" title="Convert the beginning part of bitmap bitmap into unsigned long mask.">hwloc_bitmap_to_ulong</a>(hwloc_const_bitmap_t bitmap) ; | |
136 | <a name="l00182"></a>00182 | |
137 | <a name="l00184"></a>00184 <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> <a class="code" href="a00056.html#gabc0b9f4cae56a1303c38b2380086efc2" title="Convert the i -th subset of bitmap bitmap into unsigned long mask.">hwloc_bitmap_to_ith_ulong</a>(hwloc_const_bitmap_t bitmap, <span class="keywordtype">unsigned</span> i) ; | |
138 | <a name="l00185"></a>00185 | |
139 | <a name="l00187"></a>00187 <span class="keywordtype">int</span> <a class="code" href="a00056.html#ga2583f44cbdb5fff2ea40efdcf3975d3f" title="Test whether index id is part of bitmap bitmap.">hwloc_bitmap_isset</a>(hwloc_const_bitmap_t bitmap, <span class="keywordtype">unsigned</span> <span class="keywordtype">id</span>) ; | |
140 | <a name="l00188"></a>00188 | |
141 | <a name="l00190"></a>00190 <span class="keywordtype">int</span> <a class="code" href="a00056.html#gaa94fed35d2a598bc4a8657b6955b7bf5" title="Test whether bitmap bitmap is empty.">hwloc_bitmap_iszero</a>(hwloc_const_bitmap_t bitmap) ; | |
142 | <a name="l00191"></a>00191 | |
143 | <a name="l00193"></a>00193 <span class="keywordtype">int</span> <a class="code" href="a00056.html#ga59a07ecd8e74f2d4ee4271a1dbf0e4dd" title="Test whether bitmap bitmap is completely full.">hwloc_bitmap_isfull</a>(hwloc_const_bitmap_t bitmap) ; | |
144 | <a name="l00194"></a>00194 | |
145 | <a name="l00199"></a>00199 <span class="keywordtype">int</span> <a class="code" href="a00056.html#ga42472a7b75ca79cae19f0611fdb849e6" title="Compute the first index (least significant bit) in bitmap bitmap.">hwloc_bitmap_first</a>(hwloc_const_bitmap_t bitmap) ; | |
146 | <a name="l00200"></a>00200 | |
147 | <a name="l00205"></a>00205 <span class="keywordtype">int</span> <a class="code" href="a00056.html#gae351afd7046295683112f0876cc782f1" title="Compute the next index in bitmap bitmap which is after index prev.">hwloc_bitmap_next</a>(hwloc_const_bitmap_t bitmap, <span class="keywordtype">unsigned</span> prev) ; | |
148 | <a name="l00206"></a>00206 | |
149 | <a name="l00211"></a>00211 <span class="keywordtype">int</span> <a class="code" href="a00056.html#ga4d5786ea9561d9ddbf90bc0ce606c549" title="Compute the last index (most significant bit) in bitmap bitmap.">hwloc_bitmap_last</a>(hwloc_const_bitmap_t bitmap) ; | |
150 | <a name="l00212"></a>00212 | |
151 | <a name="l00218"></a>00218 <span class="keywordtype">int</span> <a class="code" href="a00056.html#ga12d520387be74f849f191d7a06ac325c" title="Compute the &quot;weight&quot; of bitmap bitmap (i.e., number of indexes that are in the bitmap)...">hwloc_bitmap_weight</a>(hwloc_const_bitmap_t bitmap) ; | |
152 | <a name="l00219"></a>00219 | |
153 | <a name="l00231"></a><a class="code" href="a00056.html#ga3f6861045a8029ade373510ffa727d2a">00231</a> <span class="preprocessor">#define hwloc_bitmap_foreach_begin(id, bitmap) \</span> | |
154 | <a name="l00232"></a>00232 <span class="preprocessor">do { \</span> | |
155 | <a name="l00233"></a>00233 <span class="preprocessor"> assert(hwloc_bitmap_weight(bitmap) != -1); \</span> | |
156 | <a name="l00234"></a>00234 <span class="preprocessor"> for (id = hwloc_bitmap_first(bitmap); \</span> | |
157 | <a name="l00235"></a>00235 <span class="preprocessor"> (unsigned) id != (unsigned) -1; \</span> | |
158 | <a name="l00236"></a>00236 <span class="preprocessor"> id = hwloc_bitmap_next(bitmap, id)) { \</span> | |
159 | <a name="l00237"></a>00237 <span class="preprocessor"></span> | |
160 | <a name="l00241"></a><a class="code" href="a00056.html#gafcf3246db406218d4e155735b3fa6528">00241</a> <span class="preprocessor">#define hwloc_bitmap_foreach_end() \</span> | |
161 | <a name="l00242"></a>00242 <span class="preprocessor"> } \</span> | |
162 | <a name="l00243"></a>00243 <span class="preprocessor">} while (0)</span> | |
163 | <a name="l00244"></a>00244 <span class="preprocessor"></span> | |
157 | 164 | <a name="l00245"></a>00245 |
158 | <a name="l00247"></a>00247 <span class="keywordtype">void</span> <a class="code" href="a00056.html#ga1ba1de709ee9a7cf5cc8ad2d9a1a81d4" title="Or bitmaps bitmap1 and bitmap2 and store the result in bitmap res.">hwloc_bitmap_or</a> (hwloc_bitmap_t res, hwloc_const_bitmap_t bitmap1, hwloc_const_bitmap_t bitmap2); | |
159 | <a name="l00248"></a>00248 | |
160 | <a name="l00250"></a>00250 <span class="keywordtype">void</span> <a class="code" href="a00056.html#gac2f7675dcf1b664a832413d9990d1bcf" title="And bitmaps bitmap1 and bitmap2 and store the result in bitmap res.">hwloc_bitmap_and</a> (hwloc_bitmap_t res, hwloc_const_bitmap_t bitmap1, hwloc_const_bitmap_t bitmap2); | |
161 | <a name="l00251"></a>00251 | |
162 | <a name="l00253"></a>00253 <span class="keywordtype">void</span> <a class="code" href="a00056.html#ga7618a962685d95564564ba07e9b2199b" title="And bitmap bitmap1 and the negation of bitmap2 and store the result in bitmap res.">hwloc_bitmap_andnot</a> (hwloc_bitmap_t res, hwloc_const_bitmap_t bitmap1, hwloc_const_bitmap_t bitmap2); | |
163 | <a name="l00254"></a>00254 | |
164 | <a name="l00256"></a>00256 <span class="keywordtype">void</span> <a class="code" href="a00056.html#ga5743af61c30758df75aec29c12444616" title="Xor bitmaps bitmap1 and bitmap2 and store the result in bitmap res.">hwloc_bitmap_xor</a> (hwloc_bitmap_t res, hwloc_const_bitmap_t bitmap1, hwloc_const_bitmap_t bitmap2); | |
165 | <a name="l00257"></a>00257 | |
166 | <a name="l00259"></a>00259 <span class="keywordtype">void</span> <a class="code" href="a00056.html#ga4a8088d62755a083ffce9d592c9e3878" title="Negate bitmap bitmap and store the result in bitmap res.">hwloc_bitmap_not</a> (hwloc_bitmap_t res, hwloc_const_bitmap_t bitmap); | |
167 | <a name="l00260"></a>00260 | |
165 | <a name="l00246"></a>00246 <span class="comment">/*</span> | |
166 | <a name="l00247"></a>00247 <span class="comment"> * Combining bitmaps.</span> | |
167 | <a name="l00248"></a>00248 <span class="comment"> */</span> | |
168 | <a name="l00249"></a>00249 | |
169 | <a name="l00251"></a>00251 <span class="keywordtype">void</span> <a class="code" href="a00056.html#ga1ba1de709ee9a7cf5cc8ad2d9a1a81d4" title="Or bitmaps bitmap1 and bitmap2 and store the result in bitmap res.">hwloc_bitmap_or</a> (hwloc_bitmap_t res, hwloc_const_bitmap_t bitmap1, hwloc_const_bitmap_t bitmap2); | |
170 | <a name="l00252"></a>00252 | |
171 | <a name="l00254"></a>00254 <span class="keywordtype">void</span> <a class="code" href="a00056.html#gac2f7675dcf1b664a832413d9990d1bcf" title="And bitmaps bitmap1 and bitmap2 and store the result in bitmap res.">hwloc_bitmap_and</a> (hwloc_bitmap_t res, hwloc_const_bitmap_t bitmap1, hwloc_const_bitmap_t bitmap2); | |
172 | <a name="l00255"></a>00255 | |
173 | <a name="l00257"></a>00257 <span class="keywordtype">void</span> <a class="code" href="a00056.html#ga7618a962685d95564564ba07e9b2199b" title="And bitmap bitmap1 and the negation of bitmap2 and store the result in bitmap res.">hwloc_bitmap_andnot</a> (hwloc_bitmap_t res, hwloc_const_bitmap_t bitmap1, hwloc_const_bitmap_t bitmap2); | |
174 | <a name="l00258"></a>00258 | |
175 | <a name="l00260"></a>00260 <span class="keywordtype">void</span> <a class="code" href="a00056.html#ga5743af61c30758df75aec29c12444616" title="Xor bitmaps bitmap1 and bitmap2 and store the result in bitmap res.">hwloc_bitmap_xor</a> (hwloc_bitmap_t res, hwloc_const_bitmap_t bitmap1, hwloc_const_bitmap_t bitmap2); | |
168 | 176 | <a name="l00261"></a>00261 |
169 | <a name="l00262"></a>00262 <span class="comment">/*</span> | |
170 | <a name="l00263"></a>00263 <span class="comment"> * Comparing bitmaps.</span> | |
171 | <a name="l00264"></a>00264 <span class="comment"> */</span> | |
177 | <a name="l00263"></a>00263 <span class="keywordtype">void</span> <a class="code" href="a00056.html#ga4a8088d62755a083ffce9d592c9e3878" title="Negate bitmap bitmap and store the result in bitmap res.">hwloc_bitmap_not</a> (hwloc_bitmap_t res, hwloc_const_bitmap_t bitmap); | |
178 | <a name="l00264"></a>00264 | |
172 | 179 | <a name="l00265"></a>00265 |
173 | <a name="l00267"></a>00267 <span class="keywordtype">int</span> <a class="code" href="a00056.html#ga575c27953709a8cb9a047aae65157526" title="Test whether bitmaps bitmap1 and bitmap2 intersects.">hwloc_bitmap_intersects</a> (hwloc_const_bitmap_t bitmap1, hwloc_const_bitmap_t bitmap2) ; | |
174 | <a name="l00268"></a>00268 | |
175 | <a name="l00270"></a>00270 <span class="keywordtype">int</span> <a class="code" href="a00056.html#gaae29e14a926c198e8f91e6e4790621e7" title="Test whether bitmap sub_bitmap is part of bitmap super_bitmap.">hwloc_bitmap_isincluded</a> (hwloc_const_bitmap_t sub_bitmap, hwloc_const_bitmap_t super_bitmap) ; | |
176 | <a name="l00271"></a>00271 | |
177 | <a name="l00273"></a>00273 <span class="keywordtype">int</span> <a class="code" href="a00056.html#ga4dd6a75ab63d33ef33bd626b0e489388" title="Test whether bitmap bitmap1 is equal to bitmap bitmap2.">hwloc_bitmap_isequal</a> (hwloc_const_bitmap_t bitmap1, hwloc_const_bitmap_t bitmap2) ; | |
178 | <a name="l00274"></a>00274 | |
179 | <a name="l00280"></a>00280 <span class="keywordtype">int</span> <a class="code" href="a00056.html#gac1cbd1e03f9986552243761e657e1752" title="Compare bitmaps bitmap1 and bitmap2 using their lowest index.">hwloc_bitmap_compare_first</a>(hwloc_const_bitmap_t bitmap1, hwloc_const_bitmap_t bitmap2) ; | |
180 | <a name="l00281"></a>00281 | |
181 | <a name="l00287"></a>00287 <span class="keywordtype">int</span> <a class="code" href="a00056.html#gadd3aa325f2d6a17b5aa3b3be9c740da0" title="Compare bitmaps bitmap1 and bitmap2 using their highest index.">hwloc_bitmap_compare</a>(hwloc_const_bitmap_t bitmap1, hwloc_const_bitmap_t bitmap2) ; | |
182 | <a name="l00288"></a>00288 | |
183 | <a name="l00292"></a>00292 <span class="preprocessor">#ifdef __cplusplus</span> | |
184 | <a name="l00293"></a>00293 <span class="preprocessor"></span>} <span class="comment">/* extern "C" */</span> | |
185 | <a name="l00294"></a>00294 <span class="preprocessor">#endif</span> | |
186 | <a name="l00295"></a>00295 <span class="preprocessor"></span> | |
187 | <a name="l00296"></a>00296 | |
188 | <a name="l00297"></a>00297 <span class="preprocessor">#endif </span><span class="comment">/* HWLOC_BITMAP_H */</span> | |
180 | <a name="l00266"></a>00266 <span class="comment">/*</span> | |
181 | <a name="l00267"></a>00267 <span class="comment"> * Comparing bitmaps.</span> | |
182 | <a name="l00268"></a>00268 <span class="comment"> */</span> | |
183 | <a name="l00269"></a>00269 | |
184 | <a name="l00271"></a>00271 <span class="keywordtype">int</span> <a class="code" href="a00056.html#ga575c27953709a8cb9a047aae65157526" title="Test whether bitmaps bitmap1 and bitmap2 intersects.">hwloc_bitmap_intersects</a> (hwloc_const_bitmap_t bitmap1, hwloc_const_bitmap_t bitmap2) ; | |
185 | <a name="l00272"></a>00272 | |
186 | <a name="l00274"></a>00274 <span class="keywordtype">int</span> <a class="code" href="a00056.html#gaae29e14a926c198e8f91e6e4790621e7" title="Test whether bitmap sub_bitmap is part of bitmap super_bitmap.">hwloc_bitmap_isincluded</a> (hwloc_const_bitmap_t sub_bitmap, hwloc_const_bitmap_t super_bitmap) ; | |
187 | <a name="l00275"></a>00275 | |
188 | <a name="l00277"></a>00277 <span class="keywordtype">int</span> <a class="code" href="a00056.html#ga4dd6a75ab63d33ef33bd626b0e489388" title="Test whether bitmap bitmap1 is equal to bitmap bitmap2.">hwloc_bitmap_isequal</a> (hwloc_const_bitmap_t bitmap1, hwloc_const_bitmap_t bitmap2) ; | |
189 | <a name="l00278"></a>00278 | |
190 | <a name="l00284"></a>00284 <span class="keywordtype">int</span> <a class="code" href="a00056.html#gac1cbd1e03f9986552243761e657e1752" title="Compare bitmaps bitmap1 and bitmap2 using their lowest index.">hwloc_bitmap_compare_first</a>(hwloc_const_bitmap_t bitmap1, hwloc_const_bitmap_t bitmap2) ; | |
191 | <a name="l00285"></a>00285 | |
192 | <a name="l00291"></a>00291 <span class="keywordtype">int</span> <a class="code" href="a00056.html#gadd3aa325f2d6a17b5aa3b3be9c740da0" title="Compare bitmaps bitmap1 and bitmap2 using their highest index.">hwloc_bitmap_compare</a>(hwloc_const_bitmap_t bitmap1, hwloc_const_bitmap_t bitmap2) ; | |
193 | <a name="l00292"></a>00292 | |
194 | <a name="l00296"></a>00296 <span class="preprocessor">#ifdef __cplusplus</span> | |
195 | <a name="l00297"></a>00297 <span class="preprocessor"></span>} <span class="comment">/* extern "C" */</span> | |
196 | <a name="l00298"></a>00298 <span class="preprocessor">#endif</span> | |
197 | <a name="l00299"></a>00299 <span class="preprocessor"></span> | |
198 | <a name="l00300"></a>00300 | |
199 | <a name="l00301"></a>00301 <span class="preprocessor">#endif </span><span class="comment">/* HWLOC_BITMAP_H */</span> | |
189 | 200 | </pre></div></div> |
190 | 201 | </div> |
191 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
202 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
192 | 203 | <a href="http://www.doxygen.org/index.html"> |
193 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
204 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
194 | 205 | </body> |
195 | 206 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
17 | 28 | <li class="current"><a href="files.html"><span>Files</span></a></li> |
18 | 29 | </ul> |
19 | 30 | </div> |
20 | <div class="tabs2"> | |
31 | <div id="navrow2" class="tabs2"> | |
21 | 32 | <ul class="tablist"> |
22 | 33 | <li><a href="files.html"><span>File List</span></a></li> |
23 | 34 | </ul> |
30 | 41 | <div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span> |
31 | 42 | <a name="l00002"></a>00002 <span class="comment"> * Copyright © 2010 INRIA</span> |
32 | 43 | <a name="l00003"></a>00003 <span class="comment"> * Copyright © 2010 Université Bordeaux 1</span> |
33 | <a name="l00004"></a>00004 <span class="comment"> * See COPYING in top-level directory.</span> | |
34 | <a name="l00005"></a>00005 <span class="comment"> */</span> | |
35 | <a name="l00006"></a>00006 | |
36 | <a name="l00015"></a>00015 <span class="preprocessor">#ifndef HWLOC_CUDA_H</span> | |
37 | <a name="l00016"></a>00016 <span class="preprocessor"></span><span class="preprocessor">#define HWLOC_CUDA_H</span> | |
38 | <a name="l00017"></a>00017 <span class="preprocessor"></span> | |
39 | <a name="l00018"></a>00018 <span class="preprocessor">#include <hwloc.h></span> | |
40 | <a name="l00019"></a>00019 <span class="preprocessor">#include <hwloc/config.h></span> | |
41 | <a name="l00020"></a>00020 <span class="preprocessor">#include <hwloc/linux.h></span> | |
42 | <a name="l00021"></a>00021 | |
43 | <a name="l00022"></a>00022 <span class="preprocessor">#include <cuda.h></span> | |
44 | <a name="l00023"></a>00023 | |
44 | <a name="l00004"></a>00004 <span class="comment"> * Copyright © 2011 Cisco Systems, Inc. All rights reserved.</span> | |
45 | <a name="l00005"></a>00005 <span class="comment"> * See COPYING in top-level directory.</span> | |
46 | <a name="l00006"></a>00006 <span class="comment"> */</span> | |
47 | <a name="l00007"></a>00007 | |
48 | <a name="l00016"></a>00016 <span class="preprocessor">#ifndef HWLOC_CUDA_H</span> | |
49 | <a name="l00017"></a>00017 <span class="preprocessor"></span><span class="preprocessor">#define HWLOC_CUDA_H</span> | |
50 | <a name="l00018"></a>00018 <span class="preprocessor"></span> | |
51 | <a name="l00019"></a>00019 <span class="preprocessor">#include <hwloc.h></span> | |
52 | <a name="l00020"></a>00020 <span class="preprocessor">#include <hwloc/autogen/config.h></span> | |
53 | <a name="l00021"></a>00021 <span class="preprocessor">#include <hwloc/linux.h></span> | |
54 | <a name="l00022"></a>00022 | |
55 | <a name="l00023"></a>00023 <span class="preprocessor">#include <cuda.h></span> | |
45 | 56 | <a name="l00024"></a>00024 |
46 | <a name="l00025"></a>00025 <span class="preprocessor">#ifdef __cplusplus</span> | |
47 | <a name="l00026"></a>00026 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> { | |
48 | <a name="l00027"></a>00027 <span class="preprocessor">#endif</span> | |
49 | <a name="l00028"></a>00028 <span class="preprocessor"></span> | |
50 | <a name="l00029"></a>00029 | |
51 | <a name="l00042"></a>00042 <span class="keyword">static</span> inline <span class="keywordtype">int</span> | |
52 | <a name="l00043"></a><a class="code" href="a00062.html#gae06cf330d2f0d9949feb52b146b7d136">00043</a> <a class="code" href="a00062.html#gae06cf330d2f0d9949feb52b146b7d136" title="Get the CPU set of logical processors that are physically close to device cudevice.">hwloc_cuda_get_device_cpuset</a>(<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology , | |
53 | <a name="l00044"></a>00044 CUdevice cudevice, <a class="code" href="a00034.html#ga4bbf39b68b6f568fb92739e7c0ea7801" title="A CPU set is a bitmap whose bits are set according to CPU physical OS indexes.">hwloc_cpuset_t</a> <span class="keyword">set</span>) | |
54 | <a name="l00045"></a>00045 { | |
55 | <a name="l00046"></a>00046 <span class="preprocessor">#ifdef HWLOC_LINUX_SYS</span> | |
56 | <a name="l00047"></a>00047 <span class="preprocessor"></span> <span class="comment">/* If we're on Linux, use the sysfs mechanism to get the local cpus */</span> | |
57 | <a name="l00048"></a>00048 <span class="preprocessor">#define HWLOC_CUDA_DEVICE_SYSFS_PATH_MAX 128</span> | |
58 | <a name="l00049"></a>00049 <span class="preprocessor"></span> CUresult cres; | |
59 | <a name="l00050"></a>00050 <span class="keywordtype">int</span> deviceid; | |
60 | <a name="l00051"></a>00051 <span class="keywordtype">int</span> busid; | |
61 | <a name="l00052"></a>00052 <span class="keywordtype">char</span> path[HWLOC_CUDA_DEVICE_SYSFS_PATH_MAX]; | |
62 | <a name="l00053"></a>00053 FILE *sysfile = NULL; | |
63 | <a name="l00054"></a>00054 | |
64 | <a name="l00055"></a>00055 cres = cuDeviceGetAttribute(&busid, CU_DEVICE_ATTRIBUTE_PCI_BUS_ID, cudevice); | |
65 | <a name="l00056"></a>00056 <span class="keywordflow">if</span> (cres != CUDA_SUCCESS) { | |
66 | <a name="l00057"></a>00057 errno = ENOSYS; | |
67 | <a name="l00058"></a>00058 <span class="keywordflow">return</span> -1; | |
68 | <a name="l00059"></a>00059 } | |
69 | <a name="l00060"></a>00060 cres = cuDeviceGetAttribute(&deviceid, CU_DEVICE_ATTRIBUTE_PCI_DEVICE_ID, cudevice); | |
70 | <a name="l00061"></a>00061 <span class="keywordflow">if</span> (cres != CUDA_SUCCESS) { | |
71 | <a name="l00062"></a>00062 errno = ENOSYS; | |
72 | <a name="l00063"></a>00063 <span class="keywordflow">return</span> -1; | |
73 | <a name="l00064"></a>00064 } | |
74 | <a name="l00065"></a>00065 | |
75 | <a name="l00066"></a>00066 sprintf(path, <span class="stringliteral">"/sys/bus/pci/devices/0000:%02x:%02x.0/local_cpus"</span>, busid, deviceid); | |
76 | <a name="l00067"></a>00067 sysfile = fopen(path, <span class="stringliteral">"r"</span>); | |
77 | <a name="l00068"></a>00068 <span class="keywordflow">if</span> (!sysfile) | |
78 | <a name="l00069"></a>00069 <span class="keywordflow">return</span> -1; | |
79 | <a name="l00070"></a>00070 | |
80 | <a name="l00071"></a>00071 <a class="code" href="a00058.html#gaeacad897c30dbea284948374ad4b010c" title="Convert a linux kernel cpumap file file into hwloc CPU set.">hwloc_linux_parse_cpumap_file</a>(sysfile, <span class="keyword">set</span>); | |
81 | <a name="l00072"></a>00072 | |
82 | <a name="l00073"></a>00073 fclose(sysfile); | |
83 | <a name="l00074"></a>00074 <span class="preprocessor">#else</span> | |
84 | <a name="l00075"></a>00075 <span class="preprocessor"></span> <span class="comment">/* Non-Linux systems simply get a full cpuset */</span> | |
85 | <a name="l00076"></a>00076 <a class="code" href="a00056.html#gab14743355fa03b36cef521cbcd2fbf64" title="Copy the contents of bitmap src into the already allocated bitmap dst.">hwloc_bitmap_copy</a>(<span class="keyword">set</span>, <a class="code" href="a00053.html#ga75f0ac3ac41e9915541c3ae3153a6e26" title="Get complete CPU set.">hwloc_topology_get_complete_cpuset</a>(topology)); | |
86 | <a name="l00077"></a>00077 <span class="preprocessor">#endif</span> | |
87 | <a name="l00078"></a>00078 <span class="preprocessor"></span> <span class="keywordflow">return</span> 0; | |
88 | <a name="l00079"></a>00079 } | |
89 | <a name="l00080"></a>00080 | |
90 | <a name="l00084"></a>00084 <span class="preprocessor">#ifdef __cplusplus</span> | |
91 | <a name="l00085"></a>00085 <span class="preprocessor"></span>} <span class="comment">/* extern "C" */</span> | |
92 | <a name="l00086"></a>00086 <span class="preprocessor">#endif</span> | |
93 | <a name="l00087"></a>00087 <span class="preprocessor"></span> | |
94 | <a name="l00088"></a>00088 | |
95 | <a name="l00089"></a>00089 <span class="preprocessor">#endif </span><span class="comment">/* HWLOC_CUDA_H */</span> | |
57 | <a name="l00025"></a>00025 | |
58 | <a name="l00026"></a>00026 <span class="preprocessor">#ifdef __cplusplus</span> | |
59 | <a name="l00027"></a>00027 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> { | |
60 | <a name="l00028"></a>00028 <span class="preprocessor">#endif</span> | |
61 | <a name="l00029"></a>00029 <span class="preprocessor"></span> | |
62 | <a name="l00030"></a>00030 | |
63 | <a name="l00043"></a>00043 <span class="keyword">static</span> inline <span class="keywordtype">int</span> | |
64 | <a name="l00044"></a><a class="code" href="a00062.html#gae06cf330d2f0d9949feb52b146b7d136">00044</a> <a class="code" href="a00062.html#gae06cf330d2f0d9949feb52b146b7d136" title="Get the CPU set of logical processors that are physically close to device cudevice.">hwloc_cuda_get_device_cpuset</a>(<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology , | |
65 | <a name="l00045"></a>00045 CUdevice cudevice, <a class="code" href="a00034.html#ga4bbf39b68b6f568fb92739e7c0ea7801" title="A CPU set is a bitmap whose bits are set according to CPU physical OS indexes.">hwloc_cpuset_t</a> <span class="keyword">set</span>) | |
66 | <a name="l00046"></a>00046 { | |
67 | <a name="l00047"></a>00047 <span class="preprocessor">#ifdef HWLOC_LINUX_SYS</span> | |
68 | <a name="l00048"></a>00048 <span class="preprocessor"></span> <span class="comment">/* If we're on Linux, use the sysfs mechanism to get the local cpus */</span> | |
69 | <a name="l00049"></a>00049 <span class="preprocessor">#define HWLOC_CUDA_DEVICE_SYSFS_PATH_MAX 128</span> | |
70 | <a name="l00050"></a>00050 <span class="preprocessor"></span> CUresult cres; | |
71 | <a name="l00051"></a>00051 <span class="keywordtype">int</span> deviceid; | |
72 | <a name="l00052"></a>00052 <span class="keywordtype">int</span> busid; | |
73 | <a name="l00053"></a>00053 <span class="keywordtype">char</span> path[HWLOC_CUDA_DEVICE_SYSFS_PATH_MAX]; | |
74 | <a name="l00054"></a>00054 FILE *sysfile = NULL; | |
75 | <a name="l00055"></a>00055 | |
76 | <a name="l00056"></a>00056 cres = cuDeviceGetAttribute(&busid, CU_DEVICE_ATTRIBUTE_PCI_BUS_ID, cudevice); | |
77 | <a name="l00057"></a>00057 <span class="keywordflow">if</span> (cres != CUDA_SUCCESS) { | |
78 | <a name="l00058"></a>00058 errno = ENOSYS; | |
79 | <a name="l00059"></a>00059 <span class="keywordflow">return</span> -1; | |
80 | <a name="l00060"></a>00060 } | |
81 | <a name="l00061"></a>00061 cres = cuDeviceGetAttribute(&deviceid, CU_DEVICE_ATTRIBUTE_PCI_DEVICE_ID, cudevice); | |
82 | <a name="l00062"></a>00062 <span class="keywordflow">if</span> (cres != CUDA_SUCCESS) { | |
83 | <a name="l00063"></a>00063 errno = ENOSYS; | |
84 | <a name="l00064"></a>00064 <span class="keywordflow">return</span> -1; | |
85 | <a name="l00065"></a>00065 } | |
86 | <a name="l00066"></a>00066 | |
87 | <a name="l00067"></a>00067 sprintf(path, <span class="stringliteral">"/sys/bus/pci/devices/0000:%02x:%02x.0/local_cpus"</span>, busid, deviceid); | |
88 | <a name="l00068"></a>00068 sysfile = fopen(path, <span class="stringliteral">"r"</span>); | |
89 | <a name="l00069"></a>00069 <span class="keywordflow">if</span> (!sysfile) | |
90 | <a name="l00070"></a>00070 <span class="keywordflow">return</span> -1; | |
91 | <a name="l00071"></a>00071 | |
92 | <a name="l00072"></a>00072 <a class="code" href="a00058.html#gaeacad897c30dbea284948374ad4b010c" title="Convert a linux kernel cpumap file file into hwloc CPU set.">hwloc_linux_parse_cpumap_file</a>(sysfile, <span class="keyword">set</span>); | |
93 | <a name="l00073"></a>00073 | |
94 | <a name="l00074"></a>00074 fclose(sysfile); | |
95 | <a name="l00075"></a>00075 <span class="preprocessor">#else</span> | |
96 | <a name="l00076"></a>00076 <span class="preprocessor"></span> <span class="comment">/* Non-Linux systems simply get a full cpuset */</span> | |
97 | <a name="l00077"></a>00077 <a class="code" href="a00056.html#gab14743355fa03b36cef521cbcd2fbf64" title="Copy the contents of bitmap src into the already allocated bitmap dst.">hwloc_bitmap_copy</a>(<span class="keyword">set</span>, <a class="code" href="a00053.html#ga75f0ac3ac41e9915541c3ae3153a6e26" title="Get complete CPU set.">hwloc_topology_get_complete_cpuset</a>(topology)); | |
98 | <a name="l00078"></a>00078 <span class="preprocessor">#endif</span> | |
99 | <a name="l00079"></a>00079 <span class="preprocessor"></span> <span class="keywordflow">return</span> 0; | |
100 | <a name="l00080"></a>00080 } | |
101 | <a name="l00081"></a>00081 | |
102 | <a name="l00085"></a>00085 <span class="preprocessor">#ifdef __cplusplus</span> | |
103 | <a name="l00086"></a>00086 <span class="preprocessor"></span>} <span class="comment">/* extern "C" */</span> | |
104 | <a name="l00087"></a>00087 <span class="preprocessor">#endif</span> | |
105 | <a name="l00088"></a>00088 <span class="preprocessor"></span> | |
106 | <a name="l00089"></a>00089 | |
107 | <a name="l00090"></a>00090 <span class="preprocessor">#endif </span><span class="comment">/* HWLOC_CUDA_H */</span> | |
96 | 108 | </pre></div></div> |
97 | 109 | </div> |
98 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
110 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
99 | 111 | <a href="http://www.doxygen.org/index.html"> |
100 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
112 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
101 | 113 | </body> |
102 | 114 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
17 | 28 | <li class="current"><a href="files.html"><span>Files</span></a></li> |
18 | 29 | </ul> |
19 | 30 | </div> |
20 | <div class="tabs2"> | |
31 | <div id="navrow2" class="tabs2"> | |
21 | 32 | <ul class="tablist"> |
22 | 33 | <li><a href="files.html"><span>File List</span></a></li> |
23 | 34 | </ul> |
30 | 41 | <div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span> |
31 | 42 | <a name="l00002"></a>00002 <span class="comment"> * Copyright © 2010 INRIA</span> |
32 | 43 | <a name="l00003"></a>00003 <span class="comment"> * Copyright © 2010 Université Bordeaux 1</span> |
33 | <a name="l00004"></a>00004 <span class="comment"> * See COPYING in top-level directory.</span> | |
34 | <a name="l00005"></a>00005 <span class="comment"> */</span> | |
35 | <a name="l00006"></a>00006 | |
36 | <a name="l00015"></a>00015 <span class="preprocessor">#ifndef HWLOC_CUDART_H</span> | |
37 | <a name="l00016"></a>00016 <span class="preprocessor"></span><span class="preprocessor">#define HWLOC_CUDART_H</span> | |
38 | <a name="l00017"></a>00017 <span class="preprocessor"></span> | |
39 | <a name="l00018"></a>00018 <span class="preprocessor">#include <hwloc.h></span> | |
40 | <a name="l00019"></a>00019 <span class="preprocessor">#include <hwloc/config.h></span> | |
41 | <a name="l00020"></a>00020 <span class="preprocessor">#include <hwloc/linux.h></span> | |
42 | <a name="l00021"></a>00021 | |
43 | <a name="l00022"></a>00022 <span class="preprocessor">#include <cuda_runtime_api.h></span> | |
44 | <a name="l00023"></a>00023 | |
44 | <a name="l00004"></a>00004 <span class="comment"> * Copyright © 2011 Cisco Systems, Inc. All rights reserved.</span> | |
45 | <a name="l00005"></a>00005 <span class="comment"> * See COPYING in top-level directory.</span> | |
46 | <a name="l00006"></a>00006 <span class="comment"> */</span> | |
47 | <a name="l00007"></a>00007 | |
48 | <a name="l00016"></a>00016 <span class="preprocessor">#ifndef HWLOC_CUDART_H</span> | |
49 | <a name="l00017"></a>00017 <span class="preprocessor"></span><span class="preprocessor">#define HWLOC_CUDART_H</span> | |
50 | <a name="l00018"></a>00018 <span class="preprocessor"></span> | |
51 | <a name="l00019"></a>00019 <span class="preprocessor">#include <hwloc.h></span> | |
52 | <a name="l00020"></a>00020 <span class="preprocessor">#include <hwloc/autogen/config.h></span> | |
53 | <a name="l00021"></a>00021 <span class="preprocessor">#include <hwloc/linux.h></span> | |
54 | <a name="l00022"></a>00022 | |
55 | <a name="l00023"></a>00023 <span class="preprocessor">#include <cuda_runtime_api.h></span> | |
45 | 56 | <a name="l00024"></a>00024 |
46 | <a name="l00025"></a>00025 <span class="preprocessor">#ifdef __cplusplus</span> | |
47 | <a name="l00026"></a>00026 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> { | |
48 | <a name="l00027"></a>00027 <span class="preprocessor">#endif</span> | |
49 | <a name="l00028"></a>00028 <span class="preprocessor"></span> | |
50 | <a name="l00029"></a>00029 | |
51 | <a name="l00042"></a>00042 <span class="keyword">static</span> inline <span class="keywordtype">int</span> | |
52 | <a name="l00043"></a><a class="code" href="a00063.html#ga2daaf1dd1a9a7f11ccbc6821374120e9">00043</a> <a class="code" href="a00063.html#ga2daaf1dd1a9a7f11ccbc6821374120e9" title="Get the CPU set of logical processors that are physically close to device cudevice.">hwloc_cudart_get_device_cpuset</a>(<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology , | |
53 | <a name="l00044"></a>00044 <span class="keywordtype">int</span> device, <a class="code" href="a00034.html#ga4bbf39b68b6f568fb92739e7c0ea7801" title="A CPU set is a bitmap whose bits are set according to CPU physical OS indexes.">hwloc_cpuset_t</a> <span class="keyword">set</span>) | |
54 | <a name="l00045"></a>00045 { | |
55 | <a name="l00046"></a>00046 <span class="preprocessor">#ifdef HWLOC_LINUX_SYS</span> | |
56 | <a name="l00047"></a>00047 <span class="preprocessor"></span> <span class="comment">/* If we're on Linux, use the sysfs mechanism to get the local cpus */</span> | |
57 | <a name="l00048"></a>00048 <span class="preprocessor">#define HWLOC_CUDART_DEVICE_SYSFS_PATH_MAX 128</span> | |
58 | <a name="l00049"></a>00049 <span class="preprocessor"></span> cudaError_t cerr; | |
59 | <a name="l00050"></a>00050 <span class="keyword">struct </span>cudaDeviceProp prop; | |
60 | <a name="l00051"></a>00051 <span class="keywordtype">char</span> path[HWLOC_CUDART_DEVICE_SYSFS_PATH_MAX]; | |
61 | <a name="l00052"></a>00052 FILE *sysfile = NULL; | |
62 | <a name="l00053"></a>00053 | |
63 | <a name="l00054"></a>00054 cerr = cudaGetDeviceProperties(&prop, device); | |
64 | <a name="l00055"></a>00055 <span class="keywordflow">if</span> (cerr) { | |
65 | <a name="l00056"></a>00056 errno = ENOSYS; | |
66 | <a name="l00057"></a>00057 <span class="keywordflow">return</span> -1; | |
67 | <a name="l00058"></a>00058 } | |
68 | <a name="l00059"></a>00059 | |
69 | <a name="l00060"></a>00060 sprintf(path, <span class="stringliteral">"/sys/bus/pci/devices/0000:%02x:%02x.0/local_cpus"</span>, prop.pciBusID, prop.pciDeviceID); | |
70 | <a name="l00061"></a>00061 sysfile = fopen(path, <span class="stringliteral">"r"</span>); | |
71 | <a name="l00062"></a>00062 <span class="keywordflow">if</span> (!sysfile) | |
72 | <a name="l00063"></a>00063 <span class="keywordflow">return</span> -1; | |
73 | <a name="l00064"></a>00064 | |
74 | <a name="l00065"></a>00065 <a class="code" href="a00058.html#gaeacad897c30dbea284948374ad4b010c" title="Convert a linux kernel cpumap file file into hwloc CPU set.">hwloc_linux_parse_cpumap_file</a>(sysfile, <span class="keyword">set</span>); | |
75 | <a name="l00066"></a>00066 | |
76 | <a name="l00067"></a>00067 fclose(sysfile); | |
77 | <a name="l00068"></a>00068 <span class="preprocessor">#else</span> | |
78 | <a name="l00069"></a>00069 <span class="preprocessor"></span> <span class="comment">/* Non-Linux systems simply get a full cpuset */</span> | |
79 | <a name="l00070"></a>00070 <a class="code" href="a00056.html#gab14743355fa03b36cef521cbcd2fbf64" title="Copy the contents of bitmap src into the already allocated bitmap dst.">hwloc_bitmap_copy</a>(<span class="keyword">set</span>, <a class="code" href="a00053.html#ga75f0ac3ac41e9915541c3ae3153a6e26" title="Get complete CPU set.">hwloc_topology_get_complete_cpuset</a>(topology)); | |
80 | <a name="l00071"></a>00071 <span class="preprocessor">#endif</span> | |
81 | <a name="l00072"></a>00072 <span class="preprocessor"></span> <span class="keywordflow">return</span> 0; | |
82 | <a name="l00073"></a>00073 } | |
83 | <a name="l00074"></a>00074 | |
84 | <a name="l00078"></a>00078 <span class="preprocessor">#ifdef __cplusplus</span> | |
85 | <a name="l00079"></a>00079 <span class="preprocessor"></span>} <span class="comment">/* extern "C" */</span> | |
86 | <a name="l00080"></a>00080 <span class="preprocessor">#endif</span> | |
87 | <a name="l00081"></a>00081 <span class="preprocessor"></span> | |
88 | <a name="l00082"></a>00082 | |
89 | <a name="l00083"></a>00083 <span class="preprocessor">#endif </span><span class="comment">/* HWLOC_CUDART_H */</span> | |
57 | <a name="l00025"></a>00025 | |
58 | <a name="l00026"></a>00026 <span class="preprocessor">#ifdef __cplusplus</span> | |
59 | <a name="l00027"></a>00027 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> { | |
60 | <a name="l00028"></a>00028 <span class="preprocessor">#endif</span> | |
61 | <a name="l00029"></a>00029 <span class="preprocessor"></span> | |
62 | <a name="l00030"></a>00030 | |
63 | <a name="l00043"></a>00043 <span class="keyword">static</span> inline <span class="keywordtype">int</span> | |
64 | <a name="l00044"></a><a class="code" href="a00063.html#ga2daaf1dd1a9a7f11ccbc6821374120e9">00044</a> <a class="code" href="a00063.html#ga2daaf1dd1a9a7f11ccbc6821374120e9" title="Get the CPU set of logical processors that are physically close to device cudevice.">hwloc_cudart_get_device_cpuset</a>(<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology , | |
65 | <a name="l00045"></a>00045 <span class="keywordtype">int</span> device, <a class="code" href="a00034.html#ga4bbf39b68b6f568fb92739e7c0ea7801" title="A CPU set is a bitmap whose bits are set according to CPU physical OS indexes.">hwloc_cpuset_t</a> <span class="keyword">set</span>) | |
66 | <a name="l00046"></a>00046 { | |
67 | <a name="l00047"></a>00047 <span class="preprocessor">#ifdef HWLOC_LINUX_SYS</span> | |
68 | <a name="l00048"></a>00048 <span class="preprocessor"></span> <span class="comment">/* If we're on Linux, use the sysfs mechanism to get the local cpus */</span> | |
69 | <a name="l00049"></a>00049 <span class="preprocessor">#define HWLOC_CUDART_DEVICE_SYSFS_PATH_MAX 128</span> | |
70 | <a name="l00050"></a>00050 <span class="preprocessor"></span> cudaError_t cerr; | |
71 | <a name="l00051"></a>00051 <span class="keyword">struct </span>cudaDeviceProp prop; | |
72 | <a name="l00052"></a>00052 <span class="keywordtype">char</span> path[HWLOC_CUDART_DEVICE_SYSFS_PATH_MAX]; | |
73 | <a name="l00053"></a>00053 FILE *sysfile = NULL; | |
74 | <a name="l00054"></a>00054 | |
75 | <a name="l00055"></a>00055 cerr = cudaGetDeviceProperties(&prop, device); | |
76 | <a name="l00056"></a>00056 <span class="keywordflow">if</span> (cerr) { | |
77 | <a name="l00057"></a>00057 errno = ENOSYS; | |
78 | <a name="l00058"></a>00058 <span class="keywordflow">return</span> -1; | |
79 | <a name="l00059"></a>00059 } | |
80 | <a name="l00060"></a>00060 | |
81 | <a name="l00061"></a>00061 sprintf(path, <span class="stringliteral">"/sys/bus/pci/devices/0000:%02x:%02x.0/local_cpus"</span>, prop.pciBusID, prop.pciDeviceID); | |
82 | <a name="l00062"></a>00062 sysfile = fopen(path, <span class="stringliteral">"r"</span>); | |
83 | <a name="l00063"></a>00063 <span class="keywordflow">if</span> (!sysfile) | |
84 | <a name="l00064"></a>00064 <span class="keywordflow">return</span> -1; | |
85 | <a name="l00065"></a>00065 | |
86 | <a name="l00066"></a>00066 <a class="code" href="a00058.html#gaeacad897c30dbea284948374ad4b010c" title="Convert a linux kernel cpumap file file into hwloc CPU set.">hwloc_linux_parse_cpumap_file</a>(sysfile, <span class="keyword">set</span>); | |
87 | <a name="l00067"></a>00067 | |
88 | <a name="l00068"></a>00068 fclose(sysfile); | |
89 | <a name="l00069"></a>00069 <span class="preprocessor">#else</span> | |
90 | <a name="l00070"></a>00070 <span class="preprocessor"></span> <span class="comment">/* Non-Linux systems simply get a full cpuset */</span> | |
91 | <a name="l00071"></a>00071 <a class="code" href="a00056.html#gab14743355fa03b36cef521cbcd2fbf64" title="Copy the contents of bitmap src into the already allocated bitmap dst.">hwloc_bitmap_copy</a>(<span class="keyword">set</span>, <a class="code" href="a00053.html#ga75f0ac3ac41e9915541c3ae3153a6e26" title="Get complete CPU set.">hwloc_topology_get_complete_cpuset</a>(topology)); | |
92 | <a name="l00072"></a>00072 <span class="preprocessor">#endif</span> | |
93 | <a name="l00073"></a>00073 <span class="preprocessor"></span> <span class="keywordflow">return</span> 0; | |
94 | <a name="l00074"></a>00074 } | |
95 | <a name="l00075"></a>00075 | |
96 | <a name="l00079"></a>00079 <span class="preprocessor">#ifdef __cplusplus</span> | |
97 | <a name="l00080"></a>00080 <span class="preprocessor"></span>} <span class="comment">/* extern "C" */</span> | |
98 | <a name="l00081"></a>00081 <span class="preprocessor">#endif</span> | |
99 | <a name="l00082"></a>00082 <span class="preprocessor"></span> | |
100 | <a name="l00083"></a>00083 | |
101 | <a name="l00084"></a>00084 <span class="preprocessor">#endif </span><span class="comment">/* HWLOC_CUDART_H */</span> | |
90 | 102 | </pre></div></div> |
91 | 103 | </div> |
92 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
104 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
93 | 105 | <a href="http://www.doxygen.org/index.html"> |
94 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
106 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
95 | 107 | </body> |
96 | 108 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
17 | 28 | <li class="current"><a href="files.html"><span>Files</span></a></li> |
18 | 29 | </ul> |
19 | 30 | </div> |
20 | <div class="tabs2"> | |
31 | <div id="navrow2" class="tabs2"> | |
21 | 32 | <ul class="tablist"> |
22 | 33 | <li><a href="files.html"><span>File List</span></a></li> |
23 | 34 | </ul> |
29 | 40 | <div class="contents"> |
30 | 41 | <div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span> |
31 | 42 | <a name="l00002"></a>00002 <span class="comment"> * Copyright © 2009 CNRS</span> |
32 | <a name="l00003"></a>00003 <span class="comment"> * Copyright © 2009-2010 INRIA</span> | |
33 | <a name="l00004"></a>00004 <span class="comment"> * Copyright © 2009-2010 Université Bordeaux 1</span> | |
43 | <a name="l00003"></a>00003 <span class="comment"> * Copyright © 2009-2011 INRIA. All rights reserved.</span> | |
44 | <a name="l00004"></a>00004 <span class="comment"> * Copyright © 2009-2011 Université Bordeaux 1</span> | |
34 | 45 | <a name="l00005"></a>00005 <span class="comment"> * See COPYING in top-level directory.</span> |
35 | 46 | <a name="l00006"></a>00006 <span class="comment"> */</span> |
36 | 47 | <a name="l00007"></a>00007 |
41 | 52 | <a name="l00020"></a>00020 <span class="preprocessor">#include <hwloc/helper.h></span> |
42 | 53 | <a name="l00021"></a>00021 <span class="preprocessor">#include <assert.h></span> |
43 | 54 | <a name="l00022"></a>00022 |
44 | <a name="l00023"></a>00023 <span class="preprocessor">#if !defined _GNU_SOURCE || !defined _SCHED_H</span> | |
45 | <a name="l00024"></a>00024 <span class="preprocessor"></span><span class="preprocessor">#error sched.h must be included with _GNU_SOURCE defined</span> | |
55 | <a name="l00023"></a>00023 <span class="preprocessor">#if !defined _GNU_SOURCE || !defined _SCHED_H || !defined CPU_SETSIZE</span> | |
56 | <a name="l00024"></a>00024 <span class="preprocessor"></span><span class="preprocessor">#error Please make sure to include sched.h before including glibc-sched.h, and define _GNU_SOURCE before any inclusion of sched.h</span> | |
46 | 57 | <a name="l00025"></a>00025 <span class="preprocessor"></span><span class="preprocessor">#endif</span> |
47 | 58 | <a name="l00026"></a>00026 <span class="preprocessor"></span> |
48 | 59 | <a name="l00027"></a>00027 |
115 | 126 | <a name="l00116"></a>00116 <span class="preprocessor">#endif </span><span class="comment">/* HWLOC_GLIBC_SCHED_H */</span> |
116 | 127 | </pre></div></div> |
117 | 128 | </div> |
118 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
129 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
119 | 130 | <a href="http://www.doxygen.org/index.html"> |
120 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
131 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
121 | 132 | </body> |
122 | 133 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
17 | 28 | <li class="current"><a href="files.html"><span>Files</span></a></li> |
18 | 29 | </ul> |
19 | 30 | </div> |
20 | <div class="tabs2"> | |
31 | <div id="navrow2" class="tabs2"> | |
21 | 32 | <ul class="tablist"> |
22 | 33 | <li><a href="files.html"><span>File List</span></a></li> |
23 | 34 | </ul> |
29 | 40 | <div class="contents"> |
30 | 41 | <div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span> |
31 | 42 | <a name="l00002"></a>00002 <span class="comment"> * Copyright © 2009 CNRS</span> |
32 | <a name="l00003"></a>00003 <span class="comment"> * Copyright © 2009-2010 INRIA</span> | |
43 | <a name="l00003"></a>00003 <span class="comment"> * Copyright © 2009-2011 INRIA. All rights reserved.</span> | |
33 | 44 | <a name="l00004"></a>00004 <span class="comment"> * Copyright © 2009-2010 Université Bordeaux 1</span> |
34 | 45 | <a name="l00005"></a>00005 <span class="comment"> * Copyright © 2009-2010 Cisco Systems, Inc. All rights reserved.</span> |
35 | 46 | <a name="l00006"></a>00006 <span class="comment"> * See COPYING in top-level directory.</span> |
172 | 183 | <a name="l00202"></a>00202 <span class="keywordflow">return</span> obj1; |
173 | 184 | <a name="l00203"></a>00203 } |
174 | 185 | <a name="l00204"></a>00204 |
175 | <a name="l00207"></a>00207 <span class="keyword">static</span> inline <span class="keywordtype">int</span> | |
176 | <a name="l00208"></a><a class="code" href="a00046.html#ga38d9bd3a7566d0e6b0ab95d652557707">00208</a> <a class="code" href="a00046.html#ga38d9bd3a7566d0e6b0ab95d652557707" title="Returns true if _obj_ is inside the subtree beginning with subtree_root.">hwloc_obj_is_in_subtree</a> (<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology , <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> obj, <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> subtree_root) | |
177 | <a name="l00209"></a>00209 { | |
178 | <a name="l00210"></a>00210 <span class="keywordflow">return</span> <a class="code" href="a00056.html#gaae29e14a926c198e8f91e6e4790621e7" title="Test whether bitmap sub_bitmap is part of bitmap super_bitmap.">hwloc_bitmap_isincluded</a>(obj-><a class="code" href="a00012.html#a67925e0f2c47f50408fbdb9bddd0790f" title="CPUs covered by this object.">cpuset</a>, subtree_root-><a class="code" href="a00012.html#a67925e0f2c47f50408fbdb9bddd0790f" title="CPUs covered by this object.">cpuset</a>); | |
179 | <a name="l00211"></a>00211 } | |
180 | <a name="l00212"></a>00212 | |
181 | <a name="l00229"></a>00229 <span class="keyword">static</span> inline <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> | |
182 | <a name="l00230"></a><a class="code" href="a00047.html#gabcd5fa81a95fa5335950cae092277d5b">00230</a> <a class="code" href="a00047.html#gabcd5fa81a95fa5335950cae092277d5b" title="Get the first largest object included in the given cpuset set.">hwloc_get_first_largest_obj_inside_cpuset</a>(<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology, <a class="code" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25" title="A non-modifiable hwloc_cpuset_t.">hwloc_const_cpuset_t</a> <span class="keyword">set</span>) | |
183 | <a name="l00231"></a>00231 { | |
184 | <a name="l00232"></a>00232 <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> obj = <a class="code" href="a00046.html#ga632edae4a651996895ebde85ea2c1264" title="Returns the top-object of the topology-tree.">hwloc_get_root_obj</a>(topology); | |
185 | <a name="l00233"></a>00233 <span class="keywordflow">if</span> (!<a class="code" href="a00056.html#ga575c27953709a8cb9a047aae65157526" title="Test whether bitmaps bitmap1 and bitmap2 intersects.">hwloc_bitmap_intersects</a>(obj-><a class="code" href="a00012.html#a67925e0f2c47f50408fbdb9bddd0790f" title="CPUs covered by this object.">cpuset</a>, <span class="keyword">set</span>)) | |
186 | <a name="l00234"></a>00234 <span class="keywordflow">return</span> NULL; | |
187 | <a name="l00235"></a>00235 <span class="keywordflow">while</span> (!<a class="code" href="a00056.html#gaae29e14a926c198e8f91e6e4790621e7" title="Test whether bitmap sub_bitmap is part of bitmap super_bitmap.">hwloc_bitmap_isincluded</a>(obj-><a class="code" href="a00012.html#a67925e0f2c47f50408fbdb9bddd0790f" title="CPUs covered by this object.">cpuset</a>, <span class="keyword">set</span>)) { | |
188 | <a name="l00236"></a>00236 <span class="comment">/* while the object intersects without being included, look at its children */</span> | |
189 | <a name="l00237"></a>00237 <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> child = NULL; | |
190 | <a name="l00238"></a>00238 <span class="keywordflow">while</span> ((child = <a class="code" href="a00046.html#gae5ef1af636849f77714e1584ba78cf9c" title="Return the next child.">hwloc_get_next_child</a>(topology, obj, child)) != NULL) { | |
191 | <a name="l00239"></a>00239 <span class="keywordflow">if</span> (<a class="code" href="a00056.html#ga575c27953709a8cb9a047aae65157526" title="Test whether bitmaps bitmap1 and bitmap2 intersects.">hwloc_bitmap_intersects</a>(child-><a class="code" href="a00012.html#a67925e0f2c47f50408fbdb9bddd0790f" title="CPUs covered by this object.">cpuset</a>, <span class="keyword">set</span>)) | |
192 | <a name="l00240"></a>00240 <span class="keywordflow">break</span>; | |
193 | <a name="l00241"></a>00241 } | |
194 | <a name="l00242"></a>00242 <span class="keywordflow">if</span> (!child) | |
195 | <a name="l00243"></a>00243 <span class="comment">/* no child intersects, return their father */</span> | |
196 | <a name="l00244"></a>00244 <span class="keywordflow">return</span> obj; | |
197 | <a name="l00245"></a>00245 <span class="comment">/* found one intersecting child, look at its children */</span> | |
198 | <a name="l00246"></a>00246 obj = child; | |
199 | <a name="l00247"></a>00247 } | |
200 | <a name="l00248"></a>00248 <span class="comment">/* obj is included, return it */</span> | |
201 | <a name="l00249"></a>00249 <span class="keywordflow">return</span> obj; | |
202 | <a name="l00250"></a>00250 } | |
203 | <a name="l00251"></a>00251 | |
204 | <a name="l00256"></a>00256 <span class="keywordtype">int</span> <a class="code" href="a00047.html#gaab04c89623662e63a48ed2cd48eb601c" title="Get the set of largest objects covering exactly a given cpuset set.">hwloc_get_largest_objs_inside_cpuset</a> (<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology, <a class="code" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25" title="A non-modifiable hwloc_cpuset_t.">hwloc_const_cpuset_t</a> <span class="keyword">set</span>, | |
205 | <a name="l00257"></a>00257 <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> * restrict objs, <span class="keywordtype">int</span> max); | |
206 | <a name="l00258"></a>00258 | |
207 | <a name="l00265"></a>00265 <span class="keyword">static</span> inline <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> | |
208 | <a name="l00266"></a><a class="code" href="a00047.html#ga8af256c2572f16520f95440b884c1bd6">00266</a> <a class="code" href="a00047.html#ga8af256c2572f16520f95440b884c1bd6" title="Return the next object at depth depth included in CPU set set.">hwloc_get_next_obj_inside_cpuset_by_depth</a> (<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology, <a class="code" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25" title="A non-modifiable hwloc_cpuset_t.">hwloc_const_cpuset_t</a> <span class="keyword">set</span>, | |
209 | <a name="l00267"></a>00267 <span class="keywordtype">unsigned</span> depth, <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> prev) | |
210 | <a name="l00268"></a>00268 { | |
211 | <a name="l00269"></a>00269 <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> next = <a class="code" href="a00046.html#gab7c1dce3f42ece5bfa621e87cf332418" title="Returns the next object at depth depth.">hwloc_get_next_obj_by_depth</a>(topology, depth, prev); | |
212 | <a name="l00270"></a>00270 <span class="keywordflow">while</span> (next && !<a class="code" href="a00056.html#gaae29e14a926c198e8f91e6e4790621e7" title="Test whether bitmap sub_bitmap is part of bitmap super_bitmap.">hwloc_bitmap_isincluded</a>(next-><a class="code" href="a00012.html#a67925e0f2c47f50408fbdb9bddd0790f" title="CPUs covered by this object.">cpuset</a>, <span class="keyword">set</span>)) | |
213 | <a name="l00271"></a>00271 next = next-><a class="code" href="a00012.html#a85a788017457129589318b6c39451acf" title="Next object of same type.">next_cousin</a>; | |
214 | <a name="l00272"></a>00272 <span class="keywordflow">return</span> next; | |
215 | <a name="l00273"></a>00273 } | |
216 | <a name="l00274"></a>00274 | |
217 | <a name="l00281"></a>00281 <span class="keyword">static</span> inline <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> | |
218 | <a name="l00282"></a><a class="code" href="a00047.html#ga934e7ecd68b33403e0c0be779d9ed1e6">00282</a> <a class="code" href="a00047.html#ga934e7ecd68b33403e0c0be779d9ed1e6" title="Return the next object of type type included in CPU set set.">hwloc_get_next_obj_inside_cpuset_by_type</a> (<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology, <a class="code" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25" title="A non-modifiable hwloc_cpuset_t.">hwloc_const_cpuset_t</a> <span class="keyword">set</span>, | |
219 | <a name="l00283"></a>00283 <a class="code" href="a00035.html#gacd37bb612667dc437d66bfb175a8dc55" title="Type of topology object.">hwloc_obj_type_t</a> type, <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> prev) | |
220 | <a name="l00284"></a>00284 { | |
221 | <a name="l00285"></a>00285 <span class="keywordtype">int</span> depth = <a class="code" href="a00040.html#gaea7c64dd59467f5201ba87712710b14d" title="Returns the depth of objects of type type.">hwloc_get_type_depth</a>(topology, type); | |
222 | <a name="l00286"></a>00286 <span class="keywordflow">if</span> (depth == <a class="code" href="a00040.html#ggaf4e663cf42bbe20756b849c6293ef575a0565ab92ab72cb0cec91e23003294aad" title="No object of given type exists in the topology.">HWLOC_TYPE_DEPTH_UNKNOWN</a> || depth == <a class="code" href="a00040.html#ggaf4e663cf42bbe20756b849c6293ef575ae99465995cacde6c210d5fc2e409798c" title="Objects of given type exist at different depth in the topology.">HWLOC_TYPE_DEPTH_MULTIPLE</a>) | |
223 | <a name="l00287"></a>00287 <span class="keywordflow">return</span> NULL; | |
224 | <a name="l00288"></a>00288 <span class="keywordflow">return</span> <a class="code" href="a00047.html#ga8af256c2572f16520f95440b884c1bd6" title="Return the next object at depth depth included in CPU set set.">hwloc_get_next_obj_inside_cpuset_by_depth</a>(topology, <span class="keyword">set</span>, depth, prev); | |
225 | <a name="l00289"></a>00289 } | |
226 | <a name="l00290"></a>00290 | |
227 | <a name="l00293"></a>00293 <span class="keyword">static</span> inline <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> | |
228 | <a name="l00294"></a><a class="code" href="a00047.html#ga20703980008f82379f98f56857611a1a">00294</a> <a class="code" href="a00047.html#ga20703980008f82379f98f56857611a1a" title="Return the index -th object at depth depth included in CPU set set.">hwloc_get_obj_inside_cpuset_by_depth</a> (<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology, <a class="code" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25" title="A non-modifiable hwloc_cpuset_t.">hwloc_const_cpuset_t</a> <span class="keyword">set</span>, | |
229 | <a name="l00295"></a>00295 <span class="keywordtype">unsigned</span> depth, <span class="keywordtype">unsigned</span> idx) | |
230 | <a name="l00296"></a>00296 { | |
231 | <a name="l00297"></a>00297 <span class="keywordtype">unsigned</span> count = 0; | |
232 | <a name="l00298"></a>00298 <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> obj = <a class="code" href="a00041.html#gaedd78240b0c1108355586a268ec5a697" title="Returns the topology object at index index from depth depth.">hwloc_get_obj_by_depth</a> (topology, depth, 0); | |
233 | <a name="l00299"></a>00299 <span class="keywordflow">while</span> (obj) { | |
234 | <a name="l00300"></a>00300 <span class="keywordflow">if</span> (<a class="code" href="a00056.html#gaae29e14a926c198e8f91e6e4790621e7" title="Test whether bitmap sub_bitmap is part of bitmap super_bitmap.">hwloc_bitmap_isincluded</a>(obj-><a class="code" href="a00012.html#a67925e0f2c47f50408fbdb9bddd0790f" title="CPUs covered by this object.">cpuset</a>, <span class="keyword">set</span>)) { | |
235 | <a name="l00301"></a>00301 <span class="keywordflow">if</span> (count == idx) | |
236 | <a name="l00302"></a>00302 <span class="keywordflow">return</span> obj; | |
237 | <a name="l00303"></a>00303 count++; | |
238 | <a name="l00304"></a>00304 } | |
239 | <a name="l00305"></a>00305 obj = obj-><a class="code" href="a00012.html#a85a788017457129589318b6c39451acf" title="Next object of same type.">next_cousin</a>; | |
240 | <a name="l00306"></a>00306 } | |
241 | <a name="l00307"></a>00307 <span class="keywordflow">return</span> NULL; | |
242 | <a name="l00308"></a>00308 } | |
243 | <a name="l00309"></a>00309 | |
244 | <a name="l00316"></a>00316 <span class="keyword">static</span> inline <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> | |
245 | <a name="l00317"></a><a class="code" href="a00047.html#ga50a80a0021e5843d968c3b97aebaad9b">00317</a> <a class="code" href="a00047.html#ga50a80a0021e5843d968c3b97aebaad9b" title="Return the idx -th object of type type included in CPU set set.">hwloc_get_obj_inside_cpuset_by_type</a> (<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology, <a class="code" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25" title="A non-modifiable hwloc_cpuset_t.">hwloc_const_cpuset_t</a> <span class="keyword">set</span>, | |
246 | <a name="l00318"></a>00318 <a class="code" href="a00035.html#gacd37bb612667dc437d66bfb175a8dc55" title="Type of topology object.">hwloc_obj_type_t</a> type, <span class="keywordtype">unsigned</span> idx) | |
247 | <a name="l00319"></a>00319 { | |
248 | <a name="l00320"></a>00320 <span class="keywordtype">int</span> depth = <a class="code" href="a00040.html#gaea7c64dd59467f5201ba87712710b14d" title="Returns the depth of objects of type type.">hwloc_get_type_depth</a>(topology, type); | |
249 | <a name="l00321"></a>00321 <span class="keywordflow">if</span> (depth == <a class="code" href="a00040.html#ggaf4e663cf42bbe20756b849c6293ef575a0565ab92ab72cb0cec91e23003294aad" title="No object of given type exists in the topology.">HWLOC_TYPE_DEPTH_UNKNOWN</a> || depth == <a class="code" href="a00040.html#ggaf4e663cf42bbe20756b849c6293ef575ae99465995cacde6c210d5fc2e409798c" title="Objects of given type exist at different depth in the topology.">HWLOC_TYPE_DEPTH_MULTIPLE</a>) | |
250 | <a name="l00322"></a>00322 <span class="keywordflow">return</span> NULL; | |
251 | <a name="l00323"></a>00323 <span class="keywordflow">return</span> <a class="code" href="a00047.html#ga20703980008f82379f98f56857611a1a" title="Return the index -th object at depth depth included in CPU set set.">hwloc_get_obj_inside_cpuset_by_depth</a>(topology, <span class="keyword">set</span>, depth, idx); | |
252 | <a name="l00324"></a>00324 } | |
253 | <a name="l00325"></a>00325 | |
254 | <a name="l00327"></a>00327 <span class="keyword">static</span> inline <span class="keywordtype">unsigned</span> | |
255 | <a name="l00328"></a><a class="code" href="a00047.html#ga6807db0012369efe19b8d3dcee235493">00328</a> <a class="code" href="a00047.html#ga6807db0012369efe19b8d3dcee235493" title="Return the number of objects at depth depth included in CPU set set.">hwloc_get_nbobjs_inside_cpuset_by_depth</a> (<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology, <a class="code" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25" title="A non-modifiable hwloc_cpuset_t.">hwloc_const_cpuset_t</a> <span class="keyword">set</span>, | |
256 | <a name="l00329"></a>00329 <span class="keywordtype">unsigned</span> depth) | |
257 | <a name="l00330"></a>00330 { | |
258 | <a name="l00331"></a>00331 <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> obj = <a class="code" href="a00041.html#gaedd78240b0c1108355586a268ec5a697" title="Returns the topology object at index index from depth depth.">hwloc_get_obj_by_depth</a> (topology, depth, 0); | |
259 | <a name="l00332"></a>00332 <span class="keywordtype">int</span> count = 0; | |
260 | <a name="l00333"></a>00333 <span class="keywordflow">while</span> (obj) { | |
261 | <a name="l00334"></a>00334 <span class="keywordflow">if</span> (<a class="code" href="a00056.html#gaae29e14a926c198e8f91e6e4790621e7" title="Test whether bitmap sub_bitmap is part of bitmap super_bitmap.">hwloc_bitmap_isincluded</a>(obj-><a class="code" href="a00012.html#a67925e0f2c47f50408fbdb9bddd0790f" title="CPUs covered by this object.">cpuset</a>, <span class="keyword">set</span>)) | |
262 | <a name="l00335"></a>00335 count++; | |
263 | <a name="l00336"></a>00336 obj = obj-><a class="code" href="a00012.html#a85a788017457129589318b6c39451acf" title="Next object of same type.">next_cousin</a>; | |
264 | <a name="l00337"></a>00337 } | |
265 | <a name="l00338"></a>00338 <span class="keywordflow">return</span> count; | |
266 | <a name="l00339"></a>00339 } | |
267 | <a name="l00340"></a>00340 | |
268 | <a name="l00347"></a>00347 <span class="keyword">static</span> inline <span class="keywordtype">int</span> | |
269 | <a name="l00348"></a><a class="code" href="a00047.html#ga72c5bc4317a4c3938e32447b769813a0">00348</a> <a class="code" href="a00047.html#ga72c5bc4317a4c3938e32447b769813a0" title="Return the number of objects of type type included in CPU set set.">hwloc_get_nbobjs_inside_cpuset_by_type</a> (<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology, <a class="code" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25" title="A non-modifiable hwloc_cpuset_t.">hwloc_const_cpuset_t</a> <span class="keyword">set</span>, | |
270 | <a name="l00349"></a>00349 <a class="code" href="a00035.html#gacd37bb612667dc437d66bfb175a8dc55" title="Type of topology object.">hwloc_obj_type_t</a> type) | |
271 | <a name="l00350"></a>00350 { | |
272 | <a name="l00351"></a>00351 <span class="keywordtype">int</span> depth = <a class="code" href="a00040.html#gaea7c64dd59467f5201ba87712710b14d" title="Returns the depth of objects of type type.">hwloc_get_type_depth</a>(topology, type); | |
273 | <a name="l00352"></a>00352 <span class="keywordflow">if</span> (depth == <a class="code" href="a00040.html#ggaf4e663cf42bbe20756b849c6293ef575a0565ab92ab72cb0cec91e23003294aad" title="No object of given type exists in the topology.">HWLOC_TYPE_DEPTH_UNKNOWN</a>) | |
274 | <a name="l00353"></a>00353 <span class="keywordflow">return</span> 0; | |
275 | <a name="l00354"></a>00354 <span class="keywordflow">if</span> (depth == <a class="code" href="a00040.html#ggaf4e663cf42bbe20756b849c6293ef575ae99465995cacde6c210d5fc2e409798c" title="Objects of given type exist at different depth in the topology.">HWLOC_TYPE_DEPTH_MULTIPLE</a>) | |
276 | <a name="l00355"></a>00355 <span class="keywordflow">return</span> -1; <span class="comment">/* FIXME: agregate nbobjs from different levels? */</span> | |
277 | <a name="l00356"></a>00356 <span class="keywordflow">return</span> <a class="code" href="a00047.html#ga6807db0012369efe19b8d3dcee235493" title="Return the number of objects at depth depth included in CPU set set.">hwloc_get_nbobjs_inside_cpuset_by_depth</a>(topology, <span class="keyword">set</span>, depth); | |
278 | <a name="l00357"></a>00357 } | |
279 | <a name="l00358"></a>00358 | |
280 | <a name="l00371"></a>00371 <span class="keyword">static</span> inline <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> | |
281 | <a name="l00372"></a><a class="code" href="a00048.html#gab56b99460194bbcb36016d36d55132a7">00372</a> <a class="code" href="a00048.html#gab56b99460194bbcb36016d36d55132a7" title="Get the child covering at least CPU set set.">hwloc_get_child_covering_cpuset</a> (<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology , <a class="code" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25" title="A non-modifiable hwloc_cpuset_t.">hwloc_const_cpuset_t</a> <span class="keyword">set</span>, | |
282 | <a name="l00373"></a>00373 <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> parent) | |
283 | <a name="l00374"></a>00374 { | |
284 | <a name="l00375"></a>00375 <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> child; | |
285 | <a name="l00376"></a>00376 | |
286 | <a name="l00377"></a>00377 <span class="keywordflow">if</span> (<a class="code" href="a00056.html#gaa94fed35d2a598bc4a8657b6955b7bf5" title="Test whether bitmap bitmap is empty.">hwloc_bitmap_iszero</a>(<span class="keyword">set</span>)) | |
287 | <a name="l00378"></a>00378 <span class="keywordflow">return</span> NULL; | |
288 | <a name="l00379"></a>00379 | |
289 | <a name="l00380"></a>00380 child = parent-><a class="code" href="a00012.html#af51d08a0a79dba517c06c5afedc8d2dc" title="First child.">first_child</a>; | |
290 | <a name="l00381"></a>00381 <span class="keywordflow">while</span> (child) { | |
291 | <a name="l00382"></a>00382 <span class="keywordflow">if</span> (<a class="code" href="a00056.html#gaae29e14a926c198e8f91e6e4790621e7" title="Test whether bitmap sub_bitmap is part of bitmap super_bitmap.">hwloc_bitmap_isincluded</a>(<span class="keyword">set</span>, child-><a class="code" href="a00012.html#a67925e0f2c47f50408fbdb9bddd0790f" title="CPUs covered by this object.">cpuset</a>)) | |
292 | <a name="l00383"></a>00383 <span class="keywordflow">return</span> child; | |
293 | <a name="l00384"></a>00384 child = child-><a class="code" href="a00012.html#a7f2343ed476fe4942e6fffd4cade1b40" title="Next object below the same parent.">next_sibling</a>; | |
294 | <a name="l00385"></a>00385 } | |
295 | <a name="l00386"></a>00386 <span class="keywordflow">return</span> NULL; | |
296 | <a name="l00387"></a>00387 } | |
297 | <a name="l00388"></a>00388 | |
298 | <a name="l00393"></a>00393 <span class="keyword">static</span> inline <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> | |
299 | <a name="l00394"></a><a class="code" href="a00048.html#ga2a0de36ea0c3c70fb5f4cba0bb192582">00394</a> <a class="code" href="a00048.html#ga2a0de36ea0c3c70fb5f4cba0bb192582" title="Get the lowest object covering at least CPU set set.">hwloc_get_obj_covering_cpuset</a> (<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology, <a class="code" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25" title="A non-modifiable hwloc_cpuset_t.">hwloc_const_cpuset_t</a> <span class="keyword">set</span>) | |
300 | <a name="l00395"></a>00395 { | |
301 | <a name="l00396"></a>00396 <span class="keyword">struct </span><a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj</a> *current = <a class="code" href="a00046.html#ga632edae4a651996895ebde85ea2c1264" title="Returns the top-object of the topology-tree.">hwloc_get_root_obj</a>(topology); | |
302 | <a name="l00397"></a>00397 | |
303 | <a name="l00398"></a>00398 <span class="keywordflow">if</span> (<a class="code" href="a00056.html#gaa94fed35d2a598bc4a8657b6955b7bf5" title="Test whether bitmap bitmap is empty.">hwloc_bitmap_iszero</a>(<span class="keyword">set</span>)) | |
304 | <a name="l00399"></a>00399 <span class="keywordflow">return</span> NULL; | |
305 | <a name="l00400"></a>00400 | |
306 | <a name="l00401"></a>00401 <span class="keywordflow">if</span> (!<a class="code" href="a00056.html#gaae29e14a926c198e8f91e6e4790621e7" title="Test whether bitmap sub_bitmap is part of bitmap super_bitmap.">hwloc_bitmap_isincluded</a>(<span class="keyword">set</span>, current-><a class="code" href="a00012.html#a67925e0f2c47f50408fbdb9bddd0790f" title="CPUs covered by this object.">cpuset</a>)) | |
307 | <a name="l00402"></a>00402 <span class="keywordflow">return</span> NULL; | |
308 | <a name="l00403"></a>00403 | |
309 | <a name="l00404"></a>00404 <span class="keywordflow">while</span> (1) { | |
310 | <a name="l00405"></a>00405 <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> child = <a class="code" href="a00048.html#gab56b99460194bbcb36016d36d55132a7" title="Get the child covering at least CPU set set.">hwloc_get_child_covering_cpuset</a>(topology, <span class="keyword">set</span>, current); | |
311 | <a name="l00406"></a>00406 <span class="keywordflow">if</span> (!child) | |
312 | <a name="l00407"></a>00407 <span class="keywordflow">return</span> current; | |
313 | <a name="l00408"></a>00408 current = child; | |
314 | <a name="l00409"></a>00409 } | |
315 | <a name="l00410"></a>00410 } | |
316 | <a name="l00411"></a>00411 | |
317 | <a name="l00412"></a>00412 | |
318 | <a name="l00428"></a>00428 <span class="keyword">static</span> inline <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> | |
319 | <a name="l00429"></a><a class="code" href="a00049.html#ga2f9a4ec15e9cfae8c21501257a51ce5b">00429</a> <a class="code" href="a00049.html#ga2f9a4ec15e9cfae8c21501257a51ce5b" title="Iterate through same-depth objects covering at least CPU set set.">hwloc_get_next_obj_covering_cpuset_by_depth</a>(<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology, <a class="code" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25" title="A non-modifiable hwloc_cpuset_t.">hwloc_const_cpuset_t</a> <span class="keyword">set</span>, | |
320 | <a name="l00430"></a>00430 <span class="keywordtype">unsigned</span> <a class="code" href="a00012.html#a9d82690370275d42d652eccdea5d3ee5" title="Vertical index in the hierarchy.">depth</a>, <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> prev) | |
321 | <a name="l00431"></a>00431 { | |
322 | <a name="l00432"></a>00432 <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> next = <a class="code" href="a00046.html#gab7c1dce3f42ece5bfa621e87cf332418" title="Returns the next object at depth depth.">hwloc_get_next_obj_by_depth</a>(topology, depth, prev); | |
323 | <a name="l00433"></a>00433 <span class="keywordflow">while</span> (next && !<a class="code" href="a00056.html#ga575c27953709a8cb9a047aae65157526" title="Test whether bitmaps bitmap1 and bitmap2 intersects.">hwloc_bitmap_intersects</a>(<span class="keyword">set</span>, next-><a class="code" href="a00012.html#a67925e0f2c47f50408fbdb9bddd0790f" title="CPUs covered by this object.">cpuset</a>)) | |
324 | <a name="l00434"></a>00434 next = next-><a class="code" href="a00012.html#a85a788017457129589318b6c39451acf" title="Next object of same type.">next_cousin</a>; | |
325 | <a name="l00435"></a>00435 <span class="keywordflow">return</span> next; | |
326 | <a name="l00436"></a>00436 } | |
327 | <a name="l00437"></a>00437 | |
328 | <a name="l00450"></a>00450 <span class="keyword">static</span> inline <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> | |
329 | <a name="l00451"></a><a class="code" href="a00049.html#ga5915ea30f326676b3a4cfff371ce04d1">00451</a> <a class="code" href="a00049.html#ga5915ea30f326676b3a4cfff371ce04d1" title="Iterate through same-type objects covering at least CPU set set.">hwloc_get_next_obj_covering_cpuset_by_type</a>(<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology, <a class="code" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25" title="A non-modifiable hwloc_cpuset_t.">hwloc_const_cpuset_t</a> <span class="keyword">set</span>, | |
330 | <a name="l00452"></a>00452 <a class="code" href="a00035.html#gacd37bb612667dc437d66bfb175a8dc55" title="Type of topology object.">hwloc_obj_type_t</a> <a class="code" href="a00012.html#acc4f0803f244867e68fe0036800be5de" title="Type of object.">type</a>, <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> prev) | |
331 | <a name="l00453"></a>00453 { | |
332 | <a name="l00454"></a>00454 <span class="keywordtype">int</span> <a class="code" href="a00012.html#a9d82690370275d42d652eccdea5d3ee5" title="Vertical index in the hierarchy.">depth</a> = <a class="code" href="a00040.html#gaea7c64dd59467f5201ba87712710b14d" title="Returns the depth of objects of type type.">hwloc_get_type_depth</a>(topology, type); | |
333 | <a name="l00455"></a>00455 <span class="keywordflow">if</span> (depth == <a class="code" href="a00040.html#ggaf4e663cf42bbe20756b849c6293ef575a0565ab92ab72cb0cec91e23003294aad" title="No object of given type exists in the topology.">HWLOC_TYPE_DEPTH_UNKNOWN</a> || depth == <a class="code" href="a00040.html#ggaf4e663cf42bbe20756b849c6293ef575ae99465995cacde6c210d5fc2e409798c" title="Objects of given type exist at different depth in the topology.">HWLOC_TYPE_DEPTH_MULTIPLE</a>) | |
334 | <a name="l00456"></a>00456 <span class="keywordflow">return</span> NULL; | |
335 | <a name="l00457"></a>00457 <span class="keywordflow">return</span> <a class="code" href="a00049.html#ga2f9a4ec15e9cfae8c21501257a51ce5b" title="Iterate through same-depth objects covering at least CPU set set.">hwloc_get_next_obj_covering_cpuset_by_depth</a>(topology, <span class="keyword">set</span>, depth, prev); | |
336 | <a name="l00458"></a>00458 } | |
337 | <a name="l00459"></a>00459 | |
338 | <a name="l00472"></a>00472 <span class="keyword">static</span> inline <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> | |
339 | <a name="l00473"></a><a class="code" href="a00050.html#gae744419648117cbd613a038074aa0627">00473</a> <a class="code" href="a00050.html#gae744419648117cbd613a038074aa0627" title="Get the first cache covering a cpuset set.">hwloc_get_cache_covering_cpuset</a> (<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology, <a class="code" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25" title="A non-modifiable hwloc_cpuset_t.">hwloc_const_cpuset_t</a> <span class="keyword">set</span>) | |
340 | <a name="l00474"></a>00474 { | |
341 | <a name="l00475"></a>00475 <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> current = <a class="code" href="a00048.html#ga2a0de36ea0c3c70fb5f4cba0bb192582" title="Get the lowest object covering at least CPU set set.">hwloc_get_obj_covering_cpuset</a>(topology, <span class="keyword">set</span>); | |
342 | <a name="l00476"></a>00476 <span class="keywordflow">while</span> (current) { | |
343 | <a name="l00477"></a>00477 <span class="keywordflow">if</span> (current-><a class="code" href="a00012.html#acc4f0803f244867e68fe0036800be5de" title="Type of object.">type</a> == <a class="code" href="a00035.html#ggacd37bb612667dc437d66bfb175a8dc55a56ee0b7eca88f363b75b34fdde8c9ddc" title="Data cache. Can be L1, L2, L3, ...">HWLOC_OBJ_CACHE</a>) | |
344 | <a name="l00478"></a>00478 <span class="keywordflow">return</span> current; | |
345 | <a name="l00479"></a>00479 current = current-><a class="code" href="a00012.html#adc494f6aed939992be1c55cca5822900" title="Parent, NULL if root (system object)">parent</a>; | |
346 | <a name="l00480"></a>00480 } | |
347 | <a name="l00481"></a>00481 <span class="keywordflow">return</span> NULL; | |
348 | <a name="l00482"></a>00482 } | |
349 | <a name="l00483"></a>00483 | |
350 | <a name="l00488"></a>00488 <span class="keyword">static</span> inline <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> | |
351 | <a name="l00489"></a><a class="code" href="a00050.html#ga75e961873d4b976ab10bc4739248c96d">00489</a> <a class="code" href="a00050.html#ga75e961873d4b976ab10bc4739248c96d" title="Get the first cache shared between an object and somebody else.">hwloc_get_shared_cache_covering_obj</a> (<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology , <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> obj) | |
352 | <a name="l00490"></a>00490 { | |
353 | <a name="l00491"></a>00491 <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> current = obj-><a class="code" href="a00012.html#adc494f6aed939992be1c55cca5822900" title="Parent, NULL if root (system object)">parent</a>; | |
354 | <a name="l00492"></a>00492 <span class="keywordflow">while</span> (current) { | |
355 | <a name="l00493"></a>00493 <span class="keywordflow">if</span> (!<a class="code" href="a00056.html#ga4dd6a75ab63d33ef33bd626b0e489388" title="Test whether bitmap bitmap1 is equal to bitmap bitmap2.">hwloc_bitmap_isequal</a>(current-><a class="code" href="a00012.html#a67925e0f2c47f50408fbdb9bddd0790f" title="CPUs covered by this object.">cpuset</a>, obj-><a class="code" href="a00012.html#a67925e0f2c47f50408fbdb9bddd0790f" title="CPUs covered by this object.">cpuset</a>) | |
356 | <a name="l00494"></a>00494 && current-><a class="code" href="a00012.html#acc4f0803f244867e68fe0036800be5de" title="Type of object.">type</a> == <a class="code" href="a00035.html#ggacd37bb612667dc437d66bfb175a8dc55a56ee0b7eca88f363b75b34fdde8c9ddc" title="Data cache. Can be L1, L2, L3, ...">HWLOC_OBJ_CACHE</a>) | |
357 | <a name="l00495"></a>00495 <span class="keywordflow">return</span> current; | |
358 | <a name="l00496"></a>00496 current = current-><a class="code" href="a00012.html#adc494f6aed939992be1c55cca5822900" title="Parent, NULL if root (system object)">parent</a>; | |
359 | <a name="l00497"></a>00497 } | |
360 | <a name="l00498"></a>00498 <span class="keywordflow">return</span> NULL; | |
361 | <a name="l00499"></a>00499 } | |
362 | <a name="l00500"></a>00500 | |
363 | <a name="l00516"></a>00516 <span class="comment">/* TODO: rather provide an iterator? Provide a way to know how much should be allocated? By returning the total number of objects instead? */</span> | |
364 | <a name="l00517"></a>00517 <span class="keywordtype">unsigned</span> <a class="code" href="a00051.html#ga26c2ac4f25b1ed293249c88e232f1bea" title="Do a depth-first traversal of the topology to find and sort.">hwloc_get_closest_objs</a> (<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology, <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> src, <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> * restrict objs, <span class="keywordtype">unsigned</span> max); | |
365 | <a name="l00518"></a>00518 | |
366 | <a name="l00529"></a>00529 <span class="keyword">static</span> inline <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> | |
367 | <a name="l00530"></a><a class="code" href="a00051.html#ga3d32c128aa36b5c9d56f6bf9e70d0e78">00530</a> <a class="code" href="a00051.html#ga3d32c128aa36b5c9d56f6bf9e70d0e78" title="Find an object below another object, both specified by types and indexes.">hwloc_get_obj_below_by_type</a> (<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology, | |
368 | <a name="l00531"></a>00531 <a class="code" href="a00035.html#gacd37bb612667dc437d66bfb175a8dc55" title="Type of topology object.">hwloc_obj_type_t</a> type1, <span class="keywordtype">unsigned</span> idx1, | |
369 | <a name="l00532"></a>00532 <a class="code" href="a00035.html#gacd37bb612667dc437d66bfb175a8dc55" title="Type of topology object.">hwloc_obj_type_t</a> type2, <span class="keywordtype">unsigned</span> idx2) | |
370 | <a name="l00533"></a>00533 { | |
371 | <a name="l00534"></a>00534 <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> obj; | |
372 | <a name="l00535"></a>00535 | |
373 | <a name="l00536"></a>00536 obj = <a class="code" href="a00041.html#ga701f83b2cf0cb8e0acd58cd2dc1c67a2" title="Returns the topology object at index index with type type.">hwloc_get_obj_by_type</a> (topology, type1, idx1); | |
374 | <a name="l00537"></a>00537 <span class="keywordflow">if</span> (!obj) | |
375 | <a name="l00538"></a>00538 <span class="keywordflow">return</span> NULL; | |
376 | <a name="l00539"></a>00539 | |
377 | <a name="l00540"></a>00540 <span class="keywordflow">return</span> <a class="code" href="a00047.html#ga50a80a0021e5843d968c3b97aebaad9b" title="Return the idx -th object of type type included in CPU set set.">hwloc_get_obj_inside_cpuset_by_type</a>(topology, obj-><a class="code" href="a00012.html#a67925e0f2c47f50408fbdb9bddd0790f" title="CPUs covered by this object.">cpuset</a>, type2, idx2); | |
378 | <a name="l00541"></a>00541 } | |
379 | <a name="l00542"></a>00542 | |
380 | <a name="l00558"></a>00558 <span class="keyword">static</span> inline <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> | |
381 | <a name="l00559"></a><a class="code" href="a00051.html#ga340bb7021204078c30382ea77d38bde9">00559</a> <a class="code" href="a00051.html#ga340bb7021204078c30382ea77d38bde9" title="Find an object below a chain of objects specified by types and indexes.">hwloc_get_obj_below_array_by_type</a> (<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology, <span class="keywordtype">int</span> nr, <a class="code" href="a00035.html#gacd37bb612667dc437d66bfb175a8dc55" title="Type of topology object.">hwloc_obj_type_t</a> *typev, <span class="keywordtype">unsigned</span> *idxv) | |
382 | <a name="l00560"></a>00560 { | |
383 | <a name="l00561"></a>00561 <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> obj = <a class="code" href="a00046.html#ga632edae4a651996895ebde85ea2c1264" title="Returns the top-object of the topology-tree.">hwloc_get_root_obj</a>(topology); | |
384 | <a name="l00562"></a>00562 <span class="keywordtype">int</span> i; | |
385 | <a name="l00563"></a>00563 | |
386 | <a name="l00564"></a>00564 <span class="keywordflow">for</span>(i=0; i<nr; i++) { | |
387 | <a name="l00565"></a>00565 obj = <a class="code" href="a00047.html#ga50a80a0021e5843d968c3b97aebaad9b" title="Return the idx -th object of type type included in CPU set set.">hwloc_get_obj_inside_cpuset_by_type</a>(topology, obj-><a class="code" href="a00012.html#a67925e0f2c47f50408fbdb9bddd0790f" title="CPUs covered by this object.">cpuset</a>, typev[i], idxv[i]); | |
388 | <a name="l00566"></a>00566 <span class="keywordflow">if</span> (!obj) | |
389 | <a name="l00567"></a>00567 <span class="keywordflow">return</span> NULL; | |
390 | <a name="l00568"></a>00568 } | |
391 | <a name="l00569"></a>00569 | |
392 | <a name="l00570"></a>00570 <span class="keywordflow">return</span> obj; | |
393 | <a name="l00571"></a>00571 } | |
394 | <a name="l00572"></a>00572 | |
395 | <a name="l00594"></a>00594 <span class="keyword">static</span> inline <span class="keywordtype">void</span> | |
396 | <a name="l00595"></a>00595 <a class="code" href="a00052.html#gaf057d7c5e3cb3df897ce527258537619" title="Distribute n items over the topology under root.">hwloc_distributev</a>(<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology, <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> *root, <span class="keywordtype">unsigned</span> n_roots, <a class="code" href="a00034.html#ga4bbf39b68b6f568fb92739e7c0ea7801" title="A CPU set is a bitmap whose bits are set according to CPU physical OS indexes.">hwloc_cpuset_t</a> *<a class="code" href="a00012.html#a67925e0f2c47f50408fbdb9bddd0790f" title="CPUs covered by this object.">cpuset</a>, <span class="keywordtype">unsigned</span> n, <span class="keywordtype">unsigned</span> until); | |
186 | <a name="l00209"></a>00209 <span class="keyword">static</span> inline <span class="keywordtype">int</span> | |
187 | <a name="l00210"></a><a class="code" href="a00046.html#ga38d9bd3a7566d0e6b0ab95d652557707">00210</a> <a class="code" href="a00046.html#ga38d9bd3a7566d0e6b0ab95d652557707" title="Returns true if obj is inside the subtree beginning with subtree_root.">hwloc_obj_is_in_subtree</a> (<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology , <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> obj, <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> subtree_root) | |
188 | <a name="l00211"></a>00211 { | |
189 | <a name="l00212"></a>00212 <span class="keywordflow">return</span> <a class="code" href="a00056.html#gaae29e14a926c198e8f91e6e4790621e7" title="Test whether bitmap sub_bitmap is part of bitmap super_bitmap.">hwloc_bitmap_isincluded</a>(obj-><a class="code" href="a00012.html#a67925e0f2c47f50408fbdb9bddd0790f" title="CPUs covered by this object.">cpuset</a>, subtree_root-><a class="code" href="a00012.html#a67925e0f2c47f50408fbdb9bddd0790f" title="CPUs covered by this object.">cpuset</a>); | |
190 | <a name="l00213"></a>00213 } | |
191 | <a name="l00214"></a>00214 | |
192 | <a name="l00231"></a>00231 <span class="keyword">static</span> inline <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> | |
193 | <a name="l00232"></a><a class="code" href="a00047.html#gabcd5fa81a95fa5335950cae092277d5b">00232</a> <a class="code" href="a00047.html#gabcd5fa81a95fa5335950cae092277d5b" title="Get the first largest object included in the given cpuset set.">hwloc_get_first_largest_obj_inside_cpuset</a>(<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology, <a class="code" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25" title="A non-modifiable hwloc_cpuset_t.">hwloc_const_cpuset_t</a> <span class="keyword">set</span>) | |
194 | <a name="l00233"></a>00233 { | |
195 | <a name="l00234"></a>00234 <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> obj = <a class="code" href="a00046.html#ga632edae4a651996895ebde85ea2c1264" title="Returns the top-object of the topology-tree.">hwloc_get_root_obj</a>(topology); | |
196 | <a name="l00235"></a>00235 <span class="keywordflow">if</span> (!<a class="code" href="a00056.html#ga575c27953709a8cb9a047aae65157526" title="Test whether bitmaps bitmap1 and bitmap2 intersects.">hwloc_bitmap_intersects</a>(obj-><a class="code" href="a00012.html#a67925e0f2c47f50408fbdb9bddd0790f" title="CPUs covered by this object.">cpuset</a>, <span class="keyword">set</span>)) | |
197 | <a name="l00236"></a>00236 <span class="keywordflow">return</span> NULL; | |
198 | <a name="l00237"></a>00237 <span class="keywordflow">while</span> (!<a class="code" href="a00056.html#gaae29e14a926c198e8f91e6e4790621e7" title="Test whether bitmap sub_bitmap is part of bitmap super_bitmap.">hwloc_bitmap_isincluded</a>(obj-><a class="code" href="a00012.html#a67925e0f2c47f50408fbdb9bddd0790f" title="CPUs covered by this object.">cpuset</a>, <span class="keyword">set</span>)) { | |
199 | <a name="l00238"></a>00238 <span class="comment">/* while the object intersects without being included, look at its children */</span> | |
200 | <a name="l00239"></a>00239 <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> child = NULL; | |
201 | <a name="l00240"></a>00240 <span class="keywordflow">while</span> ((child = <a class="code" href="a00046.html#gae5ef1af636849f77714e1584ba78cf9c" title="Return the next child.">hwloc_get_next_child</a>(topology, obj, child)) != NULL) { | |
202 | <a name="l00241"></a>00241 <span class="keywordflow">if</span> (<a class="code" href="a00056.html#ga575c27953709a8cb9a047aae65157526" title="Test whether bitmaps bitmap1 and bitmap2 intersects.">hwloc_bitmap_intersects</a>(child-><a class="code" href="a00012.html#a67925e0f2c47f50408fbdb9bddd0790f" title="CPUs covered by this object.">cpuset</a>, <span class="keyword">set</span>)) | |
203 | <a name="l00242"></a>00242 <span class="keywordflow">break</span>; | |
204 | <a name="l00243"></a>00243 } | |
205 | <a name="l00244"></a>00244 <span class="keywordflow">if</span> (!child) | |
206 | <a name="l00245"></a>00245 <span class="comment">/* no child intersects, return their father */</span> | |
207 | <a name="l00246"></a>00246 <span class="keywordflow">return</span> obj; | |
208 | <a name="l00247"></a>00247 <span class="comment">/* found one intersecting child, look at its children */</span> | |
209 | <a name="l00248"></a>00248 obj = child; | |
210 | <a name="l00249"></a>00249 } | |
211 | <a name="l00250"></a>00250 <span class="comment">/* obj is included, return it */</span> | |
212 | <a name="l00251"></a>00251 <span class="keywordflow">return</span> obj; | |
213 | <a name="l00252"></a>00252 } | |
214 | <a name="l00253"></a>00253 | |
215 | <a name="l00258"></a>00258 <span class="keywordtype">int</span> <a class="code" href="a00047.html#gaab04c89623662e63a48ed2cd48eb601c" title="Get the set of largest objects covering exactly a given cpuset set.">hwloc_get_largest_objs_inside_cpuset</a> (<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology, <a class="code" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25" title="A non-modifiable hwloc_cpuset_t.">hwloc_const_cpuset_t</a> <span class="keyword">set</span>, | |
216 | <a name="l00259"></a>00259 <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> * restrict objs, <span class="keywordtype">int</span> max); | |
217 | <a name="l00260"></a>00260 | |
218 | <a name="l00267"></a>00267 <span class="keyword">static</span> inline <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> | |
219 | <a name="l00268"></a><a class="code" href="a00047.html#ga8af256c2572f16520f95440b884c1bd6">00268</a> <a class="code" href="a00047.html#ga8af256c2572f16520f95440b884c1bd6" title="Return the next object at depth depth included in CPU set set.">hwloc_get_next_obj_inside_cpuset_by_depth</a> (<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology, <a class="code" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25" title="A non-modifiable hwloc_cpuset_t.">hwloc_const_cpuset_t</a> <span class="keyword">set</span>, | |
220 | <a name="l00269"></a>00269 <span class="keywordtype">unsigned</span> depth, <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> prev) | |
221 | <a name="l00270"></a>00270 { | |
222 | <a name="l00271"></a>00271 <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> next = <a class="code" href="a00046.html#gab7c1dce3f42ece5bfa621e87cf332418" title="Returns the next object at depth depth.">hwloc_get_next_obj_by_depth</a>(topology, depth, prev); | |
223 | <a name="l00272"></a>00272 <span class="keywordflow">while</span> (next && !<a class="code" href="a00056.html#gaae29e14a926c198e8f91e6e4790621e7" title="Test whether bitmap sub_bitmap is part of bitmap super_bitmap.">hwloc_bitmap_isincluded</a>(next-><a class="code" href="a00012.html#a67925e0f2c47f50408fbdb9bddd0790f" title="CPUs covered by this object.">cpuset</a>, <span class="keyword">set</span>)) | |
224 | <a name="l00273"></a>00273 next = next-><a class="code" href="a00012.html#a85a788017457129589318b6c39451acf" title="Next object of same type.">next_cousin</a>; | |
225 | <a name="l00274"></a>00274 <span class="keywordflow">return</span> next; | |
226 | <a name="l00275"></a>00275 } | |
227 | <a name="l00276"></a>00276 | |
228 | <a name="l00283"></a>00283 <span class="keyword">static</span> inline <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> | |
229 | <a name="l00284"></a><a class="code" href="a00047.html#ga934e7ecd68b33403e0c0be779d9ed1e6">00284</a> <a class="code" href="a00047.html#ga934e7ecd68b33403e0c0be779d9ed1e6" title="Return the next object of type type included in CPU set set.">hwloc_get_next_obj_inside_cpuset_by_type</a> (<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology, <a class="code" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25" title="A non-modifiable hwloc_cpuset_t.">hwloc_const_cpuset_t</a> <span class="keyword">set</span>, | |
230 | <a name="l00285"></a>00285 <a class="code" href="a00035.html#gacd37bb612667dc437d66bfb175a8dc55" title="Type of topology object.">hwloc_obj_type_t</a> type, <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> prev) | |
231 | <a name="l00286"></a>00286 { | |
232 | <a name="l00287"></a>00287 <span class="keywordtype">int</span> depth = <a class="code" href="a00040.html#gaea7c64dd59467f5201ba87712710b14d" title="Returns the depth of objects of type type.">hwloc_get_type_depth</a>(topology, type); | |
233 | <a name="l00288"></a>00288 <span class="keywordflow">if</span> (depth == <a class="code" href="a00040.html#ggaf4e663cf42bbe20756b849c6293ef575a0565ab92ab72cb0cec91e23003294aad" title="No object of given type exists in the topology.">HWLOC_TYPE_DEPTH_UNKNOWN</a> || depth == <a class="code" href="a00040.html#ggaf4e663cf42bbe20756b849c6293ef575ae99465995cacde6c210d5fc2e409798c" title="Objects of given type exist at different depth in the topology.">HWLOC_TYPE_DEPTH_MULTIPLE</a>) | |
234 | <a name="l00289"></a>00289 <span class="keywordflow">return</span> NULL; | |
235 | <a name="l00290"></a>00290 <span class="keywordflow">return</span> <a class="code" href="a00047.html#ga8af256c2572f16520f95440b884c1bd6" title="Return the next object at depth depth included in CPU set set.">hwloc_get_next_obj_inside_cpuset_by_depth</a>(topology, <span class="keyword">set</span>, depth, prev); | |
236 | <a name="l00291"></a>00291 } | |
237 | <a name="l00292"></a>00292 | |
238 | <a name="l00295"></a>00295 <span class="keyword">static</span> inline <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> | |
239 | <a name="l00296"></a><a class="code" href="a00047.html#ga20703980008f82379f98f56857611a1a">00296</a> <a class="code" href="a00047.html#ga20703980008f82379f98f56857611a1a" title="Return the index -th object at depth depth included in CPU set set.">hwloc_get_obj_inside_cpuset_by_depth</a> (<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology, <a class="code" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25" title="A non-modifiable hwloc_cpuset_t.">hwloc_const_cpuset_t</a> <span class="keyword">set</span>, | |
240 | <a name="l00297"></a>00297 <span class="keywordtype">unsigned</span> depth, <span class="keywordtype">unsigned</span> idx) | |
241 | <a name="l00298"></a>00298 { | |
242 | <a name="l00299"></a>00299 <span class="keywordtype">unsigned</span> count = 0; | |
243 | <a name="l00300"></a>00300 <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> obj = <a class="code" href="a00041.html#gaedd78240b0c1108355586a268ec5a697" title="Returns the topology object at index index from depth depth.">hwloc_get_obj_by_depth</a> (topology, depth, 0); | |
244 | <a name="l00301"></a>00301 <span class="keywordflow">while</span> (obj) { | |
245 | <a name="l00302"></a>00302 <span class="keywordflow">if</span> (<a class="code" href="a00056.html#gaae29e14a926c198e8f91e6e4790621e7" title="Test whether bitmap sub_bitmap is part of bitmap super_bitmap.">hwloc_bitmap_isincluded</a>(obj-><a class="code" href="a00012.html#a67925e0f2c47f50408fbdb9bddd0790f" title="CPUs covered by this object.">cpuset</a>, <span class="keyword">set</span>)) { | |
246 | <a name="l00303"></a>00303 <span class="keywordflow">if</span> (count == idx) | |
247 | <a name="l00304"></a>00304 <span class="keywordflow">return</span> obj; | |
248 | <a name="l00305"></a>00305 count++; | |
249 | <a name="l00306"></a>00306 } | |
250 | <a name="l00307"></a>00307 obj = obj-><a class="code" href="a00012.html#a85a788017457129589318b6c39451acf" title="Next object of same type.">next_cousin</a>; | |
251 | <a name="l00308"></a>00308 } | |
252 | <a name="l00309"></a>00309 <span class="keywordflow">return</span> NULL; | |
253 | <a name="l00310"></a>00310 } | |
254 | <a name="l00311"></a>00311 | |
255 | <a name="l00318"></a>00318 <span class="keyword">static</span> inline <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> | |
256 | <a name="l00319"></a><a class="code" href="a00047.html#ga50a80a0021e5843d968c3b97aebaad9b">00319</a> <a class="code" href="a00047.html#ga50a80a0021e5843d968c3b97aebaad9b" title="Return the idx -th object of type type included in CPU set set.">hwloc_get_obj_inside_cpuset_by_type</a> (<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology, <a class="code" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25" title="A non-modifiable hwloc_cpuset_t.">hwloc_const_cpuset_t</a> <span class="keyword">set</span>, | |
257 | <a name="l00320"></a>00320 <a class="code" href="a00035.html#gacd37bb612667dc437d66bfb175a8dc55" title="Type of topology object.">hwloc_obj_type_t</a> type, <span class="keywordtype">unsigned</span> idx) | |
258 | <a name="l00321"></a>00321 { | |
259 | <a name="l00322"></a>00322 <span class="keywordtype">int</span> depth = <a class="code" href="a00040.html#gaea7c64dd59467f5201ba87712710b14d" title="Returns the depth of objects of type type.">hwloc_get_type_depth</a>(topology, type); | |
260 | <a name="l00323"></a>00323 <span class="keywordflow">if</span> (depth == <a class="code" href="a00040.html#ggaf4e663cf42bbe20756b849c6293ef575a0565ab92ab72cb0cec91e23003294aad" title="No object of given type exists in the topology.">HWLOC_TYPE_DEPTH_UNKNOWN</a> || depth == <a class="code" href="a00040.html#ggaf4e663cf42bbe20756b849c6293ef575ae99465995cacde6c210d5fc2e409798c" title="Objects of given type exist at different depth in the topology.">HWLOC_TYPE_DEPTH_MULTIPLE</a>) | |
261 | <a name="l00324"></a>00324 <span class="keywordflow">return</span> NULL; | |
262 | <a name="l00325"></a>00325 <span class="keywordflow">return</span> <a class="code" href="a00047.html#ga20703980008f82379f98f56857611a1a" title="Return the index -th object at depth depth included in CPU set set.">hwloc_get_obj_inside_cpuset_by_depth</a>(topology, <span class="keyword">set</span>, depth, idx); | |
263 | <a name="l00326"></a>00326 } | |
264 | <a name="l00327"></a>00327 | |
265 | <a name="l00329"></a>00329 <span class="keyword">static</span> inline <span class="keywordtype">unsigned</span> | |
266 | <a name="l00330"></a><a class="code" href="a00047.html#ga6807db0012369efe19b8d3dcee235493">00330</a> <a class="code" href="a00047.html#ga6807db0012369efe19b8d3dcee235493" title="Return the number of objects at depth depth included in CPU set set.">hwloc_get_nbobjs_inside_cpuset_by_depth</a> (<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology, <a class="code" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25" title="A non-modifiable hwloc_cpuset_t.">hwloc_const_cpuset_t</a> <span class="keyword">set</span>, | |
267 | <a name="l00331"></a>00331 <span class="keywordtype">unsigned</span> depth) | |
268 | <a name="l00332"></a>00332 { | |
269 | <a name="l00333"></a>00333 <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> obj = <a class="code" href="a00041.html#gaedd78240b0c1108355586a268ec5a697" title="Returns the topology object at index index from depth depth.">hwloc_get_obj_by_depth</a> (topology, depth, 0); | |
270 | <a name="l00334"></a>00334 <span class="keywordtype">int</span> count = 0; | |
271 | <a name="l00335"></a>00335 <span class="keywordflow">while</span> (obj) { | |
272 | <a name="l00336"></a>00336 <span class="keywordflow">if</span> (<a class="code" href="a00056.html#gaae29e14a926c198e8f91e6e4790621e7" title="Test whether bitmap sub_bitmap is part of bitmap super_bitmap.">hwloc_bitmap_isincluded</a>(obj-><a class="code" href="a00012.html#a67925e0f2c47f50408fbdb9bddd0790f" title="CPUs covered by this object.">cpuset</a>, <span class="keyword">set</span>)) | |
273 | <a name="l00337"></a>00337 count++; | |
274 | <a name="l00338"></a>00338 obj = obj-><a class="code" href="a00012.html#a85a788017457129589318b6c39451acf" title="Next object of same type.">next_cousin</a>; | |
275 | <a name="l00339"></a>00339 } | |
276 | <a name="l00340"></a>00340 <span class="keywordflow">return</span> count; | |
277 | <a name="l00341"></a>00341 } | |
278 | <a name="l00342"></a>00342 | |
279 | <a name="l00349"></a>00349 <span class="keyword">static</span> inline <span class="keywordtype">int</span> | |
280 | <a name="l00350"></a><a class="code" href="a00047.html#ga72c5bc4317a4c3938e32447b769813a0">00350</a> <a class="code" href="a00047.html#ga72c5bc4317a4c3938e32447b769813a0" title="Return the number of objects of type type included in CPU set set.">hwloc_get_nbobjs_inside_cpuset_by_type</a> (<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology, <a class="code" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25" title="A non-modifiable hwloc_cpuset_t.">hwloc_const_cpuset_t</a> <span class="keyword">set</span>, | |
281 | <a name="l00351"></a>00351 <a class="code" href="a00035.html#gacd37bb612667dc437d66bfb175a8dc55" title="Type of topology object.">hwloc_obj_type_t</a> type) | |
282 | <a name="l00352"></a>00352 { | |
283 | <a name="l00353"></a>00353 <span class="keywordtype">int</span> depth = <a class="code" href="a00040.html#gaea7c64dd59467f5201ba87712710b14d" title="Returns the depth of objects of type type.">hwloc_get_type_depth</a>(topology, type); | |
284 | <a name="l00354"></a>00354 <span class="keywordflow">if</span> (depth == <a class="code" href="a00040.html#ggaf4e663cf42bbe20756b849c6293ef575a0565ab92ab72cb0cec91e23003294aad" title="No object of given type exists in the topology.">HWLOC_TYPE_DEPTH_UNKNOWN</a>) | |
285 | <a name="l00355"></a>00355 <span class="keywordflow">return</span> 0; | |
286 | <a name="l00356"></a>00356 <span class="keywordflow">if</span> (depth == <a class="code" href="a00040.html#ggaf4e663cf42bbe20756b849c6293ef575ae99465995cacde6c210d5fc2e409798c" title="Objects of given type exist at different depth in the topology.">HWLOC_TYPE_DEPTH_MULTIPLE</a>) | |
287 | <a name="l00357"></a>00357 <span class="keywordflow">return</span> -1; <span class="comment">/* FIXME: agregate nbobjs from different levels? */</span> | |
288 | <a name="l00358"></a>00358 <span class="keywordflow">return</span> <a class="code" href="a00047.html#ga6807db0012369efe19b8d3dcee235493" title="Return the number of objects at depth depth included in CPU set set.">hwloc_get_nbobjs_inside_cpuset_by_depth</a>(topology, <span class="keyword">set</span>, depth); | |
289 | <a name="l00359"></a>00359 } | |
290 | <a name="l00360"></a>00360 | |
291 | <a name="l00373"></a>00373 <span class="keyword">static</span> inline <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> | |
292 | <a name="l00374"></a><a class="code" href="a00048.html#gab56b99460194bbcb36016d36d55132a7">00374</a> <a class="code" href="a00048.html#gab56b99460194bbcb36016d36d55132a7" title="Get the child covering at least CPU set set.">hwloc_get_child_covering_cpuset</a> (<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology , <a class="code" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25" title="A non-modifiable hwloc_cpuset_t.">hwloc_const_cpuset_t</a> <span class="keyword">set</span>, | |
293 | <a name="l00375"></a>00375 <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> parent) | |
294 | <a name="l00376"></a>00376 { | |
295 | <a name="l00377"></a>00377 <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> child; | |
296 | <a name="l00378"></a>00378 | |
297 | <a name="l00379"></a>00379 <span class="keywordflow">if</span> (<a class="code" href="a00056.html#gaa94fed35d2a598bc4a8657b6955b7bf5" title="Test whether bitmap bitmap is empty.">hwloc_bitmap_iszero</a>(<span class="keyword">set</span>)) | |
298 | <a name="l00380"></a>00380 <span class="keywordflow">return</span> NULL; | |
299 | <a name="l00381"></a>00381 | |
300 | <a name="l00382"></a>00382 child = parent-><a class="code" href="a00012.html#af51d08a0a79dba517c06c5afedc8d2dc" title="First child.">first_child</a>; | |
301 | <a name="l00383"></a>00383 <span class="keywordflow">while</span> (child) { | |
302 | <a name="l00384"></a>00384 <span class="keywordflow">if</span> (<a class="code" href="a00056.html#gaae29e14a926c198e8f91e6e4790621e7" title="Test whether bitmap sub_bitmap is part of bitmap super_bitmap.">hwloc_bitmap_isincluded</a>(<span class="keyword">set</span>, child-><a class="code" href="a00012.html#a67925e0f2c47f50408fbdb9bddd0790f" title="CPUs covered by this object.">cpuset</a>)) | |
303 | <a name="l00385"></a>00385 <span class="keywordflow">return</span> child; | |
304 | <a name="l00386"></a>00386 child = child-><a class="code" href="a00012.html#a7f2343ed476fe4942e6fffd4cade1b40" title="Next object below the same parent.">next_sibling</a>; | |
305 | <a name="l00387"></a>00387 } | |
306 | <a name="l00388"></a>00388 <span class="keywordflow">return</span> NULL; | |
307 | <a name="l00389"></a>00389 } | |
308 | <a name="l00390"></a>00390 | |
309 | <a name="l00395"></a>00395 <span class="keyword">static</span> inline <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> | |
310 | <a name="l00396"></a><a class="code" href="a00048.html#ga2a0de36ea0c3c70fb5f4cba0bb192582">00396</a> <a class="code" href="a00048.html#ga2a0de36ea0c3c70fb5f4cba0bb192582" title="Get the lowest object covering at least CPU set set.">hwloc_get_obj_covering_cpuset</a> (<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology, <a class="code" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25" title="A non-modifiable hwloc_cpuset_t.">hwloc_const_cpuset_t</a> <span class="keyword">set</span>) | |
311 | <a name="l00397"></a>00397 { | |
312 | <a name="l00398"></a>00398 <span class="keyword">struct </span><a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj</a> *current = <a class="code" href="a00046.html#ga632edae4a651996895ebde85ea2c1264" title="Returns the top-object of the topology-tree.">hwloc_get_root_obj</a>(topology); | |
313 | <a name="l00399"></a>00399 | |
314 | <a name="l00400"></a>00400 <span class="keywordflow">if</span> (<a class="code" href="a00056.html#gaa94fed35d2a598bc4a8657b6955b7bf5" title="Test whether bitmap bitmap is empty.">hwloc_bitmap_iszero</a>(<span class="keyword">set</span>)) | |
315 | <a name="l00401"></a>00401 <span class="keywordflow">return</span> NULL; | |
316 | <a name="l00402"></a>00402 | |
317 | <a name="l00403"></a>00403 <span class="keywordflow">if</span> (!<a class="code" href="a00056.html#gaae29e14a926c198e8f91e6e4790621e7" title="Test whether bitmap sub_bitmap is part of bitmap super_bitmap.">hwloc_bitmap_isincluded</a>(<span class="keyword">set</span>, current-><a class="code" href="a00012.html#a67925e0f2c47f50408fbdb9bddd0790f" title="CPUs covered by this object.">cpuset</a>)) | |
318 | <a name="l00404"></a>00404 <span class="keywordflow">return</span> NULL; | |
319 | <a name="l00405"></a>00405 | |
320 | <a name="l00406"></a>00406 <span class="keywordflow">while</span> (1) { | |
321 | <a name="l00407"></a>00407 <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> child = <a class="code" href="a00048.html#gab56b99460194bbcb36016d36d55132a7" title="Get the child covering at least CPU set set.">hwloc_get_child_covering_cpuset</a>(topology, <span class="keyword">set</span>, current); | |
322 | <a name="l00408"></a>00408 <span class="keywordflow">if</span> (!child) | |
323 | <a name="l00409"></a>00409 <span class="keywordflow">return</span> current; | |
324 | <a name="l00410"></a>00410 current = child; | |
325 | <a name="l00411"></a>00411 } | |
326 | <a name="l00412"></a>00412 } | |
327 | <a name="l00413"></a>00413 | |
328 | <a name="l00414"></a>00414 | |
329 | <a name="l00430"></a>00430 <span class="keyword">static</span> inline <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> | |
330 | <a name="l00431"></a><a class="code" href="a00049.html#ga2f9a4ec15e9cfae8c21501257a51ce5b">00431</a> <a class="code" href="a00049.html#ga2f9a4ec15e9cfae8c21501257a51ce5b" title="Iterate through same-depth objects covering at least CPU set set.">hwloc_get_next_obj_covering_cpuset_by_depth</a>(<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology, <a class="code" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25" title="A non-modifiable hwloc_cpuset_t.">hwloc_const_cpuset_t</a> <span class="keyword">set</span>, | |
331 | <a name="l00432"></a>00432 <span class="keywordtype">unsigned</span> <a class="code" href="a00012.html#a9d82690370275d42d652eccdea5d3ee5" title="Vertical index in the hierarchy.">depth</a>, <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> prev) | |
332 | <a name="l00433"></a>00433 { | |
333 | <a name="l00434"></a>00434 <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> next = <a class="code" href="a00046.html#gab7c1dce3f42ece5bfa621e87cf332418" title="Returns the next object at depth depth.">hwloc_get_next_obj_by_depth</a>(topology, depth, prev); | |
334 | <a name="l00435"></a>00435 <span class="keywordflow">while</span> (next && !<a class="code" href="a00056.html#ga575c27953709a8cb9a047aae65157526" title="Test whether bitmaps bitmap1 and bitmap2 intersects.">hwloc_bitmap_intersects</a>(<span class="keyword">set</span>, next-><a class="code" href="a00012.html#a67925e0f2c47f50408fbdb9bddd0790f" title="CPUs covered by this object.">cpuset</a>)) | |
335 | <a name="l00436"></a>00436 next = next-><a class="code" href="a00012.html#a85a788017457129589318b6c39451acf" title="Next object of same type.">next_cousin</a>; | |
336 | <a name="l00437"></a>00437 <span class="keywordflow">return</span> next; | |
337 | <a name="l00438"></a>00438 } | |
338 | <a name="l00439"></a>00439 | |
339 | <a name="l00452"></a>00452 <span class="keyword">static</span> inline <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> | |
340 | <a name="l00453"></a><a class="code" href="a00049.html#ga5915ea30f326676b3a4cfff371ce04d1">00453</a> <a class="code" href="a00049.html#ga5915ea30f326676b3a4cfff371ce04d1" title="Iterate through same-type objects covering at least CPU set set.">hwloc_get_next_obj_covering_cpuset_by_type</a>(<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology, <a class="code" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25" title="A non-modifiable hwloc_cpuset_t.">hwloc_const_cpuset_t</a> <span class="keyword">set</span>, | |
341 | <a name="l00454"></a>00454 <a class="code" href="a00035.html#gacd37bb612667dc437d66bfb175a8dc55" title="Type of topology object.">hwloc_obj_type_t</a> <a class="code" href="a00012.html#acc4f0803f244867e68fe0036800be5de" title="Type of object.">type</a>, <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> prev) | |
342 | <a name="l00455"></a>00455 { | |
343 | <a name="l00456"></a>00456 <span class="keywordtype">int</span> <a class="code" href="a00012.html#a9d82690370275d42d652eccdea5d3ee5" title="Vertical index in the hierarchy.">depth</a> = <a class="code" href="a00040.html#gaea7c64dd59467f5201ba87712710b14d" title="Returns the depth of objects of type type.">hwloc_get_type_depth</a>(topology, type); | |
344 | <a name="l00457"></a>00457 <span class="keywordflow">if</span> (depth == <a class="code" href="a00040.html#ggaf4e663cf42bbe20756b849c6293ef575a0565ab92ab72cb0cec91e23003294aad" title="No object of given type exists in the topology.">HWLOC_TYPE_DEPTH_UNKNOWN</a> || depth == <a class="code" href="a00040.html#ggaf4e663cf42bbe20756b849c6293ef575ae99465995cacde6c210d5fc2e409798c" title="Objects of given type exist at different depth in the topology.">HWLOC_TYPE_DEPTH_MULTIPLE</a>) | |
345 | <a name="l00458"></a>00458 <span class="keywordflow">return</span> NULL; | |
346 | <a name="l00459"></a>00459 <span class="keywordflow">return</span> <a class="code" href="a00049.html#ga2f9a4ec15e9cfae8c21501257a51ce5b" title="Iterate through same-depth objects covering at least CPU set set.">hwloc_get_next_obj_covering_cpuset_by_depth</a>(topology, <span class="keyword">set</span>, depth, prev); | |
347 | <a name="l00460"></a>00460 } | |
348 | <a name="l00461"></a>00461 | |
349 | <a name="l00474"></a>00474 <span class="keyword">static</span> inline <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> | |
350 | <a name="l00475"></a><a class="code" href="a00050.html#gae744419648117cbd613a038074aa0627">00475</a> <a class="code" href="a00050.html#gae744419648117cbd613a038074aa0627" title="Get the first cache covering a cpuset set.">hwloc_get_cache_covering_cpuset</a> (<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology, <a class="code" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25" title="A non-modifiable hwloc_cpuset_t.">hwloc_const_cpuset_t</a> <span class="keyword">set</span>) | |
351 | <a name="l00476"></a>00476 { | |
352 | <a name="l00477"></a>00477 <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> current = <a class="code" href="a00048.html#ga2a0de36ea0c3c70fb5f4cba0bb192582" title="Get the lowest object covering at least CPU set set.">hwloc_get_obj_covering_cpuset</a>(topology, <span class="keyword">set</span>); | |
353 | <a name="l00478"></a>00478 <span class="keywordflow">while</span> (current) { | |
354 | <a name="l00479"></a>00479 <span class="keywordflow">if</span> (current-><a class="code" href="a00012.html#acc4f0803f244867e68fe0036800be5de" title="Type of object.">type</a> == <a class="code" href="a00035.html#ggacd37bb612667dc437d66bfb175a8dc55a56ee0b7eca88f363b75b34fdde8c9ddc" title="Data cache. Can be L1, L2, L3, ...">HWLOC_OBJ_CACHE</a>) | |
355 | <a name="l00480"></a>00480 <span class="keywordflow">return</span> current; | |
356 | <a name="l00481"></a>00481 current = current-><a class="code" href="a00012.html#adc494f6aed939992be1c55cca5822900" title="Parent, NULL if root (system object)">parent</a>; | |
357 | <a name="l00482"></a>00482 } | |
358 | <a name="l00483"></a>00483 <span class="keywordflow">return</span> NULL; | |
359 | <a name="l00484"></a>00484 } | |
360 | <a name="l00485"></a>00485 | |
361 | <a name="l00490"></a>00490 <span class="keyword">static</span> inline <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> | |
362 | <a name="l00491"></a><a class="code" href="a00050.html#ga75e961873d4b976ab10bc4739248c96d">00491</a> <a class="code" href="a00050.html#ga75e961873d4b976ab10bc4739248c96d" title="Get the first cache shared between an object and somebody else.">hwloc_get_shared_cache_covering_obj</a> (<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology , <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> obj) | |
363 | <a name="l00492"></a>00492 { | |
364 | <a name="l00493"></a>00493 <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> current = obj-><a class="code" href="a00012.html#adc494f6aed939992be1c55cca5822900" title="Parent, NULL if root (system object)">parent</a>; | |
365 | <a name="l00494"></a>00494 <span class="keywordflow">while</span> (current) { | |
366 | <a name="l00495"></a>00495 <span class="keywordflow">if</span> (!<a class="code" href="a00056.html#ga4dd6a75ab63d33ef33bd626b0e489388" title="Test whether bitmap bitmap1 is equal to bitmap bitmap2.">hwloc_bitmap_isequal</a>(current-><a class="code" href="a00012.html#a67925e0f2c47f50408fbdb9bddd0790f" title="CPUs covered by this object.">cpuset</a>, obj-><a class="code" href="a00012.html#a67925e0f2c47f50408fbdb9bddd0790f" title="CPUs covered by this object.">cpuset</a>) | |
367 | <a name="l00496"></a>00496 && current-><a class="code" href="a00012.html#acc4f0803f244867e68fe0036800be5de" title="Type of object.">type</a> == <a class="code" href="a00035.html#ggacd37bb612667dc437d66bfb175a8dc55a56ee0b7eca88f363b75b34fdde8c9ddc" title="Data cache. Can be L1, L2, L3, ...">HWLOC_OBJ_CACHE</a>) | |
368 | <a name="l00497"></a>00497 <span class="keywordflow">return</span> current; | |
369 | <a name="l00498"></a>00498 current = current-><a class="code" href="a00012.html#adc494f6aed939992be1c55cca5822900" title="Parent, NULL if root (system object)">parent</a>; | |
370 | <a name="l00499"></a>00499 } | |
371 | <a name="l00500"></a>00500 <span class="keywordflow">return</span> NULL; | |
372 | <a name="l00501"></a>00501 } | |
373 | <a name="l00502"></a>00502 | |
374 | <a name="l00518"></a>00518 <span class="comment">/* TODO: rather provide an iterator? Provide a way to know how much should be allocated? By returning the total number of objects instead? */</span> | |
375 | <a name="l00519"></a>00519 <span class="keywordtype">unsigned</span> <a class="code" href="a00051.html#ga26c2ac4f25b1ed293249c88e232f1bea" title="Do a depth-first traversal of the topology to find and sort.">hwloc_get_closest_objs</a> (<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology, <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> src, <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> * restrict objs, <span class="keywordtype">unsigned</span> max); | |
376 | <a name="l00520"></a>00520 | |
377 | <a name="l00531"></a>00531 <span class="keyword">static</span> inline <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> | |
378 | <a name="l00532"></a><a class="code" href="a00051.html#ga3d32c128aa36b5c9d56f6bf9e70d0e78">00532</a> <a class="code" href="a00051.html#ga3d32c128aa36b5c9d56f6bf9e70d0e78" title="Find an object below another object, both specified by types and indexes.">hwloc_get_obj_below_by_type</a> (<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology, | |
379 | <a name="l00533"></a>00533 <a class="code" href="a00035.html#gacd37bb612667dc437d66bfb175a8dc55" title="Type of topology object.">hwloc_obj_type_t</a> type1, <span class="keywordtype">unsigned</span> idx1, | |
380 | <a name="l00534"></a>00534 <a class="code" href="a00035.html#gacd37bb612667dc437d66bfb175a8dc55" title="Type of topology object.">hwloc_obj_type_t</a> type2, <span class="keywordtype">unsigned</span> idx2) | |
381 | <a name="l00535"></a>00535 { | |
382 | <a name="l00536"></a>00536 <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> obj; | |
383 | <a name="l00537"></a>00537 | |
384 | <a name="l00538"></a>00538 obj = <a class="code" href="a00041.html#ga701f83b2cf0cb8e0acd58cd2dc1c67a2" title="Returns the topology object at index index with type type.">hwloc_get_obj_by_type</a> (topology, type1, idx1); | |
385 | <a name="l00539"></a>00539 <span class="keywordflow">if</span> (!obj) | |
386 | <a name="l00540"></a>00540 <span class="keywordflow">return</span> NULL; | |
387 | <a name="l00541"></a>00541 | |
388 | <a name="l00542"></a>00542 <span class="keywordflow">return</span> <a class="code" href="a00047.html#ga50a80a0021e5843d968c3b97aebaad9b" title="Return the idx -th object of type type included in CPU set set.">hwloc_get_obj_inside_cpuset_by_type</a>(topology, obj-><a class="code" href="a00012.html#a67925e0f2c47f50408fbdb9bddd0790f" title="CPUs covered by this object.">cpuset</a>, type2, idx2); | |
389 | <a name="l00543"></a>00543 } | |
390 | <a name="l00544"></a>00544 | |
391 | <a name="l00560"></a>00560 <span class="keyword">static</span> inline <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> | |
392 | <a name="l00561"></a><a class="code" href="a00051.html#ga340bb7021204078c30382ea77d38bde9">00561</a> <a class="code" href="a00051.html#ga340bb7021204078c30382ea77d38bde9" title="Find an object below a chain of objects specified by types and indexes.">hwloc_get_obj_below_array_by_type</a> (<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology, <span class="keywordtype">int</span> nr, <a class="code" href="a00035.html#gacd37bb612667dc437d66bfb175a8dc55" title="Type of topology object.">hwloc_obj_type_t</a> *typev, <span class="keywordtype">unsigned</span> *idxv) | |
393 | <a name="l00562"></a>00562 { | |
394 | <a name="l00563"></a>00563 <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> obj = <a class="code" href="a00046.html#ga632edae4a651996895ebde85ea2c1264" title="Returns the top-object of the topology-tree.">hwloc_get_root_obj</a>(topology); | |
395 | <a name="l00564"></a>00564 <span class="keywordtype">int</span> i; | |
396 | <a name="l00565"></a>00565 | |
397 | <a name="l00566"></a>00566 <span class="keywordflow">for</span>(i=0; i<nr; i++) { | |
398 | <a name="l00567"></a>00567 obj = <a class="code" href="a00047.html#ga50a80a0021e5843d968c3b97aebaad9b" title="Return the idx -th object of type type included in CPU set set.">hwloc_get_obj_inside_cpuset_by_type</a>(topology, obj-><a class="code" href="a00012.html#a67925e0f2c47f50408fbdb9bddd0790f" title="CPUs covered by this object.">cpuset</a>, typev[i], idxv[i]); | |
399 | <a name="l00568"></a>00568 <span class="keywordflow">if</span> (!obj) | |
400 | <a name="l00569"></a>00569 <span class="keywordflow">return</span> NULL; | |
401 | <a name="l00570"></a>00570 } | |
402 | <a name="l00571"></a>00571 | |
403 | <a name="l00572"></a>00572 <span class="keywordflow">return</span> obj; | |
404 | <a name="l00573"></a>00573 } | |
405 | <a name="l00574"></a>00574 | |
397 | 406 | <a name="l00596"></a>00596 <span class="keyword">static</span> inline <span class="keywordtype">void</span> |
398 | <a name="l00597"></a><a class="code" href="a00052.html#ga6d5c88292ad5aa062c1bebc99369c042">00597</a> <a class="code" href="a00052.html#ga6d5c88292ad5aa062c1bebc99369c042">hwloc_distribute</a>(<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology, <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> root, <a class="code" href="a00034.html#ga4bbf39b68b6f568fb92739e7c0ea7801" title="A CPU set is a bitmap whose bits are set according to CPU physical OS indexes.">hwloc_cpuset_t</a> *<a class="code" href="a00012.html#a67925e0f2c47f50408fbdb9bddd0790f" title="CPUs covered by this object.">cpuset</a>, <span class="keywordtype">unsigned</span> n, <span class="keywordtype">unsigned</span> until) | |
399 | <a name="l00598"></a>00598 { | |
400 | <a name="l00599"></a>00599 <span class="keywordtype">unsigned</span> i; | |
401 | <a name="l00600"></a>00600 | |
402 | <a name="l00601"></a>00601 <span class="keywordflow">if</span> (!root-><a class="code" href="a00012.html#aac3f6da35c9b57599909a44ce2b716c1" title="Number of children.">arity</a> || n == 1 || root-><a class="code" href="a00012.html#a9d82690370275d42d652eccdea5d3ee5" title="Vertical index in the hierarchy.">depth</a> >= until) { | |
403 | <a name="l00602"></a>00602 <span class="comment">/* Got to the bottom, we can't split any more, put everything there. */</span> | |
404 | <a name="l00603"></a>00603 <span class="keywordflow">for</span> (i=0; i<n; i++) | |
405 | <a name="l00604"></a>00604 cpuset[i] = <a class="code" href="a00056.html#gaaa4ed76211cd3694dfbea2109fc440be" title="Duplicate bitmap bitmap by allocating a new bitmap and copying bitmap contents.">hwloc_bitmap_dup</a>(root-><a class="code" href="a00012.html#a67925e0f2c47f50408fbdb9bddd0790f" title="CPUs covered by this object.">cpuset</a>); | |
406 | <a name="l00605"></a>00605 <span class="keywordflow">return</span>; | |
407 | <a name="l00606"></a>00606 } | |
408 | <a name="l00607"></a>00607 | |
409 | <a name="l00608"></a>00608 <a class="code" href="a00052.html#gaf057d7c5e3cb3df897ce527258537619" title="Distribute n items over the topology under root.">hwloc_distributev</a>(topology, root-><a class="code" href="a00012.html#a04d05403da37bfe17cd63b7c7dd07b1f" title="Children, children[0 .. arity -1].">children</a>, root-><a class="code" href="a00012.html#aac3f6da35c9b57599909a44ce2b716c1" title="Number of children.">arity</a>, cpuset, n, until); | |
410 | <a name="l00609"></a>00609 } | |
411 | <a name="l00610"></a>00610 | |
412 | <a name="l00616"></a>00616 <span class="keyword">static</span> inline <span class="keywordtype">void</span> | |
413 | <a name="l00617"></a><a class="code" href="a00052.html#gaf057d7c5e3cb3df897ce527258537619">00617</a> <a class="code" href="a00052.html#gaf057d7c5e3cb3df897ce527258537619" title="Distribute n items over the topology under root.">hwloc_distributev</a>(<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology, <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> *roots, <span class="keywordtype">unsigned</span> n_roots, <a class="code" href="a00034.html#ga4bbf39b68b6f568fb92739e7c0ea7801" title="A CPU set is a bitmap whose bits are set according to CPU physical OS indexes.">hwloc_cpuset_t</a> *<a class="code" href="a00012.html#a67925e0f2c47f50408fbdb9bddd0790f" title="CPUs covered by this object.">cpuset</a>, <span class="keywordtype">unsigned</span> n, <span class="keywordtype">unsigned</span> until) | |
414 | <a name="l00618"></a>00618 { | |
415 | <a name="l00619"></a>00619 <span class="keywordtype">unsigned</span> i; | |
416 | <a name="l00620"></a>00620 <span class="keywordtype">unsigned</span> tot_weight; | |
417 | <a name="l00621"></a>00621 <a class="code" href="a00034.html#ga4bbf39b68b6f568fb92739e7c0ea7801" title="A CPU set is a bitmap whose bits are set according to CPU physical OS indexes.">hwloc_cpuset_t</a> *cpusetp = <a class="code" href="a00012.html#a67925e0f2c47f50408fbdb9bddd0790f" title="CPUs covered by this object.">cpuset</a>; | |
418 | <a name="l00622"></a>00622 | |
419 | <a name="l00623"></a>00623 tot_weight = 0; | |
420 | <a name="l00624"></a>00624 <span class="keywordflow">for</span> (i = 0; i < n_roots; i++) | |
421 | <a name="l00625"></a>00625 tot_weight += <a class="code" href="a00056.html#ga12d520387be74f849f191d7a06ac325c" title="Compute the &quot;weight&quot; of bitmap bitmap (i.e., number of indexes that are in the bitmap)...">hwloc_bitmap_weight</a>(roots[i]->cpuset); | |
422 | <a name="l00626"></a>00626 | |
423 | <a name="l00627"></a>00627 <span class="keywordflow">for</span> (i = 0; i < n_roots; i++) { | |
424 | <a name="l00628"></a>00628 <span class="comment">/* Give to roots[i] a portion proportional to its weight */</span> | |
425 | <a name="l00629"></a>00629 <span class="keywordtype">unsigned</span> weight = <a class="code" href="a00056.html#ga12d520387be74f849f191d7a06ac325c" title="Compute the &quot;weight&quot; of bitmap bitmap (i.e., number of indexes that are in the bitmap)...">hwloc_bitmap_weight</a>(roots[i]->cpuset); | |
426 | <a name="l00630"></a>00630 <span class="keywordtype">unsigned</span> chunk = (n * weight + tot_weight-1) / tot_weight; | |
427 | <a name="l00631"></a>00631 <a class="code" href="a00052.html#ga6d5c88292ad5aa062c1bebc99369c042">hwloc_distribute</a>(topology, roots[i], cpusetp, chunk, until); | |
428 | <a name="l00632"></a>00632 cpusetp += chunk; | |
429 | <a name="l00633"></a>00633 tot_weight -= weight; | |
430 | <a name="l00634"></a>00634 n -= chunk; | |
431 | <a name="l00635"></a>00635 } | |
432 | <a name="l00636"></a>00636 } | |
433 | <a name="l00637"></a>00637 | |
434 | <a name="l00644"></a>00644 <span class="keyword">static</span> inline <span class="keywordtype">void</span> * | |
435 | <a name="l00645"></a><a class="code" href="a00052.html#ga3e772fbc4de626ed80f13d332b7d4d03">00645</a> <a class="code" href="a00052.html#ga3e772fbc4de626ed80f13d332b7d4d03" title="Allocate some memory on the given nodeset nodeset.">hwloc_alloc_membind_policy_nodeset</a>(<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology, <span class="keywordtype">size_t</span> len, <a class="code" href="a00034.html#ga2f5276235841ad66a79bedad16a5a10c" title="A non-modifiable hwloc_nodeset_t.">hwloc_const_nodeset_t</a> <a class="code" href="a00012.html#a08f0d0e16c619a6e653526cbee4ffea3" title="NUMA nodes covered by this object or containing this object.">nodeset</a>, <a class="code" href="a00044.html#gac9764f79505775d06407b40f5e4661e8" title="Memory binding policy.">hwloc_membind_policy_t</a> policy, <span class="keywordtype">int</span> flags) | |
436 | <a name="l00646"></a>00646 { | |
437 | <a name="l00647"></a>00647 <span class="keywordtype">void</span> *p = <a class="code" href="a00044.html#gaeaa00714a9c4319bda0a74ca6f8720e8" title="Allocate some memory on the given nodeset nodeset.">hwloc_alloc_membind_nodeset</a>(topology, len, nodeset, policy, flags); | |
438 | <a name="l00648"></a>00648 <span class="keywordflow">if</span> (p) | |
439 | <a name="l00649"></a>00649 <span class="keywordflow">return</span> p; | |
440 | <a name="l00650"></a>00650 <a class="code" href="a00044.html#ga747962cbb16fd12ad6d126011c734a27" title="Set the default memory binding policy of the current process or thread to prefer the NUMA node(s) spe...">hwloc_set_membind_nodeset</a>(topology, nodeset, policy, flags); | |
441 | <a name="l00651"></a>00651 p = <a class="code" href="a00044.html#gac5586e58cf25c3596b7d4aa31ce13259" title="Allocate some memory.">hwloc_alloc</a>(topology, len); | |
442 | <a name="l00652"></a>00652 <span class="keywordflow">if</span> (p && policy != <a class="code" href="a00044.html#ggac9764f79505775d06407b40f5e4661e8a979c7aa78dd32780858f30f47a72cca0" title="Allocate memory but do not immediately bind it to a specific locality. Instead, each page in the allo...">HWLOC_MEMBIND_FIRSTTOUCH</a>) | |
443 | <a name="l00653"></a>00653 <span class="comment">/* Enforce the binding by touching the data */</span> | |
444 | <a name="l00654"></a>00654 memset(p, 0, len); | |
445 | <a name="l00655"></a>00655 <span class="keywordflow">return</span> p; | |
446 | <a name="l00656"></a>00656 } | |
447 | <a name="l00657"></a>00657 | |
448 | <a name="l00662"></a>00662 <span class="keyword">static</span> inline <span class="keywordtype">void</span> * | |
449 | <a name="l00663"></a><a class="code" href="a00052.html#ga6178c6a9ec1dd88ec9f6a9fcdcc7d634">00663</a> <a class="code" href="a00052.html#ga6178c6a9ec1dd88ec9f6a9fcdcc7d634" title="Allocate some memory on the memory nodes near given cpuset cpuset.">hwloc_alloc_membind_policy</a>(<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology, <span class="keywordtype">size_t</span> len, <a class="code" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25" title="A non-modifiable hwloc_cpuset_t.">hwloc_const_cpuset_t</a> <a class="code" href="a00012.html#a67925e0f2c47f50408fbdb9bddd0790f" title="CPUs covered by this object.">cpuset</a>, <a class="code" href="a00044.html#gac9764f79505775d06407b40f5e4661e8" title="Memory binding policy.">hwloc_membind_policy_t</a> policy, <span class="keywordtype">int</span> flags) | |
450 | <a name="l00664"></a>00664 { | |
451 | <a name="l00665"></a>00665 <span class="keywordtype">void</span> *p = <a class="code" href="a00044.html#ga221a7edc5d436300374fa16463f607e5" title="Allocate some memory on memory nodes near the given cpuset cpuset.">hwloc_alloc_membind</a>(topology, len, cpuset, policy, flags); | |
452 | <a name="l00666"></a>00666 <span class="keywordflow">if</span> (p) | |
453 | <a name="l00667"></a>00667 <span class="keywordflow">return</span> p; | |
454 | <a name="l00668"></a>00668 <a class="code" href="a00044.html#ga8b6d1d90227aff8e44ef26bc1f8a8f95" title="Set the default memory binding policy of the current process or thread to prefer the NUMA node(s) nea...">hwloc_set_membind</a>(topology, cpuset, policy, flags); | |
455 | <a name="l00669"></a>00669 p = <a class="code" href="a00044.html#gac5586e58cf25c3596b7d4aa31ce13259" title="Allocate some memory.">hwloc_alloc</a>(topology, len); | |
456 | <a name="l00670"></a>00670 <span class="keywordflow">if</span> (p && policy != <a class="code" href="a00044.html#ggac9764f79505775d06407b40f5e4661e8a979c7aa78dd32780858f30f47a72cca0" title="Allocate memory but do not immediately bind it to a specific locality. Instead, each page in the allo...">HWLOC_MEMBIND_FIRSTTOUCH</a>) | |
457 | <a name="l00671"></a>00671 <span class="comment">/* Enforce the binding by touching the data */</span> | |
458 | <a name="l00672"></a>00672 memset(p, 0, len); | |
459 | <a name="l00673"></a>00673 <span class="keywordflow">return</span> p; | |
460 | <a name="l00674"></a>00674 } | |
461 | <a name="l00675"></a>00675 | |
462 | <a name="l00692"></a>00692 <span class="keyword">static</span> inline <a class="code" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25" title="A non-modifiable hwloc_cpuset_t.">hwloc_const_cpuset_t</a> | |
463 | <a name="l00693"></a><a class="code" href="a00053.html#ga75f0ac3ac41e9915541c3ae3153a6e26">00693</a> <a class="code" href="a00053.html#ga75f0ac3ac41e9915541c3ae3153a6e26" title="Get complete CPU set.">hwloc_topology_get_complete_cpuset</a>(<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology) | |
464 | <a name="l00694"></a>00694 { | |
465 | <a name="l00695"></a>00695 <span class="keywordflow">return</span> <a class="code" href="a00046.html#ga632edae4a651996895ebde85ea2c1264" title="Returns the top-object of the topology-tree.">hwloc_get_root_obj</a>(topology)-><a class="code" href="a00012.html#a91788a9da687beb7224cc1fd7b75208c" title="The complete CPU set of logical processors of this object,.">complete_cpuset</a>; | |
466 | <a name="l00696"></a>00696 } | |
467 | <a name="l00697"></a>00697 | |
468 | <a name="l00708"></a>00708 <span class="keyword">static</span> inline <a class="code" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25" title="A non-modifiable hwloc_cpuset_t.">hwloc_const_cpuset_t</a> | |
469 | <a name="l00709"></a><a class="code" href="a00053.html#ga4497338d1cbae6f8a6d68cb14234d5d8">00709</a> <a class="code" href="a00053.html#ga4497338d1cbae6f8a6d68cb14234d5d8" title="Get topology CPU set.">hwloc_topology_get_topology_cpuset</a>(<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology) | |
470 | <a name="l00710"></a>00710 { | |
471 | <a name="l00711"></a>00711 <span class="keywordflow">return</span> <a class="code" href="a00046.html#ga632edae4a651996895ebde85ea2c1264" title="Returns the top-object of the topology-tree.">hwloc_get_root_obj</a>(topology)-><a class="code" href="a00012.html#a67925e0f2c47f50408fbdb9bddd0790f" title="CPUs covered by this object.">cpuset</a>; | |
472 | <a name="l00712"></a>00712 } | |
473 | <a name="l00713"></a>00713 | |
474 | <a name="l00723"></a>00723 <span class="keyword">static</span> inline <a class="code" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25" title="A non-modifiable hwloc_cpuset_t.">hwloc_const_cpuset_t</a> | |
475 | <a name="l00724"></a><a class="code" href="a00053.html#gad00abc77f1670049a5b2139471d0c8db">00724</a> <a class="code" href="a00053.html#gad00abc77f1670049a5b2139471d0c8db" title="Get online CPU set.">hwloc_topology_get_online_cpuset</a>(<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology) | |
476 | <a name="l00725"></a>00725 { | |
477 | <a name="l00726"></a>00726 <span class="keywordflow">return</span> <a class="code" href="a00046.html#ga632edae4a651996895ebde85ea2c1264" title="Returns the top-object of the topology-tree.">hwloc_get_root_obj</a>(topology)-><a class="code" href="a00012.html#a8842d56c2975380f327ea401c5f53564" title="The CPU set of online logical processors.">online_cpuset</a>; | |
478 | <a name="l00727"></a>00727 } | |
479 | <a name="l00728"></a>00728 | |
480 | <a name="l00738"></a>00738 <span class="keyword">static</span> inline <a class="code" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25" title="A non-modifiable hwloc_cpuset_t.">hwloc_const_cpuset_t</a> | |
481 | <a name="l00739"></a><a class="code" href="a00053.html#ga95f116c4c0b1ff2c6418c16341fc2e57">00739</a> <a class="code" href="a00053.html#ga95f116c4c0b1ff2c6418c16341fc2e57" title="Get allowed CPU set.">hwloc_topology_get_allowed_cpuset</a>(<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology) | |
482 | <a name="l00740"></a>00740 { | |
483 | <a name="l00741"></a>00741 <span class="keywordflow">return</span> <a class="code" href="a00046.html#ga632edae4a651996895ebde85ea2c1264" title="Returns the top-object of the topology-tree.">hwloc_get_root_obj</a>(topology)-><a class="code" href="a00012.html#afa3c59a6dd3da8ffa48710780a1bfb34" title="The CPU set of allowed logical processors.">allowed_cpuset</a>; | |
484 | <a name="l00742"></a>00742 } | |
485 | <a name="l00743"></a>00743 | |
486 | <a name="l00760"></a>00760 <span class="keyword">static</span> inline <a class="code" href="a00034.html#ga2f5276235841ad66a79bedad16a5a10c" title="A non-modifiable hwloc_nodeset_t.">hwloc_const_nodeset_t</a> | |
487 | <a name="l00761"></a><a class="code" href="a00054.html#gaf8331b6d5e60c463f7ebe21a878561d4">00761</a> <a class="code" href="a00054.html#gaf8331b6d5e60c463f7ebe21a878561d4" title="Get complete node set.">hwloc_topology_get_complete_nodeset</a>(<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology) | |
488 | <a name="l00762"></a>00762 { | |
489 | <a name="l00763"></a>00763 <span class="keywordflow">return</span> <a class="code" href="a00046.html#ga632edae4a651996895ebde85ea2c1264" title="Returns the top-object of the topology-tree.">hwloc_get_root_obj</a>(topology)-><a class="code" href="a00012.html#ac38c4012127525ef74c5615c526f4c2e" title="The complete NUMA node set of this object,.">complete_nodeset</a>; | |
490 | <a name="l00764"></a>00764 } | |
491 | <a name="l00765"></a>00765 | |
492 | <a name="l00776"></a>00776 <span class="keyword">static</span> inline <a class="code" href="a00034.html#ga2f5276235841ad66a79bedad16a5a10c" title="A non-modifiable hwloc_nodeset_t.">hwloc_const_nodeset_t</a> | |
493 | <a name="l00777"></a><a class="code" href="a00054.html#gae6821ede7676dfac0515a4b7b04b0397">00777</a> <a class="code" href="a00054.html#gae6821ede7676dfac0515a4b7b04b0397" title="Get topology node set.">hwloc_topology_get_topology_nodeset</a>(<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology) | |
494 | <a name="l00778"></a>00778 { | |
495 | <a name="l00779"></a>00779 <span class="keywordflow">return</span> <a class="code" href="a00046.html#ga632edae4a651996895ebde85ea2c1264" title="Returns the top-object of the topology-tree.">hwloc_get_root_obj</a>(topology)-><a class="code" href="a00012.html#a08f0d0e16c619a6e653526cbee4ffea3" title="NUMA nodes covered by this object or containing this object.">nodeset</a>; | |
496 | <a name="l00780"></a>00780 } | |
497 | <a name="l00781"></a>00781 | |
498 | <a name="l00791"></a>00791 <span class="keyword">static</span> inline <a class="code" href="a00034.html#ga2f5276235841ad66a79bedad16a5a10c" title="A non-modifiable hwloc_nodeset_t.">hwloc_const_nodeset_t</a> | |
499 | <a name="l00792"></a><a class="code" href="a00054.html#ga5d829323f8d283687be43ea8c894eb3b">00792</a> <a class="code" href="a00054.html#ga5d829323f8d283687be43ea8c894eb3b" title="Get allowed node set.">hwloc_topology_get_allowed_nodeset</a>(<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology) | |
500 | <a name="l00793"></a>00793 { | |
501 | <a name="l00794"></a>00794 <span class="keywordflow">return</span> <a class="code" href="a00046.html#ga632edae4a651996895ebde85ea2c1264" title="Returns the top-object of the topology-tree.">hwloc_get_root_obj</a>(topology)-><a class="code" href="a00012.html#a19e3d0a5951a7510fc4fc4722a9bf531" title="The set of allowed NUMA memory nodes.">allowed_nodeset</a>; | |
502 | <a name="l00795"></a>00795 } | |
503 | <a name="l00796"></a>00796 | |
504 | <a name="l00827"></a>00827 <span class="keyword">static</span> inline <span class="keywordtype">void</span> | |
505 | <a name="l00828"></a><a class="code" href="a00055.html#ga60ecc4ae480c28b5fbd34aca4fc37daa">00828</a> <a class="code" href="a00055.html#ga60ecc4ae480c28b5fbd34aca4fc37daa" title="Convert a CPU set into a NUMA node set and handle non-NUMA cases.">hwloc_cpuset_to_nodeset</a>(<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology, <a class="code" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25" title="A non-modifiable hwloc_cpuset_t.">hwloc_const_cpuset_t</a> <a class="code" href="a00012.html#a67925e0f2c47f50408fbdb9bddd0790f" title="CPUs covered by this object.">cpuset</a>, <a class="code" href="a00034.html#ga37e35730fa7e775b5bb0afe893d6d508" title="A node set is a bitmap whose bits are set according to NUMA memory node physical OS indexes...">hwloc_nodeset_t</a> <a class="code" href="a00012.html#a08f0d0e16c619a6e653526cbee4ffea3" title="NUMA nodes covered by this object or containing this object.">nodeset</a>) | |
506 | <a name="l00829"></a>00829 { | |
507 | <a name="l00830"></a>00830 <span class="keywordtype">int</span> <a class="code" href="a00012.html#a9d82690370275d42d652eccdea5d3ee5" title="Vertical index in the hierarchy.">depth</a> = <a class="code" href="a00040.html#gaea7c64dd59467f5201ba87712710b14d" title="Returns the depth of objects of type type.">hwloc_get_type_depth</a>(topology, <a class="code" href="a00035.html#ggacd37bb612667dc437d66bfb175a8dc55aaf0964881117bdedf1a5e9332cd120dd" title="NUMA node. A set of processors around memory which the processors can directly access.">HWLOC_OBJ_NODE</a>); | |
508 | <a name="l00831"></a>00831 <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> obj; | |
509 | <a name="l00832"></a>00832 | |
510 | <a name="l00833"></a>00833 <span class="keywordflow">if</span> (depth == <a class="code" href="a00040.html#ggaf4e663cf42bbe20756b849c6293ef575a0565ab92ab72cb0cec91e23003294aad" title="No object of given type exists in the topology.">HWLOC_TYPE_DEPTH_UNKNOWN</a>) { | |
511 | <a name="l00834"></a>00834 <span class="keywordflow">if</span> (<a class="code" href="a00056.html#gaa94fed35d2a598bc4a8657b6955b7bf5" title="Test whether bitmap bitmap is empty.">hwloc_bitmap_iszero</a>(cpuset)) | |
512 | <a name="l00835"></a>00835 <a class="code" href="a00056.html#ga6c540b9fe63b8223b6aba46d56dd63b8" title="Empty the bitmap bitmap.">hwloc_bitmap_zero</a>(nodeset); | |
513 | <a name="l00836"></a>00836 <span class="keywordflow">else</span> | |
514 | <a name="l00837"></a>00837 <span class="comment">/* Assume the whole system */</span> | |
515 | <a name="l00838"></a>00838 <a class="code" href="a00056.html#ga52456f7ef79d68e610cb65e3f7ffafad" title="Fill bitmap bitmap with all possible indexes (even if those objects don&#39;t exist or are otherwise ...">hwloc_bitmap_fill</a>(nodeset); | |
516 | <a name="l00839"></a>00839 <span class="keywordflow">return</span>; | |
517 | <a name="l00840"></a>00840 } | |
518 | <a name="l00841"></a>00841 | |
519 | <a name="l00842"></a>00842 <a class="code" href="a00056.html#ga6c540b9fe63b8223b6aba46d56dd63b8" title="Empty the bitmap bitmap.">hwloc_bitmap_zero</a>(nodeset); | |
520 | <a name="l00843"></a>00843 obj = NULL; | |
521 | <a name="l00844"></a>00844 <span class="keywordflow">while</span> ((obj = <a class="code" href="a00049.html#ga2f9a4ec15e9cfae8c21501257a51ce5b" title="Iterate through same-depth objects covering at least CPU set set.">hwloc_get_next_obj_covering_cpuset_by_depth</a>(topology, cpuset, depth, obj)) != NULL) | |
522 | <a name="l00845"></a>00845 <a class="code" href="a00056.html#ga497556af0cc34f109ae0277999c074d3" title="Add index id in bitmap bitmap.">hwloc_bitmap_set</a>(nodeset, obj-><a class="code" href="a00012.html#a61a7a80a68eaccbaaa28269e678c81a9" title="OS-provided physical index number.">os_index</a>); | |
523 | <a name="l00846"></a>00846 } | |
524 | <a name="l00847"></a>00847 | |
525 | <a name="l00855"></a>00855 <span class="keyword">static</span> inline <span class="keywordtype">void</span> | |
526 | <a name="l00856"></a><a class="code" href="a00055.html#ga9162785e39d7c697f76f99524c4a2fb4">00856</a> <a class="code" href="a00055.html#ga9162785e39d7c697f76f99524c4a2fb4" title="Convert a CPU set into a NUMA node set without handling non-NUMA cases.">hwloc_cpuset_to_nodeset_strict</a>(<span class="keyword">struct</span> hwloc_topology *topology, <a class="code" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25" title="A non-modifiable hwloc_cpuset_t.">hwloc_const_cpuset_t</a> <a class="code" href="a00012.html#a67925e0f2c47f50408fbdb9bddd0790f" title="CPUs covered by this object.">cpuset</a>, <a class="code" href="a00034.html#ga37e35730fa7e775b5bb0afe893d6d508" title="A node set is a bitmap whose bits are set according to NUMA memory node physical OS indexes...">hwloc_nodeset_t</a> <a class="code" href="a00012.html#a08f0d0e16c619a6e653526cbee4ffea3" title="NUMA nodes covered by this object or containing this object.">nodeset</a>) | |
527 | <a name="l00857"></a>00857 { | |
528 | <a name="l00858"></a>00858 <span class="keywordtype">int</span> <a class="code" href="a00012.html#a9d82690370275d42d652eccdea5d3ee5" title="Vertical index in the hierarchy.">depth</a> = <a class="code" href="a00040.html#gaea7c64dd59467f5201ba87712710b14d" title="Returns the depth of objects of type type.">hwloc_get_type_depth</a>(topology, <a class="code" href="a00035.html#ggacd37bb612667dc437d66bfb175a8dc55aaf0964881117bdedf1a5e9332cd120dd" title="NUMA node. A set of processors around memory which the processors can directly access.">HWLOC_OBJ_NODE</a>); | |
529 | <a name="l00859"></a>00859 <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> obj; | |
530 | <a name="l00860"></a>00860 <span class="keywordflow">if</span> (depth == <a class="code" href="a00040.html#ggaf4e663cf42bbe20756b849c6293ef575a0565ab92ab72cb0cec91e23003294aad" title="No object of given type exists in the topology.">HWLOC_TYPE_DEPTH_UNKNOWN</a> ) | |
531 | <a name="l00861"></a>00861 <span class="keywordflow">return</span>; | |
532 | <a name="l00862"></a>00862 <a class="code" href="a00056.html#ga6c540b9fe63b8223b6aba46d56dd63b8" title="Empty the bitmap bitmap.">hwloc_bitmap_zero</a>(nodeset); | |
533 | <a name="l00863"></a>00863 obj = NULL; | |
534 | <a name="l00864"></a>00864 <span class="keywordflow">while</span> ((obj = <a class="code" href="a00049.html#ga2f9a4ec15e9cfae8c21501257a51ce5b" title="Iterate through same-depth objects covering at least CPU set set.">hwloc_get_next_obj_covering_cpuset_by_depth</a>(topology, cpuset, depth, obj)) != NULL) | |
535 | <a name="l00865"></a>00865 <a class="code" href="a00056.html#ga497556af0cc34f109ae0277999c074d3" title="Add index id in bitmap bitmap.">hwloc_bitmap_set</a>(nodeset, obj-><a class="code" href="a00012.html#a61a7a80a68eaccbaaa28269e678c81a9" title="OS-provided physical index number.">os_index</a>); | |
536 | <a name="l00866"></a>00866 } | |
537 | <a name="l00867"></a>00867 | |
538 | <a name="l00876"></a>00876 <span class="keyword">static</span> inline <span class="keywordtype">void</span> | |
539 | <a name="l00877"></a><a class="code" href="a00055.html#gaa677fd588304b5615de4ea78104adfb5">00877</a> <a class="code" href="a00055.html#gaa677fd588304b5615de4ea78104adfb5" title="Convert a NUMA node set into a CPU set and handle non-NUMA cases.">hwloc_cpuset_from_nodeset</a>(<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology, <a class="code" href="a00034.html#ga4bbf39b68b6f568fb92739e7c0ea7801" title="A CPU set is a bitmap whose bits are set according to CPU physical OS indexes.">hwloc_cpuset_t</a> <a class="code" href="a00012.html#a67925e0f2c47f50408fbdb9bddd0790f" title="CPUs covered by this object.">cpuset</a>, <a class="code" href="a00034.html#ga2f5276235841ad66a79bedad16a5a10c" title="A non-modifiable hwloc_nodeset_t.">hwloc_const_nodeset_t</a> <a class="code" href="a00012.html#a08f0d0e16c619a6e653526cbee4ffea3" title="NUMA nodes covered by this object or containing this object.">nodeset</a>) | |
540 | <a name="l00878"></a>00878 { | |
541 | <a name="l00879"></a>00879 <span class="keywordtype">int</span> <a class="code" href="a00012.html#a9d82690370275d42d652eccdea5d3ee5" title="Vertical index in the hierarchy.">depth</a> = <a class="code" href="a00040.html#gaea7c64dd59467f5201ba87712710b14d" title="Returns the depth of objects of type type.">hwloc_get_type_depth</a>(topology, <a class="code" href="a00035.html#ggacd37bb612667dc437d66bfb175a8dc55aaf0964881117bdedf1a5e9332cd120dd" title="NUMA node. A set of processors around memory which the processors can directly access.">HWLOC_OBJ_NODE</a>); | |
542 | <a name="l00880"></a>00880 <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> obj; | |
543 | <a name="l00881"></a>00881 | |
544 | <a name="l00882"></a>00882 <span class="keywordflow">if</span> (depth == <a class="code" href="a00040.html#ggaf4e663cf42bbe20756b849c6293ef575a0565ab92ab72cb0cec91e23003294aad" title="No object of given type exists in the topology.">HWLOC_TYPE_DEPTH_UNKNOWN</a> ) { | |
545 | <a name="l00883"></a>00883 <span class="keywordflow">if</span> (<a class="code" href="a00056.html#gaa94fed35d2a598bc4a8657b6955b7bf5" title="Test whether bitmap bitmap is empty.">hwloc_bitmap_iszero</a>(nodeset)) | |
546 | <a name="l00884"></a>00884 <a class="code" href="a00056.html#ga6c540b9fe63b8223b6aba46d56dd63b8" title="Empty the bitmap bitmap.">hwloc_bitmap_zero</a>(cpuset); | |
547 | <a name="l00885"></a>00885 <span class="keywordflow">else</span> | |
548 | <a name="l00886"></a>00886 <span class="comment">/* Assume the whole system */</span> | |
549 | <a name="l00887"></a>00887 <a class="code" href="a00056.html#ga52456f7ef79d68e610cb65e3f7ffafad" title="Fill bitmap bitmap with all possible indexes (even if those objects don&#39;t exist or are otherwise ...">hwloc_bitmap_fill</a>(cpuset); | |
550 | <a name="l00888"></a>00888 <span class="keywordflow">return</span>; | |
551 | <a name="l00889"></a>00889 } | |
552 | <a name="l00890"></a>00890 | |
553 | <a name="l00891"></a>00891 <a class="code" href="a00056.html#ga6c540b9fe63b8223b6aba46d56dd63b8" title="Empty the bitmap bitmap.">hwloc_bitmap_zero</a>(cpuset); | |
554 | <a name="l00892"></a>00892 obj = NULL; | |
555 | <a name="l00893"></a>00893 <span class="keywordflow">while</span> ((obj = <a class="code" href="a00046.html#gab7c1dce3f42ece5bfa621e87cf332418" title="Returns the next object at depth depth.">hwloc_get_next_obj_by_depth</a>(topology, depth, obj)) != NULL) { | |
556 | <a name="l00894"></a>00894 <span class="keywordflow">if</span> (<a class="code" href="a00056.html#ga2583f44cbdb5fff2ea40efdcf3975d3f" title="Test whether index id is part of bitmap bitmap.">hwloc_bitmap_isset</a>(nodeset, obj-><a class="code" href="a00012.html#a61a7a80a68eaccbaaa28269e678c81a9" title="OS-provided physical index number.">os_index</a>)) | |
557 | <a name="l00895"></a>00895 <a class="code" href="a00056.html#ga1ba1de709ee9a7cf5cc8ad2d9a1a81d4" title="Or bitmaps bitmap1 and bitmap2 and store the result in bitmap res.">hwloc_bitmap_or</a>(cpuset, cpuset, obj-><a class="code" href="a00012.html#a67925e0f2c47f50408fbdb9bddd0790f" title="CPUs covered by this object.">cpuset</a>); | |
558 | <a name="l00896"></a>00896 } | |
559 | <a name="l00897"></a>00897 } | |
560 | <a name="l00898"></a>00898 | |
561 | <a name="l00906"></a>00906 <span class="keyword">static</span> inline <span class="keywordtype">void</span> | |
562 | <a name="l00907"></a><a class="code" href="a00055.html#gaa7c3f39802b00a758c58e024a8119979">00907</a> <a class="code" href="a00055.html#gaa7c3f39802b00a758c58e024a8119979" title="Convert a NUMA node set into a CPU set without handling non-NUMA cases.">hwloc_cpuset_from_nodeset_strict</a>(<span class="keyword">struct</span> hwloc_topology *topology, <a class="code" href="a00034.html#ga4bbf39b68b6f568fb92739e7c0ea7801" title="A CPU set is a bitmap whose bits are set according to CPU physical OS indexes.">hwloc_cpuset_t</a> <a class="code" href="a00012.html#a67925e0f2c47f50408fbdb9bddd0790f" title="CPUs covered by this object.">cpuset</a>, <a class="code" href="a00034.html#ga2f5276235841ad66a79bedad16a5a10c" title="A non-modifiable hwloc_nodeset_t.">hwloc_const_nodeset_t</a> <a class="code" href="a00012.html#a08f0d0e16c619a6e653526cbee4ffea3" title="NUMA nodes covered by this object or containing this object.">nodeset</a>) | |
563 | <a name="l00908"></a>00908 { | |
564 | <a name="l00909"></a>00909 <span class="keywordtype">int</span> <a class="code" href="a00012.html#a9d82690370275d42d652eccdea5d3ee5" title="Vertical index in the hierarchy.">depth</a> = <a class="code" href="a00040.html#gaea7c64dd59467f5201ba87712710b14d" title="Returns the depth of objects of type type.">hwloc_get_type_depth</a>(topology, <a class="code" href="a00035.html#ggacd37bb612667dc437d66bfb175a8dc55aaf0964881117bdedf1a5e9332cd120dd" title="NUMA node. A set of processors around memory which the processors can directly access.">HWLOC_OBJ_NODE</a>); | |
565 | <a name="l00910"></a>00910 <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> obj; | |
566 | <a name="l00911"></a>00911 <span class="keywordflow">if</span> (depth == <a class="code" href="a00040.html#ggaf4e663cf42bbe20756b849c6293ef575a0565ab92ab72cb0cec91e23003294aad" title="No object of given type exists in the topology.">HWLOC_TYPE_DEPTH_UNKNOWN</a> ) | |
567 | <a name="l00912"></a>00912 <span class="keywordflow">return</span>; | |
568 | <a name="l00913"></a>00913 <a class="code" href="a00056.html#ga6c540b9fe63b8223b6aba46d56dd63b8" title="Empty the bitmap bitmap.">hwloc_bitmap_zero</a>(cpuset); | |
569 | <a name="l00914"></a>00914 obj = NULL; | |
570 | <a name="l00915"></a>00915 <span class="keywordflow">while</span> ((obj = <a class="code" href="a00046.html#gab7c1dce3f42ece5bfa621e87cf332418" title="Returns the next object at depth depth.">hwloc_get_next_obj_by_depth</a>(topology, depth, obj)) != NULL) | |
571 | <a name="l00916"></a>00916 <span class="keywordflow">if</span> (<a class="code" href="a00056.html#ga2583f44cbdb5fff2ea40efdcf3975d3f" title="Test whether index id is part of bitmap bitmap.">hwloc_bitmap_isset</a>(nodeset, obj-><a class="code" href="a00012.html#a61a7a80a68eaccbaaa28269e678c81a9" title="OS-provided physical index number.">os_index</a>)) | |
572 | <a name="l00917"></a>00917 <a class="code" href="a00056.html#ga1ba1de709ee9a7cf5cc8ad2d9a1a81d4" title="Or bitmaps bitmap1 and bitmap2 and store the result in bitmap res.">hwloc_bitmap_or</a>(cpuset, cpuset, obj-><a class="code" href="a00012.html#a67925e0f2c47f50408fbdb9bddd0790f" title="CPUs covered by this object.">cpuset</a>); | |
573 | <a name="l00918"></a>00918 } | |
574 | <a name="l00919"></a>00919 | |
575 | <a name="l00924"></a>00924 <span class="preprocessor">#ifdef __cplusplus</span> | |
576 | <a name="l00925"></a>00925 <span class="preprocessor"></span>} <span class="comment">/* extern "C" */</span> | |
577 | <a name="l00926"></a>00926 <span class="preprocessor">#endif</span> | |
578 | <a name="l00927"></a>00927 <span class="preprocessor"></span> | |
579 | <a name="l00928"></a>00928 | |
580 | <a name="l00929"></a>00929 <span class="preprocessor">#endif </span><span class="comment">/* HWLOC_HELPER_H */</span> | |
407 | <a name="l00597"></a>00597 <a class="code" href="a00052.html#gaf057d7c5e3cb3df897ce527258537619" title="Distribute n items over the topology under root.">hwloc_distributev</a>(<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology, <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> *root, <span class="keywordtype">unsigned</span> n_roots, <a class="code" href="a00034.html#ga4bbf39b68b6f568fb92739e7c0ea7801" title="A CPU set is a bitmap whose bits are set according to CPU physical OS indexes.">hwloc_cpuset_t</a> *<a class="code" href="a00012.html#a67925e0f2c47f50408fbdb9bddd0790f" title="CPUs covered by this object.">cpuset</a>, <span class="keywordtype">unsigned</span> n, <span class="keywordtype">unsigned</span> until); | |
408 | <a name="l00598"></a>00598 <span class="keyword">static</span> inline <span class="keywordtype">void</span> | |
409 | <a name="l00599"></a><a class="code" href="a00052.html#ga6d5c88292ad5aa062c1bebc99369c042">00599</a> <a class="code" href="a00052.html#ga6d5c88292ad5aa062c1bebc99369c042">hwloc_distribute</a>(<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology, <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> root, <a class="code" href="a00034.html#ga4bbf39b68b6f568fb92739e7c0ea7801" title="A CPU set is a bitmap whose bits are set according to CPU physical OS indexes.">hwloc_cpuset_t</a> *<a class="code" href="a00012.html#a67925e0f2c47f50408fbdb9bddd0790f" title="CPUs covered by this object.">cpuset</a>, <span class="keywordtype">unsigned</span> n, <span class="keywordtype">unsigned</span> until) | |
410 | <a name="l00600"></a>00600 { | |
411 | <a name="l00601"></a>00601 <span class="keywordtype">unsigned</span> i; | |
412 | <a name="l00602"></a>00602 | |
413 | <a name="l00603"></a>00603 <span class="keywordflow">if</span> (!root-><a class="code" href="a00012.html#aac3f6da35c9b57599909a44ce2b716c1" title="Number of children.">arity</a> || n == 1 || root-><a class="code" href="a00012.html#a9d82690370275d42d652eccdea5d3ee5" title="Vertical index in the hierarchy.">depth</a> >= until) { | |
414 | <a name="l00604"></a>00604 <span class="comment">/* Got to the bottom, we can't split any more, put everything there. */</span> | |
415 | <a name="l00605"></a>00605 <span class="keywordflow">for</span> (i=0; i<n; i++) | |
416 | <a name="l00606"></a>00606 cpuset[i] = <a class="code" href="a00056.html#gaaa4ed76211cd3694dfbea2109fc440be" title="Duplicate bitmap bitmap by allocating a new bitmap and copying bitmap contents.">hwloc_bitmap_dup</a>(root-><a class="code" href="a00012.html#a67925e0f2c47f50408fbdb9bddd0790f" title="CPUs covered by this object.">cpuset</a>); | |
417 | <a name="l00607"></a>00607 <span class="keywordflow">return</span>; | |
418 | <a name="l00608"></a>00608 } | |
419 | <a name="l00609"></a>00609 | |
420 | <a name="l00610"></a>00610 <a class="code" href="a00052.html#gaf057d7c5e3cb3df897ce527258537619" title="Distribute n items over the topology under root.">hwloc_distributev</a>(topology, root-><a class="code" href="a00012.html#a04d05403da37bfe17cd63b7c7dd07b1f" title="Children, children[0 .. arity -1].">children</a>, root-><a class="code" href="a00012.html#aac3f6da35c9b57599909a44ce2b716c1" title="Number of children.">arity</a>, cpuset, n, until); | |
421 | <a name="l00611"></a>00611 } | |
422 | <a name="l00612"></a>00612 | |
423 | <a name="l00618"></a>00618 <span class="keyword">static</span> inline <span class="keywordtype">void</span> | |
424 | <a name="l00619"></a><a class="code" href="a00052.html#gaf057d7c5e3cb3df897ce527258537619">00619</a> <a class="code" href="a00052.html#gaf057d7c5e3cb3df897ce527258537619" title="Distribute n items over the topology under root.">hwloc_distributev</a>(<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology, <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> *roots, <span class="keywordtype">unsigned</span> n_roots, <a class="code" href="a00034.html#ga4bbf39b68b6f568fb92739e7c0ea7801" title="A CPU set is a bitmap whose bits are set according to CPU physical OS indexes.">hwloc_cpuset_t</a> *<a class="code" href="a00012.html#a67925e0f2c47f50408fbdb9bddd0790f" title="CPUs covered by this object.">cpuset</a>, <span class="keywordtype">unsigned</span> n, <span class="keywordtype">unsigned</span> until) | |
425 | <a name="l00620"></a>00620 { | |
426 | <a name="l00621"></a>00621 <span class="keywordtype">unsigned</span> i; | |
427 | <a name="l00622"></a>00622 <span class="keywordtype">unsigned</span> tot_weight; | |
428 | <a name="l00623"></a>00623 <a class="code" href="a00034.html#ga4bbf39b68b6f568fb92739e7c0ea7801" title="A CPU set is a bitmap whose bits are set according to CPU physical OS indexes.">hwloc_cpuset_t</a> *cpusetp = <a class="code" href="a00012.html#a67925e0f2c47f50408fbdb9bddd0790f" title="CPUs covered by this object.">cpuset</a>; | |
429 | <a name="l00624"></a>00624 | |
430 | <a name="l00625"></a>00625 tot_weight = 0; | |
431 | <a name="l00626"></a>00626 <span class="keywordflow">for</span> (i = 0; i < n_roots; i++) | |
432 | <a name="l00627"></a>00627 tot_weight += <a class="code" href="a00056.html#ga12d520387be74f849f191d7a06ac325c" title="Compute the &quot;weight&quot; of bitmap bitmap (i.e., number of indexes that are in the bitmap)...">hwloc_bitmap_weight</a>(roots[i]->cpuset); | |
433 | <a name="l00628"></a>00628 | |
434 | <a name="l00629"></a>00629 <span class="keywordflow">for</span> (i = 0; i < n_roots; i++) { | |
435 | <a name="l00630"></a>00630 <span class="comment">/* Give to roots[i] a portion proportional to its weight */</span> | |
436 | <a name="l00631"></a>00631 <span class="keywordtype">unsigned</span> weight = <a class="code" href="a00056.html#ga12d520387be74f849f191d7a06ac325c" title="Compute the &quot;weight&quot; of bitmap bitmap (i.e., number of indexes that are in the bitmap)...">hwloc_bitmap_weight</a>(roots[i]->cpuset); | |
437 | <a name="l00632"></a>00632 <span class="keywordtype">unsigned</span> chunk = (n * weight + tot_weight-1) / tot_weight; | |
438 | <a name="l00633"></a>00633 <a class="code" href="a00052.html#ga6d5c88292ad5aa062c1bebc99369c042">hwloc_distribute</a>(topology, roots[i], cpusetp, chunk, until); | |
439 | <a name="l00634"></a>00634 cpusetp += chunk; | |
440 | <a name="l00635"></a>00635 tot_weight -= weight; | |
441 | <a name="l00636"></a>00636 n -= chunk; | |
442 | <a name="l00637"></a>00637 } | |
443 | <a name="l00638"></a>00638 } | |
444 | <a name="l00639"></a>00639 | |
445 | <a name="l00646"></a>00646 <span class="keyword">static</span> inline <span class="keywordtype">void</span> * | |
446 | <a name="l00647"></a><a class="code" href="a00052.html#ga3e772fbc4de626ed80f13d332b7d4d03">00647</a> <a class="code" href="a00052.html#ga3e772fbc4de626ed80f13d332b7d4d03" title="Allocate some memory on the given nodeset nodeset.">hwloc_alloc_membind_policy_nodeset</a>(<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology, <span class="keywordtype">size_t</span> len, <a class="code" href="a00034.html#ga2f5276235841ad66a79bedad16a5a10c" title="A non-modifiable hwloc_nodeset_t.">hwloc_const_nodeset_t</a> <a class="code" href="a00012.html#a08f0d0e16c619a6e653526cbee4ffea3" title="NUMA nodes covered by this object or containing this object.">nodeset</a>, <a class="code" href="a00044.html#gac9764f79505775d06407b40f5e4661e8" title="Memory binding policy.">hwloc_membind_policy_t</a> policy, <span class="keywordtype">int</span> flags) | |
447 | <a name="l00648"></a>00648 { | |
448 | <a name="l00649"></a>00649 <span class="keywordtype">void</span> *p = <a class="code" href="a00044.html#gaeaa00714a9c4319bda0a74ca6f8720e8" title="Allocate some memory on the given nodeset nodeset.">hwloc_alloc_membind_nodeset</a>(topology, len, nodeset, policy, flags); | |
449 | <a name="l00650"></a>00650 <span class="keywordflow">if</span> (p) | |
450 | <a name="l00651"></a>00651 <span class="keywordflow">return</span> p; | |
451 | <a name="l00652"></a>00652 <a class="code" href="a00044.html#ga747962cbb16fd12ad6d126011c734a27" title="Set the default memory binding policy of the current process or thread to prefer the NUMA node(s) spe...">hwloc_set_membind_nodeset</a>(topology, nodeset, policy, flags); | |
452 | <a name="l00653"></a>00653 p = <a class="code" href="a00044.html#gac5586e58cf25c3596b7d4aa31ce13259" title="Allocate some memory.">hwloc_alloc</a>(topology, len); | |
453 | <a name="l00654"></a>00654 <span class="keywordflow">if</span> (p && policy != <a class="code" href="a00044.html#ggac9764f79505775d06407b40f5e4661e8a979c7aa78dd32780858f30f47a72cca0" title="Allocate memory but do not immediately bind it to a specific locality. Instead, each page in the allo...">HWLOC_MEMBIND_FIRSTTOUCH</a>) | |
454 | <a name="l00655"></a>00655 <span class="comment">/* Enforce the binding by touching the data */</span> | |
455 | <a name="l00656"></a>00656 memset(p, 0, len); | |
456 | <a name="l00657"></a>00657 <span class="keywordflow">return</span> p; | |
457 | <a name="l00658"></a>00658 } | |
458 | <a name="l00659"></a>00659 | |
459 | <a name="l00664"></a>00664 <span class="keyword">static</span> inline <span class="keywordtype">void</span> * | |
460 | <a name="l00665"></a><a class="code" href="a00052.html#ga6178c6a9ec1dd88ec9f6a9fcdcc7d634">00665</a> <a class="code" href="a00052.html#ga6178c6a9ec1dd88ec9f6a9fcdcc7d634" title="Allocate some memory on the memory nodes near given cpuset cpuset.">hwloc_alloc_membind_policy</a>(<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology, <span class="keywordtype">size_t</span> len, <a class="code" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25" title="A non-modifiable hwloc_cpuset_t.">hwloc_const_cpuset_t</a> <a class="code" href="a00012.html#a67925e0f2c47f50408fbdb9bddd0790f" title="CPUs covered by this object.">cpuset</a>, <a class="code" href="a00044.html#gac9764f79505775d06407b40f5e4661e8" title="Memory binding policy.">hwloc_membind_policy_t</a> policy, <span class="keywordtype">int</span> flags) | |
461 | <a name="l00666"></a>00666 { | |
462 | <a name="l00667"></a>00667 <span class="keywordtype">void</span> *p = <a class="code" href="a00044.html#ga221a7edc5d436300374fa16463f607e5" title="Allocate some memory on memory nodes near the given cpuset cpuset.">hwloc_alloc_membind</a>(topology, len, cpuset, policy, flags); | |
463 | <a name="l00668"></a>00668 <span class="keywordflow">if</span> (p) | |
464 | <a name="l00669"></a>00669 <span class="keywordflow">return</span> p; | |
465 | <a name="l00670"></a>00670 <a class="code" href="a00044.html#ga8b6d1d90227aff8e44ef26bc1f8a8f95" title="Set the default memory binding policy of the current process or thread to prefer the NUMA node(s) nea...">hwloc_set_membind</a>(topology, cpuset, policy, flags); | |
466 | <a name="l00671"></a>00671 p = <a class="code" href="a00044.html#gac5586e58cf25c3596b7d4aa31ce13259" title="Allocate some memory.">hwloc_alloc</a>(topology, len); | |
467 | <a name="l00672"></a>00672 <span class="keywordflow">if</span> (p && policy != <a class="code" href="a00044.html#ggac9764f79505775d06407b40f5e4661e8a979c7aa78dd32780858f30f47a72cca0" title="Allocate memory but do not immediately bind it to a specific locality. Instead, each page in the allo...">HWLOC_MEMBIND_FIRSTTOUCH</a>) | |
468 | <a name="l00673"></a>00673 <span class="comment">/* Enforce the binding by touching the data */</span> | |
469 | <a name="l00674"></a>00674 memset(p, 0, len); | |
470 | <a name="l00675"></a>00675 <span class="keywordflow">return</span> p; | |
471 | <a name="l00676"></a>00676 } | |
472 | <a name="l00677"></a>00677 | |
473 | <a name="l00694"></a>00694 <span class="keyword">static</span> inline <a class="code" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25" title="A non-modifiable hwloc_cpuset_t.">hwloc_const_cpuset_t</a> | |
474 | <a name="l00695"></a><a class="code" href="a00053.html#ga75f0ac3ac41e9915541c3ae3153a6e26">00695</a> <a class="code" href="a00053.html#ga75f0ac3ac41e9915541c3ae3153a6e26" title="Get complete CPU set.">hwloc_topology_get_complete_cpuset</a>(<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology) | |
475 | <a name="l00696"></a>00696 { | |
476 | <a name="l00697"></a>00697 <span class="keywordflow">return</span> <a class="code" href="a00046.html#ga632edae4a651996895ebde85ea2c1264" title="Returns the top-object of the topology-tree.">hwloc_get_root_obj</a>(topology)-><a class="code" href="a00012.html#a91788a9da687beb7224cc1fd7b75208c" title="The complete CPU set of logical processors of this object,.">complete_cpuset</a>; | |
477 | <a name="l00698"></a>00698 } | |
478 | <a name="l00699"></a>00699 | |
479 | <a name="l00710"></a>00710 <span class="keyword">static</span> inline <a class="code" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25" title="A non-modifiable hwloc_cpuset_t.">hwloc_const_cpuset_t</a> | |
480 | <a name="l00711"></a><a class="code" href="a00053.html#ga4497338d1cbae6f8a6d68cb14234d5d8">00711</a> <a class="code" href="a00053.html#ga4497338d1cbae6f8a6d68cb14234d5d8" title="Get topology CPU set.">hwloc_topology_get_topology_cpuset</a>(<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology) | |
481 | <a name="l00712"></a>00712 { | |
482 | <a name="l00713"></a>00713 <span class="keywordflow">return</span> <a class="code" href="a00046.html#ga632edae4a651996895ebde85ea2c1264" title="Returns the top-object of the topology-tree.">hwloc_get_root_obj</a>(topology)-><a class="code" href="a00012.html#a67925e0f2c47f50408fbdb9bddd0790f" title="CPUs covered by this object.">cpuset</a>; | |
483 | <a name="l00714"></a>00714 } | |
484 | <a name="l00715"></a>00715 | |
485 | <a name="l00725"></a>00725 <span class="keyword">static</span> inline <a class="code" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25" title="A non-modifiable hwloc_cpuset_t.">hwloc_const_cpuset_t</a> | |
486 | <a name="l00726"></a><a class="code" href="a00053.html#gad00abc77f1670049a5b2139471d0c8db">00726</a> <a class="code" href="a00053.html#gad00abc77f1670049a5b2139471d0c8db" title="Get online CPU set.">hwloc_topology_get_online_cpuset</a>(<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology) | |
487 | <a name="l00727"></a>00727 { | |
488 | <a name="l00728"></a>00728 <span class="keywordflow">return</span> <a class="code" href="a00046.html#ga632edae4a651996895ebde85ea2c1264" title="Returns the top-object of the topology-tree.">hwloc_get_root_obj</a>(topology)-><a class="code" href="a00012.html#a8842d56c2975380f327ea401c5f53564" title="The CPU set of online logical processors.">online_cpuset</a>; | |
489 | <a name="l00729"></a>00729 } | |
490 | <a name="l00730"></a>00730 | |
491 | <a name="l00740"></a>00740 <span class="keyword">static</span> inline <a class="code" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25" title="A non-modifiable hwloc_cpuset_t.">hwloc_const_cpuset_t</a> | |
492 | <a name="l00741"></a><a class="code" href="a00053.html#ga95f116c4c0b1ff2c6418c16341fc2e57">00741</a> <a class="code" href="a00053.html#ga95f116c4c0b1ff2c6418c16341fc2e57" title="Get allowed CPU set.">hwloc_topology_get_allowed_cpuset</a>(<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology) | |
493 | <a name="l00742"></a>00742 { | |
494 | <a name="l00743"></a>00743 <span class="keywordflow">return</span> <a class="code" href="a00046.html#ga632edae4a651996895ebde85ea2c1264" title="Returns the top-object of the topology-tree.">hwloc_get_root_obj</a>(topology)-><a class="code" href="a00012.html#afa3c59a6dd3da8ffa48710780a1bfb34" title="The CPU set of allowed logical processors.">allowed_cpuset</a>; | |
495 | <a name="l00744"></a>00744 } | |
496 | <a name="l00745"></a>00745 | |
497 | <a name="l00762"></a>00762 <span class="keyword">static</span> inline <a class="code" href="a00034.html#ga2f5276235841ad66a79bedad16a5a10c" title="A non-modifiable hwloc_nodeset_t.">hwloc_const_nodeset_t</a> | |
498 | <a name="l00763"></a><a class="code" href="a00054.html#gaf8331b6d5e60c463f7ebe21a878561d4">00763</a> <a class="code" href="a00054.html#gaf8331b6d5e60c463f7ebe21a878561d4" title="Get complete node set.">hwloc_topology_get_complete_nodeset</a>(<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology) | |
499 | <a name="l00764"></a>00764 { | |
500 | <a name="l00765"></a>00765 <span class="keywordflow">return</span> <a class="code" href="a00046.html#ga632edae4a651996895ebde85ea2c1264" title="Returns the top-object of the topology-tree.">hwloc_get_root_obj</a>(topology)-><a class="code" href="a00012.html#ac38c4012127525ef74c5615c526f4c2e" title="The complete NUMA node set of this object,.">complete_nodeset</a>; | |
501 | <a name="l00766"></a>00766 } | |
502 | <a name="l00767"></a>00767 | |
503 | <a name="l00778"></a>00778 <span class="keyword">static</span> inline <a class="code" href="a00034.html#ga2f5276235841ad66a79bedad16a5a10c" title="A non-modifiable hwloc_nodeset_t.">hwloc_const_nodeset_t</a> | |
504 | <a name="l00779"></a><a class="code" href="a00054.html#gae6821ede7676dfac0515a4b7b04b0397">00779</a> <a class="code" href="a00054.html#gae6821ede7676dfac0515a4b7b04b0397" title="Get topology node set.">hwloc_topology_get_topology_nodeset</a>(<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology) | |
505 | <a name="l00780"></a>00780 { | |
506 | <a name="l00781"></a>00781 <span class="keywordflow">return</span> <a class="code" href="a00046.html#ga632edae4a651996895ebde85ea2c1264" title="Returns the top-object of the topology-tree.">hwloc_get_root_obj</a>(topology)-><a class="code" href="a00012.html#a08f0d0e16c619a6e653526cbee4ffea3" title="NUMA nodes covered by this object or containing this object.">nodeset</a>; | |
507 | <a name="l00782"></a>00782 } | |
508 | <a name="l00783"></a>00783 | |
509 | <a name="l00793"></a>00793 <span class="keyword">static</span> inline <a class="code" href="a00034.html#ga2f5276235841ad66a79bedad16a5a10c" title="A non-modifiable hwloc_nodeset_t.">hwloc_const_nodeset_t</a> | |
510 | <a name="l00794"></a><a class="code" href="a00054.html#ga5d829323f8d283687be43ea8c894eb3b">00794</a> <a class="code" href="a00054.html#ga5d829323f8d283687be43ea8c894eb3b" title="Get allowed node set.">hwloc_topology_get_allowed_nodeset</a>(<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology) | |
511 | <a name="l00795"></a>00795 { | |
512 | <a name="l00796"></a>00796 <span class="keywordflow">return</span> <a class="code" href="a00046.html#ga632edae4a651996895ebde85ea2c1264" title="Returns the top-object of the topology-tree.">hwloc_get_root_obj</a>(topology)-><a class="code" href="a00012.html#a19e3d0a5951a7510fc4fc4722a9bf531" title="The set of allowed NUMA memory nodes.">allowed_nodeset</a>; | |
513 | <a name="l00797"></a>00797 } | |
514 | <a name="l00798"></a>00798 | |
515 | <a name="l00829"></a>00829 <span class="keyword">static</span> inline <span class="keywordtype">void</span> | |
516 | <a name="l00830"></a><a class="code" href="a00055.html#ga60ecc4ae480c28b5fbd34aca4fc37daa">00830</a> <a class="code" href="a00055.html#ga60ecc4ae480c28b5fbd34aca4fc37daa" title="Convert a CPU set into a NUMA node set and handle non-NUMA cases.">hwloc_cpuset_to_nodeset</a>(<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology, <a class="code" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25" title="A non-modifiable hwloc_cpuset_t.">hwloc_const_cpuset_t</a> <a class="code" href="a00012.html#a67925e0f2c47f50408fbdb9bddd0790f" title="CPUs covered by this object.">cpuset</a>, <a class="code" href="a00034.html#ga37e35730fa7e775b5bb0afe893d6d508" title="A node set is a bitmap whose bits are set according to NUMA memory node physical OS indexes...">hwloc_nodeset_t</a> <a class="code" href="a00012.html#a08f0d0e16c619a6e653526cbee4ffea3" title="NUMA nodes covered by this object or containing this object.">nodeset</a>) | |
517 | <a name="l00831"></a>00831 { | |
518 | <a name="l00832"></a>00832 <span class="keywordtype">int</span> <a class="code" href="a00012.html#a9d82690370275d42d652eccdea5d3ee5" title="Vertical index in the hierarchy.">depth</a> = <a class="code" href="a00040.html#gaea7c64dd59467f5201ba87712710b14d" title="Returns the depth of objects of type type.">hwloc_get_type_depth</a>(topology, <a class="code" href="a00035.html#ggacd37bb612667dc437d66bfb175a8dc55aaf0964881117bdedf1a5e9332cd120dd" title="NUMA node. A set of processors around memory which the processors can directly access.">HWLOC_OBJ_NODE</a>); | |
519 | <a name="l00833"></a>00833 <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> obj; | |
520 | <a name="l00834"></a>00834 | |
521 | <a name="l00835"></a>00835 <span class="keywordflow">if</span> (depth == <a class="code" href="a00040.html#ggaf4e663cf42bbe20756b849c6293ef575a0565ab92ab72cb0cec91e23003294aad" title="No object of given type exists in the topology.">HWLOC_TYPE_DEPTH_UNKNOWN</a>) { | |
522 | <a name="l00836"></a>00836 <span class="keywordflow">if</span> (<a class="code" href="a00056.html#gaa94fed35d2a598bc4a8657b6955b7bf5" title="Test whether bitmap bitmap is empty.">hwloc_bitmap_iszero</a>(cpuset)) | |
523 | <a name="l00837"></a>00837 <a class="code" href="a00056.html#ga6c540b9fe63b8223b6aba46d56dd63b8" title="Empty the bitmap bitmap.">hwloc_bitmap_zero</a>(nodeset); | |
524 | <a name="l00838"></a>00838 <span class="keywordflow">else</span> | |
525 | <a name="l00839"></a>00839 <span class="comment">/* Assume the whole system */</span> | |
526 | <a name="l00840"></a>00840 <a class="code" href="a00056.html#ga52456f7ef79d68e610cb65e3f7ffafad" title="Fill bitmap bitmap with all possible indexes (even if those objects don&#39;t exist or are otherwise ...">hwloc_bitmap_fill</a>(nodeset); | |
527 | <a name="l00841"></a>00841 <span class="keywordflow">return</span>; | |
528 | <a name="l00842"></a>00842 } | |
529 | <a name="l00843"></a>00843 | |
530 | <a name="l00844"></a>00844 <a class="code" href="a00056.html#ga6c540b9fe63b8223b6aba46d56dd63b8" title="Empty the bitmap bitmap.">hwloc_bitmap_zero</a>(nodeset); | |
531 | <a name="l00845"></a>00845 obj = NULL; | |
532 | <a name="l00846"></a>00846 <span class="keywordflow">while</span> ((obj = <a class="code" href="a00049.html#ga2f9a4ec15e9cfae8c21501257a51ce5b" title="Iterate through same-depth objects covering at least CPU set set.">hwloc_get_next_obj_covering_cpuset_by_depth</a>(topology, cpuset, depth, obj)) != NULL) | |
533 | <a name="l00847"></a>00847 <a class="code" href="a00056.html#ga497556af0cc34f109ae0277999c074d3" title="Add index id in bitmap bitmap.">hwloc_bitmap_set</a>(nodeset, obj-><a class="code" href="a00012.html#a61a7a80a68eaccbaaa28269e678c81a9" title="OS-provided physical index number.">os_index</a>); | |
534 | <a name="l00848"></a>00848 } | |
535 | <a name="l00849"></a>00849 | |
536 | <a name="l00857"></a>00857 <span class="keyword">static</span> inline <span class="keywordtype">void</span> | |
537 | <a name="l00858"></a><a class="code" href="a00055.html#ga9162785e39d7c697f76f99524c4a2fb4">00858</a> <a class="code" href="a00055.html#ga9162785e39d7c697f76f99524c4a2fb4" title="Convert a CPU set into a NUMA node set without handling non-NUMA cases.">hwloc_cpuset_to_nodeset_strict</a>(<span class="keyword">struct</span> hwloc_topology *topology, <a class="code" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25" title="A non-modifiable hwloc_cpuset_t.">hwloc_const_cpuset_t</a> <a class="code" href="a00012.html#a67925e0f2c47f50408fbdb9bddd0790f" title="CPUs covered by this object.">cpuset</a>, <a class="code" href="a00034.html#ga37e35730fa7e775b5bb0afe893d6d508" title="A node set is a bitmap whose bits are set according to NUMA memory node physical OS indexes...">hwloc_nodeset_t</a> <a class="code" href="a00012.html#a08f0d0e16c619a6e653526cbee4ffea3" title="NUMA nodes covered by this object or containing this object.">nodeset</a>) | |
538 | <a name="l00859"></a>00859 { | |
539 | <a name="l00860"></a>00860 <span class="keywordtype">int</span> <a class="code" href="a00012.html#a9d82690370275d42d652eccdea5d3ee5" title="Vertical index in the hierarchy.">depth</a> = <a class="code" href="a00040.html#gaea7c64dd59467f5201ba87712710b14d" title="Returns the depth of objects of type type.">hwloc_get_type_depth</a>(topology, <a class="code" href="a00035.html#ggacd37bb612667dc437d66bfb175a8dc55aaf0964881117bdedf1a5e9332cd120dd" title="NUMA node. A set of processors around memory which the processors can directly access.">HWLOC_OBJ_NODE</a>); | |
540 | <a name="l00861"></a>00861 <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> obj; | |
541 | <a name="l00862"></a>00862 <span class="keywordflow">if</span> (depth == <a class="code" href="a00040.html#ggaf4e663cf42bbe20756b849c6293ef575a0565ab92ab72cb0cec91e23003294aad" title="No object of given type exists in the topology.">HWLOC_TYPE_DEPTH_UNKNOWN</a> ) | |
542 | <a name="l00863"></a>00863 <span class="keywordflow">return</span>; | |
543 | <a name="l00864"></a>00864 <a class="code" href="a00056.html#ga6c540b9fe63b8223b6aba46d56dd63b8" title="Empty the bitmap bitmap.">hwloc_bitmap_zero</a>(nodeset); | |
544 | <a name="l00865"></a>00865 obj = NULL; | |
545 | <a name="l00866"></a>00866 <span class="keywordflow">while</span> ((obj = <a class="code" href="a00049.html#ga2f9a4ec15e9cfae8c21501257a51ce5b" title="Iterate through same-depth objects covering at least CPU set set.">hwloc_get_next_obj_covering_cpuset_by_depth</a>(topology, cpuset, depth, obj)) != NULL) | |
546 | <a name="l00867"></a>00867 <a class="code" href="a00056.html#ga497556af0cc34f109ae0277999c074d3" title="Add index id in bitmap bitmap.">hwloc_bitmap_set</a>(nodeset, obj-><a class="code" href="a00012.html#a61a7a80a68eaccbaaa28269e678c81a9" title="OS-provided physical index number.">os_index</a>); | |
547 | <a name="l00868"></a>00868 } | |
548 | <a name="l00869"></a>00869 | |
549 | <a name="l00878"></a>00878 <span class="keyword">static</span> inline <span class="keywordtype">void</span> | |
550 | <a name="l00879"></a><a class="code" href="a00055.html#gaa677fd588304b5615de4ea78104adfb5">00879</a> <a class="code" href="a00055.html#gaa677fd588304b5615de4ea78104adfb5" title="Convert a NUMA node set into a CPU set and handle non-NUMA cases.">hwloc_cpuset_from_nodeset</a>(<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology, <a class="code" href="a00034.html#ga4bbf39b68b6f568fb92739e7c0ea7801" title="A CPU set is a bitmap whose bits are set according to CPU physical OS indexes.">hwloc_cpuset_t</a> <a class="code" href="a00012.html#a67925e0f2c47f50408fbdb9bddd0790f" title="CPUs covered by this object.">cpuset</a>, <a class="code" href="a00034.html#ga2f5276235841ad66a79bedad16a5a10c" title="A non-modifiable hwloc_nodeset_t.">hwloc_const_nodeset_t</a> <a class="code" href="a00012.html#a08f0d0e16c619a6e653526cbee4ffea3" title="NUMA nodes covered by this object or containing this object.">nodeset</a>) | |
551 | <a name="l00880"></a>00880 { | |
552 | <a name="l00881"></a>00881 <span class="keywordtype">int</span> <a class="code" href="a00012.html#a9d82690370275d42d652eccdea5d3ee5" title="Vertical index in the hierarchy.">depth</a> = <a class="code" href="a00040.html#gaea7c64dd59467f5201ba87712710b14d" title="Returns the depth of objects of type type.">hwloc_get_type_depth</a>(topology, <a class="code" href="a00035.html#ggacd37bb612667dc437d66bfb175a8dc55aaf0964881117bdedf1a5e9332cd120dd" title="NUMA node. A set of processors around memory which the processors can directly access.">HWLOC_OBJ_NODE</a>); | |
553 | <a name="l00882"></a>00882 <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> obj; | |
554 | <a name="l00883"></a>00883 | |
555 | <a name="l00884"></a>00884 <span class="keywordflow">if</span> (depth == <a class="code" href="a00040.html#ggaf4e663cf42bbe20756b849c6293ef575a0565ab92ab72cb0cec91e23003294aad" title="No object of given type exists in the topology.">HWLOC_TYPE_DEPTH_UNKNOWN</a> ) { | |
556 | <a name="l00885"></a>00885 <span class="keywordflow">if</span> (<a class="code" href="a00056.html#gaa94fed35d2a598bc4a8657b6955b7bf5" title="Test whether bitmap bitmap is empty.">hwloc_bitmap_iszero</a>(nodeset)) | |
557 | <a name="l00886"></a>00886 <a class="code" href="a00056.html#ga6c540b9fe63b8223b6aba46d56dd63b8" title="Empty the bitmap bitmap.">hwloc_bitmap_zero</a>(cpuset); | |
558 | <a name="l00887"></a>00887 <span class="keywordflow">else</span> | |
559 | <a name="l00888"></a>00888 <span class="comment">/* Assume the whole system */</span> | |
560 | <a name="l00889"></a>00889 <a class="code" href="a00056.html#ga52456f7ef79d68e610cb65e3f7ffafad" title="Fill bitmap bitmap with all possible indexes (even if those objects don&#39;t exist or are otherwise ...">hwloc_bitmap_fill</a>(cpuset); | |
561 | <a name="l00890"></a>00890 <span class="keywordflow">return</span>; | |
562 | <a name="l00891"></a>00891 } | |
563 | <a name="l00892"></a>00892 | |
564 | <a name="l00893"></a>00893 <a class="code" href="a00056.html#ga6c540b9fe63b8223b6aba46d56dd63b8" title="Empty the bitmap bitmap.">hwloc_bitmap_zero</a>(cpuset); | |
565 | <a name="l00894"></a>00894 obj = NULL; | |
566 | <a name="l00895"></a>00895 <span class="keywordflow">while</span> ((obj = <a class="code" href="a00046.html#gab7c1dce3f42ece5bfa621e87cf332418" title="Returns the next object at depth depth.">hwloc_get_next_obj_by_depth</a>(topology, depth, obj)) != NULL) { | |
567 | <a name="l00896"></a>00896 <span class="keywordflow">if</span> (<a class="code" href="a00056.html#ga2583f44cbdb5fff2ea40efdcf3975d3f" title="Test whether index id is part of bitmap bitmap.">hwloc_bitmap_isset</a>(nodeset, obj-><a class="code" href="a00012.html#a61a7a80a68eaccbaaa28269e678c81a9" title="OS-provided physical index number.">os_index</a>)) | |
568 | <a name="l00897"></a>00897 <a class="code" href="a00056.html#ga1ba1de709ee9a7cf5cc8ad2d9a1a81d4" title="Or bitmaps bitmap1 and bitmap2 and store the result in bitmap res.">hwloc_bitmap_or</a>(cpuset, cpuset, obj-><a class="code" href="a00012.html#a67925e0f2c47f50408fbdb9bddd0790f" title="CPUs covered by this object.">cpuset</a>); | |
569 | <a name="l00898"></a>00898 } | |
570 | <a name="l00899"></a>00899 } | |
571 | <a name="l00900"></a>00900 | |
572 | <a name="l00908"></a>00908 <span class="keyword">static</span> inline <span class="keywordtype">void</span> | |
573 | <a name="l00909"></a><a class="code" href="a00055.html#gaa7c3f39802b00a758c58e024a8119979">00909</a> <a class="code" href="a00055.html#gaa7c3f39802b00a758c58e024a8119979" title="Convert a NUMA node set into a CPU set without handling non-NUMA cases.">hwloc_cpuset_from_nodeset_strict</a>(<span class="keyword">struct</span> hwloc_topology *topology, <a class="code" href="a00034.html#ga4bbf39b68b6f568fb92739e7c0ea7801" title="A CPU set is a bitmap whose bits are set according to CPU physical OS indexes.">hwloc_cpuset_t</a> <a class="code" href="a00012.html#a67925e0f2c47f50408fbdb9bddd0790f" title="CPUs covered by this object.">cpuset</a>, <a class="code" href="a00034.html#ga2f5276235841ad66a79bedad16a5a10c" title="A non-modifiable hwloc_nodeset_t.">hwloc_const_nodeset_t</a> <a class="code" href="a00012.html#a08f0d0e16c619a6e653526cbee4ffea3" title="NUMA nodes covered by this object or containing this object.">nodeset</a>) | |
574 | <a name="l00910"></a>00910 { | |
575 | <a name="l00911"></a>00911 <span class="keywordtype">int</span> <a class="code" href="a00012.html#a9d82690370275d42d652eccdea5d3ee5" title="Vertical index in the hierarchy.">depth</a> = <a class="code" href="a00040.html#gaea7c64dd59467f5201ba87712710b14d" title="Returns the depth of objects of type type.">hwloc_get_type_depth</a>(topology, <a class="code" href="a00035.html#ggacd37bb612667dc437d66bfb175a8dc55aaf0964881117bdedf1a5e9332cd120dd" title="NUMA node. A set of processors around memory which the processors can directly access.">HWLOC_OBJ_NODE</a>); | |
576 | <a name="l00912"></a>00912 <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> obj; | |
577 | <a name="l00913"></a>00913 <span class="keywordflow">if</span> (depth == <a class="code" href="a00040.html#ggaf4e663cf42bbe20756b849c6293ef575a0565ab92ab72cb0cec91e23003294aad" title="No object of given type exists in the topology.">HWLOC_TYPE_DEPTH_UNKNOWN</a> ) | |
578 | <a name="l00914"></a>00914 <span class="keywordflow">return</span>; | |
579 | <a name="l00915"></a>00915 <a class="code" href="a00056.html#ga6c540b9fe63b8223b6aba46d56dd63b8" title="Empty the bitmap bitmap.">hwloc_bitmap_zero</a>(cpuset); | |
580 | <a name="l00916"></a>00916 obj = NULL; | |
581 | <a name="l00917"></a>00917 <span class="keywordflow">while</span> ((obj = <a class="code" href="a00046.html#gab7c1dce3f42ece5bfa621e87cf332418" title="Returns the next object at depth depth.">hwloc_get_next_obj_by_depth</a>(topology, depth, obj)) != NULL) | |
582 | <a name="l00918"></a>00918 <span class="keywordflow">if</span> (<a class="code" href="a00056.html#ga2583f44cbdb5fff2ea40efdcf3975d3f" title="Test whether index id is part of bitmap bitmap.">hwloc_bitmap_isset</a>(nodeset, obj-><a class="code" href="a00012.html#a61a7a80a68eaccbaaa28269e678c81a9" title="OS-provided physical index number.">os_index</a>)) | |
583 | <a name="l00919"></a>00919 <a class="code" href="a00056.html#ga1ba1de709ee9a7cf5cc8ad2d9a1a81d4" title="Or bitmaps bitmap1 and bitmap2 and store the result in bitmap res.">hwloc_bitmap_or</a>(cpuset, cpuset, obj-><a class="code" href="a00012.html#a67925e0f2c47f50408fbdb9bddd0790f" title="CPUs covered by this object.">cpuset</a>); | |
584 | <a name="l00920"></a>00920 } | |
585 | <a name="l00921"></a>00921 | |
586 | <a name="l00926"></a>00926 <span class="preprocessor">#ifdef __cplusplus</span> | |
587 | <a name="l00927"></a>00927 <span class="preprocessor"></span>} <span class="comment">/* extern "C" */</span> | |
588 | <a name="l00928"></a>00928 <span class="preprocessor">#endif</span> | |
589 | <a name="l00929"></a>00929 <span class="preprocessor"></span> | |
590 | <a name="l00930"></a>00930 | |
591 | <a name="l00931"></a>00931 <span class="preprocessor">#endif </span><span class="comment">/* HWLOC_HELPER_H */</span> | |
581 | 592 | </pre></div></div> |
582 | 593 | </div> |
583 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
594 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
584 | 595 | <a href="http://www.doxygen.org/index.html"> |
585 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
596 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
586 | 597 | </body> |
587 | 598 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
17 | 28 | <li class="current"><a href="files.html"><span>Files</span></a></li> |
18 | 29 | </ul> |
19 | 30 | </div> |
20 | <div class="tabs2"> | |
31 | <div id="navrow2" class="tabs2"> | |
21 | 32 | <ul class="tablist"> |
22 | 33 | <li><a href="files.html"><span>File List</span></a></li> |
23 | 34 | </ul> |
29 | 40 | <div class="contents"> |
30 | 41 | <div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span> |
31 | 42 | <a name="l00002"></a>00002 <span class="comment"> * Copyright © 2009 CNRS</span> |
32 | <a name="l00003"></a>00003 <span class="comment"> * Copyright © 2009-2010 INRIA</span> | |
43 | <a name="l00003"></a>00003 <span class="comment"> * Copyright © 2009-2011 INRIA. All rights reserved.</span> | |
33 | 44 | <a name="l00004"></a>00004 <span class="comment"> * Copyright © 2009-2011 Université Bordeaux 1</span> |
34 | 45 | <a name="l00005"></a>00005 <span class="comment"> * Copyright © 2009-2011 Cisco Systems, Inc. All rights reserved.</span> |
35 | 46 | <a name="l00006"></a>00006 <span class="comment"> * See COPYING in top-level directory.</span> |
38 | 49 | <a name="l00016"></a>00016 <span class="preprocessor">#ifndef HWLOC_H</span> |
39 | 50 | <a name="l00017"></a>00017 <span class="preprocessor"></span><span class="preprocessor">#define HWLOC_H</span> |
40 | 51 | <a name="l00018"></a>00018 <span class="preprocessor"></span> |
41 | <a name="l00019"></a>00019 <span class="preprocessor">#include <hwloc/config.h></span> | |
52 | <a name="l00019"></a>00019 <span class="preprocessor">#include <hwloc/autogen/config.h></span> | |
42 | 53 | <a name="l00020"></a>00020 <span class="preprocessor">#include <sys/types.h></span> |
43 | 54 | <a name="l00021"></a>00021 <span class="preprocessor">#include <stdio.h></span> |
44 | 55 | <a name="l00022"></a>00022 <span class="preprocessor">#include <string.h></span> |
45 | 56 | <a name="l00023"></a>00023 <span class="preprocessor">#include <limits.h></span> |
46 | <a name="l00024"></a>00024 <span class="preprocessor">#ifdef HWLOC_HAVE_STDINT_H</span> | |
47 | <a name="l00025"></a>00025 <span class="preprocessor"></span><span class="preprocessor">#include <stdint.h></span> | |
48 | <a name="l00026"></a>00026 <span class="preprocessor">#endif</span> | |
49 | <a name="l00027"></a>00027 <span class="preprocessor"></span> | |
50 | <a name="l00028"></a>00028 <span class="comment">/*</span> | |
51 | <a name="l00029"></a>00029 <span class="comment"> * Symbol transforms</span> | |
52 | <a name="l00030"></a>00030 <span class="comment"> */</span> | |
53 | <a name="l00031"></a>00031 <span class="preprocessor">#include <hwloc/rename.h></span> | |
54 | <a name="l00032"></a>00032 | |
55 | <a name="l00033"></a>00033 <span class="comment">/*</span> | |
56 | <a name="l00034"></a>00034 <span class="comment"> * Bitmap definitions</span> | |
57 | <a name="l00035"></a>00035 <span class="comment"> */</span> | |
57 | <a name="l00024"></a>00024 | |
58 | <a name="l00025"></a>00025 <span class="comment">/*</span> | |
59 | <a name="l00026"></a>00026 <span class="comment"> * Symbol transforms</span> | |
60 | <a name="l00027"></a>00027 <span class="comment"> */</span> | |
61 | <a name="l00028"></a>00028 <span class="preprocessor">#include <hwloc/rename.h></span> | |
62 | <a name="l00029"></a>00029 | |
63 | <a name="l00030"></a>00030 <span class="comment">/*</span> | |
64 | <a name="l00031"></a>00031 <span class="comment"> * Bitmap definitions</span> | |
65 | <a name="l00032"></a>00032 <span class="comment"> */</span> | |
66 | <a name="l00033"></a>00033 | |
67 | <a name="l00034"></a>00034 <span class="preprocessor">#include <hwloc/bitmap.h></span> | |
68 | <a name="l00035"></a>00035 <span class="preprocessor">#include <hwloc/cpuset.h></span> | |
58 | 69 | <a name="l00036"></a>00036 |
59 | <a name="l00037"></a>00037 <span class="preprocessor">#include <hwloc/bitmap.h></span> | |
60 | <a name="l00038"></a>00038 <span class="preprocessor">#include <hwloc/cpuset.h></span> | |
61 | <a name="l00039"></a>00039 | |
62 | <a name="l00040"></a>00040 | |
63 | <a name="l00041"></a>00041 <span class="preprocessor">#ifdef __cplusplus</span> | |
64 | <a name="l00042"></a>00042 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> { | |
65 | <a name="l00043"></a>00043 <span class="preprocessor">#endif</span> | |
66 | <a name="l00044"></a>00044 <span class="preprocessor"></span> | |
67 | <a name="l00045"></a>00045 | |
68 | <a name="l00051"></a><a class="code" href="a00032.html#ga8f4dfb8eef138af55dd1a0fa802e5476">00051</a> <span class="preprocessor">#define HWLOC_API_VERSION 0x00010100</span> | |
69 | <a name="l00052"></a>00052 <span class="preprocessor"></span> | |
70 | <a name="l00054"></a>00054 <span class="keywordtype">unsigned</span> <a class="code" href="a00032.html#ga61ef7566efe550d314b0ce4f3421ec5d" title="Indicate at runtime which hwloc API version was used at build time.">hwloc_get_api_version</a>(<span class="keywordtype">void</span>); | |
71 | <a name="l00055"></a>00055 | |
72 | <a name="l00064"></a>00064 <span class="keyword">struct </span>hwloc_topology; | |
73 | <a name="l00069"></a><a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">00069</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>hwloc_topology * <a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a>; | |
74 | <a name="l00070"></a>00070 | |
75 | <a name="l00101"></a><a class="code" href="a00034.html#ga4bbf39b68b6f568fb92739e7c0ea7801">00101</a> <span class="keyword">typedef</span> <a class="code" href="a00056.html#gaa3c2bf4c776d603dcebbb61b0c923d84" title="Set of bits represented as an opaque pointer to an internal bitmap.">hwloc_bitmap_t</a> <a class="code" href="a00034.html#ga4bbf39b68b6f568fb92739e7c0ea7801" title="A CPU set is a bitmap whose bits are set according to CPU physical OS indexes.">hwloc_cpuset_t</a>; | |
76 | <a name="l00103"></a><a class="code" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25">00103</a> <span class="keyword">typedef</span> <a class="code" href="a00056.html#ga2fb1bbc8aea1ea22dee2f0fd39659f48" title="a non-modifiable hwloc_bitmap_t">hwloc_const_bitmap_t</a> <a class="code" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25" title="A non-modifiable hwloc_cpuset_t.">hwloc_const_cpuset_t</a>; | |
77 | <a name="l00104"></a>00104 | |
78 | <a name="l00118"></a><a class="code" href="a00034.html#ga37e35730fa7e775b5bb0afe893d6d508">00118</a> <span class="keyword">typedef</span> <a class="code" href="a00056.html#gaa3c2bf4c776d603dcebbb61b0c923d84" title="Set of bits represented as an opaque pointer to an internal bitmap.">hwloc_bitmap_t</a> <a class="code" href="a00034.html#ga37e35730fa7e775b5bb0afe893d6d508" title="A node set is a bitmap whose bits are set according to NUMA memory node physical OS indexes...">hwloc_nodeset_t</a>; | |
79 | <a name="l00121"></a><a class="code" href="a00034.html#ga2f5276235841ad66a79bedad16a5a10c">00121</a> <span class="keyword">typedef</span> <a class="code" href="a00056.html#ga2fb1bbc8aea1ea22dee2f0fd39659f48" title="a non-modifiable hwloc_bitmap_t">hwloc_const_bitmap_t</a> <a class="code" href="a00034.html#ga2f5276235841ad66a79bedad16a5a10c" title="A non-modifiable hwloc_nodeset_t.">hwloc_const_nodeset_t</a>; | |
80 | <a name="l00122"></a>00122 | |
81 | <a name="l00137"></a><a class="code" href="a00035.html#gacd37bb612667dc437d66bfb175a8dc55">00137</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> { | |
82 | <a name="l00138"></a><a class="code" href="a00035.html#ggacd37bb612667dc437d66bfb175a8dc55a3aa1b842d1fd4207ebce171f95a244ec">00138</a> <a class="code" href="a00035.html#ggacd37bb612667dc437d66bfb175a8dc55a3aa1b842d1fd4207ebce171f95a244ec" title="Whole system (may be a cluster of machines). The whole system that is accessible to hwloc...">HWLOC_OBJ_SYSTEM</a>, | |
83 | <a name="l00143"></a><a class="code" href="a00035.html#ggacd37bb612667dc437d66bfb175a8dc55a3f4e83ffc4a259354959ae8a9eaa2a80">00143</a> <a class="code" href="a00035.html#ggacd37bb612667dc437d66bfb175a8dc55a3f4e83ffc4a259354959ae8a9eaa2a80" title="Machine. The typical root object type. A set of processors and memory with cache coherency.">HWLOC_OBJ_MACHINE</a>, | |
84 | <a name="l00148"></a><a class="code" href="a00035.html#ggacd37bb612667dc437d66bfb175a8dc55aaf0964881117bdedf1a5e9332cd120dd">00148</a> <a class="code" href="a00035.html#ggacd37bb612667dc437d66bfb175a8dc55aaf0964881117bdedf1a5e9332cd120dd" title="NUMA node. A set of processors around memory which the processors can directly access.">HWLOC_OBJ_NODE</a>, | |
85 | <a name="l00152"></a><a class="code" href="a00035.html#ggacd37bb612667dc437d66bfb175a8dc55a1ac6e07775ae4324b3fe9dbd72c785ec">00152</a> <a class="code" href="a00035.html#ggacd37bb612667dc437d66bfb175a8dc55a1ac6e07775ae4324b3fe9dbd72c785ec" title="Socket, physical package, or chip. In the physical meaning, i.e. that you can add or remove physicall...">HWLOC_OBJ_SOCKET</a>, | |
86 | <a name="l00156"></a><a class="code" href="a00035.html#ggacd37bb612667dc437d66bfb175a8dc55a56ee0b7eca88f363b75b34fdde8c9ddc">00156</a> <a class="code" href="a00035.html#ggacd37bb612667dc437d66bfb175a8dc55a56ee0b7eca88f363b75b34fdde8c9ddc" title="Data cache. Can be L1, L2, L3, ...">HWLOC_OBJ_CACHE</a>, | |
87 | <a name="l00159"></a><a class="code" href="a00035.html#ggacd37bb612667dc437d66bfb175a8dc55ac793958f330bca371aa1535de8aff45f">00159</a> <a class="code" href="a00035.html#ggacd37bb612667dc437d66bfb175a8dc55ac793958f330bca371aa1535de8aff45f" title="Core. A computation unit (may be shared by several logical processors).">HWLOC_OBJ_CORE</a>, | |
88 | <a name="l00163"></a><a class="code" href="a00035.html#ggacd37bb612667dc437d66bfb175a8dc55abca6887e80cb291353b0a0c1da83f661">00163</a> <a class="code" href="a00035.html#ggacd37bb612667dc437d66bfb175a8dc55abca6887e80cb291353b0a0c1da83f661" title="Processing Unit, or (Logical) Processor. An execution unit (may share a core with some other logical ...">HWLOC_OBJ_PU</a>, | |
89 | <a name="l00172"></a><a class="code" href="a00035.html#ggacd37bb612667dc437d66bfb175a8dc55a5269ef95be72f88465559d35c9b7ad56">00172</a> <a class="code" href="a00035.html#ggacd37bb612667dc437d66bfb175a8dc55a5269ef95be72f88465559d35c9b7ad56" title="Group objects. Objects which do not fit in the above but are detected by hwloc and are useful to take...">HWLOC_OBJ_GROUP</a>, | |
90 | <a name="l00184"></a><a class="code" href="a00035.html#ggacd37bb612667dc437d66bfb175a8dc55a19f8a6953fa91efc76bcbcdf2d22de4d">00184</a> <a class="code" href="a00035.html#ggacd37bb612667dc437d66bfb175a8dc55a19f8a6953fa91efc76bcbcdf2d22de4d" title="Miscellaneous objects. Objects without particular meaning, that can e.g. be added by the application ...">HWLOC_OBJ_MISC</a> | |
91 | <a name="l00188"></a>00188 } <a class="code" href="a00035.html#gacd37bb612667dc437d66bfb175a8dc55" title="Type of topology object.">hwloc_obj_type_t</a>; | |
92 | <a name="l00189"></a>00189 | |
93 | <a name="l00207"></a>00207 <span class="keywordtype">int</span> <a class="code" href="a00035.html#gabd7da4f4ea12b420b8ecbde458b27805" title="Compare the depth of two object types.">hwloc_compare_types</a> (<a class="code" href="a00035.html#gacd37bb612667dc437d66bfb175a8dc55" title="Type of topology object.">hwloc_obj_type_t</a> type1, <a class="code" href="a00035.html#gacd37bb612667dc437d66bfb175a8dc55" title="Type of topology object.">hwloc_obj_type_t</a> type2) ; | |
94 | <a name="l00208"></a>00208 | |
95 | <a name="l00209"></a><a class="code" href="a00035.html#ga46323568968005137c32f6a1cd405b74">00209</a> <span class="keyword">enum</span> <a class="code" href="a00035.html#ga46323568968005137c32f6a1cd405b74">hwloc_compare_types_e</a> { | |
96 | <a name="l00210"></a><a class="code" href="a00035.html#gga46323568968005137c32f6a1cd405b74a2f8297ea36eba46e7596e810a67298fb">00210</a> <a class="code" href="a00035.html#gga46323568968005137c32f6a1cd405b74a2f8297ea36eba46e7596e810a67298fb" title="Value returned by hwloc_compare_types when types can not be compared.">HWLOC_TYPE_UNORDERED</a> = INT_MAX | |
97 | <a name="l00211"></a>00211 }; | |
98 | <a name="l00212"></a>00212 | |
99 | <a name="l00221"></a>00221 <span class="keyword">union </span><a class="code" href="a00013.html" title="Object type-specific Attributes.">hwloc_obj_attr_u</a>; | |
100 | <a name="l00222"></a>00222 | |
101 | <a name="l00224"></a><a class="code" href="a00016.html">00224</a> <span class="keyword">struct </span><a class="code" href="a00016.html" title="Object memory.">hwloc_obj_memory_s</a> { | |
102 | <a name="l00225"></a><a class="code" href="a00016.html#a68c3323d2d0a248d1b7fec7af44bebe3">00225</a> uint64_t <a class="code" href="a00016.html#a68c3323d2d0a248d1b7fec7af44bebe3" title="Total memory (in bytes) in this object and its children.">total_memory</a>; | |
103 | <a name="l00226"></a><a class="code" href="a00016.html#a27043a3150660f44ed84916c2d0d7e0e">00226</a> uint64_t <a class="code" href="a00016.html#a27043a3150660f44ed84916c2d0d7e0e" title="Local memory (in bytes)">local_memory</a>; | |
104 | <a name="l00228"></a><a class="code" href="a00016.html#a208c27f4491077d7fb9ba5db8b29cb57">00228</a> <span class="keywordtype">unsigned</span> <a class="code" href="a00016.html#a208c27f4491077d7fb9ba5db8b29cb57" title="Size of array page_types.">page_types_len</a>; | |
105 | <a name="l00234"></a><a class="code" href="a00015.html">00234</a> <span class="keyword">struct </span><a class="code" href="a00015.html" title="Array of local memory page types, NULL if no local memory and page_types is 0.">hwloc_obj_memory_page_type_s</a> { | |
106 | <a name="l00235"></a><a class="code" href="a00015.html#af0619463fb5d10052b7fe3495a66d74b">00235</a> uint64_t <a class="code" href="a00015.html#af0619463fb5d10052b7fe3495a66d74b" title="Size of pages.">size</a>; | |
107 | <a name="l00236"></a><a class="code" href="a00015.html#ab5d01db7b26177a6b5361107cad152c3">00236</a> uint64_t <a class="code" href="a00015.html#ab5d01db7b26177a6b5361107cad152c3" title="Number of pages of this size.">count</a>; | |
108 | <a name="l00237"></a>00237 } * <a class="code" href="a00016.html#a865eba7b12b986d72dbe7a2cfd97c50d">page_types</a>; | |
109 | <a name="l00238"></a>00238 }; | |
110 | <a name="l00239"></a>00239 | |
111 | <a name="l00244"></a><a class="code" href="a00012.html">00244</a> <span class="keyword">struct </span><a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj</a> { | |
112 | <a name="l00245"></a>00245 <span class="comment">/* physical information */</span> | |
113 | <a name="l00246"></a><a class="code" href="a00012.html#acc4f0803f244867e68fe0036800be5de">00246</a> <a class="code" href="a00035.html#gacd37bb612667dc437d66bfb175a8dc55" title="Type of topology object.">hwloc_obj_type_t</a> <a class="code" href="a00012.html#acc4f0803f244867e68fe0036800be5de" title="Type of object.">type</a>; | |
114 | <a name="l00247"></a><a class="code" href="a00012.html#a61a7a80a68eaccbaaa28269e678c81a9">00247</a> <span class="keywordtype">unsigned</span> <a class="code" href="a00012.html#a61a7a80a68eaccbaaa28269e678c81a9" title="OS-provided physical index number.">os_index</a>; | |
115 | <a name="l00248"></a><a class="code" href="a00012.html#abb709ec38f2970677e4e57d1d30be96d">00248</a> <span class="keywordtype">char</span> *<a class="code" href="a00012.html#abb709ec38f2970677e4e57d1d30be96d" title="Object description if any.">name</a>; | |
116 | <a name="l00250"></a><a class="code" href="a00012.html#a1dc830816716213b5f797e4052487864">00250</a> <span class="keyword">struct </span><a class="code" href="a00016.html" title="Object memory.">hwloc_obj_memory_s</a> <a class="code" href="a00012.html#a1dc830816716213b5f797e4052487864" title="Memory attributes.">memory</a>; | |
117 | <a name="l00252"></a><a class="code" href="a00012.html#accd40e29f71f19e88db62ea3df02adc8">00252</a> <span class="keyword">union </span><a class="code" href="a00013.html" title="Object type-specific Attributes.">hwloc_obj_attr_u</a> *<a class="code" href="a00012.html#accd40e29f71f19e88db62ea3df02adc8" title="Object type-specific Attributes, may be NULL if no attribute value was found.">attr</a>; | |
118 | <a name="l00255"></a>00255 <span class="comment">/* global position */</span> | |
119 | <a name="l00256"></a><a class="code" href="a00012.html#a9d82690370275d42d652eccdea5d3ee5">00256</a> <span class="keywordtype">unsigned</span> <a class="code" href="a00012.html#a9d82690370275d42d652eccdea5d3ee5" title="Vertical index in the hierarchy.">depth</a>; | |
120 | <a name="l00257"></a><a class="code" href="a00012.html#a0d07fb7b8935e137c94d75a3eb492ae9">00257</a> <span class="keywordtype">unsigned</span> <a class="code" href="a00012.html#a0d07fb7b8935e137c94d75a3eb492ae9" title="Horizontal index in the whole list of similar objects, could be a &quot;cousin_rank&quot; since it&#3...">logical_index</a>; | |
121 | <a name="l00259"></a><a class="code" href="a00012.html#a68766f0b1c4d61b5bad87e3b81dacfde">00259</a> <span class="keywordtype">signed</span> <a class="code" href="a00012.html#a68766f0b1c4d61b5bad87e3b81dacfde" title="OS-provided physical level, -1 if unknown or meaningless.">os_level</a>; | |
122 | <a name="l00261"></a><a class="code" href="a00012.html#a85a788017457129589318b6c39451acf">00261</a> <span class="keyword">struct </span><a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj</a> *<a class="code" href="a00012.html#a85a788017457129589318b6c39451acf" title="Next object of same type.">next_cousin</a>; | |
123 | <a name="l00262"></a><a class="code" href="a00012.html#ac715989f55ff5a0eb6be2969ee477ec0">00262</a> <span class="keyword">struct </span><a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj</a> *<a class="code" href="a00012.html#ac715989f55ff5a0eb6be2969ee477ec0" title="Previous object of same type.">prev_cousin</a>; | |
124 | <a name="l00264"></a>00264 <span class="comment">/* parent */</span> | |
125 | <a name="l00265"></a><a class="code" href="a00012.html#adc494f6aed939992be1c55cca5822900">00265</a> <span class="keyword">struct </span><a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj</a> *<a class="code" href="a00012.html#adc494f6aed939992be1c55cca5822900" title="Parent, NULL if root (system object)">parent</a>; | |
126 | <a name="l00266"></a><a class="code" href="a00012.html#aaa6043eee6f55869933c1d974efd9acd">00266</a> <span class="keywordtype">unsigned</span> <a class="code" href="a00012.html#aaa6043eee6f55869933c1d974efd9acd" title="Index in parent&#39;s children[] array.">sibling_rank</a>; | |
127 | <a name="l00267"></a><a class="code" href="a00012.html#a7f2343ed476fe4942e6fffd4cade1b40">00267</a> <span class="keyword">struct </span><a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj</a> *<a class="code" href="a00012.html#a7f2343ed476fe4942e6fffd4cade1b40" title="Next object below the same parent.">next_sibling</a>; | |
128 | <a name="l00268"></a><a class="code" href="a00012.html#a7b89e8c189876c0158a9282aaaf17f50">00268</a> <span class="keyword">struct </span><a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj</a> *<a class="code" href="a00012.html#a7b89e8c189876c0158a9282aaaf17f50" title="Previous object below the same parent.">prev_sibling</a>; | |
129 | <a name="l00270"></a>00270 <span class="comment">/* children */</span> | |
130 | <a name="l00271"></a><a class="code" href="a00012.html#aac3f6da35c9b57599909a44ce2b716c1">00271</a> <span class="keywordtype">unsigned</span> <a class="code" href="a00012.html#aac3f6da35c9b57599909a44ce2b716c1" title="Number of children.">arity</a>; | |
131 | <a name="l00272"></a><a class="code" href="a00012.html#a04d05403da37bfe17cd63b7c7dd07b1f">00272</a> <span class="keyword">struct </span><a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj</a> **<a class="code" href="a00012.html#a04d05403da37bfe17cd63b7c7dd07b1f" title="Children, children[0 .. arity -1].">children</a>; | |
132 | <a name="l00273"></a><a class="code" href="a00012.html#af51d08a0a79dba517c06c5afedc8d2dc">00273</a> <span class="keyword">struct </span><a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj</a> *<a class="code" href="a00012.html#af51d08a0a79dba517c06c5afedc8d2dc" title="First child.">first_child</a>; | |
133 | <a name="l00274"></a><a class="code" href="a00012.html#a84bd65634dbc55f4158b74443a9bd04f">00274</a> <span class="keyword">struct </span><a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj</a> *<a class="code" href="a00012.html#a84bd65634dbc55f4158b74443a9bd04f" title="Last child.">last_child</a>; | |
134 | <a name="l00276"></a>00276 <span class="comment">/* misc */</span> | |
135 | <a name="l00277"></a><a class="code" href="a00012.html#a76fd3ac94401cf32dfccc3a3a8de68a5">00277</a> <span class="keywordtype">void</span> *<a class="code" href="a00012.html#a76fd3ac94401cf32dfccc3a3a8de68a5" title="Application-given private data pointer, initialized to NULL, use it as you wish.">userdata</a>; | |
136 | <a name="l00279"></a>00279 <span class="comment">/* cpusets and nodesets */</span> | |
137 | <a name="l00280"></a><a class="code" href="a00012.html#a67925e0f2c47f50408fbdb9bddd0790f">00280</a> hwloc_cpuset_t <a class="code" href="a00012.html#a67925e0f2c47f50408fbdb9bddd0790f" title="CPUs covered by this object.">cpuset</a>; | |
138 | <a name="l00293"></a><a class="code" href="a00012.html#a91788a9da687beb7224cc1fd7b75208c">00293</a> hwloc_cpuset_t <a class="code" href="a00012.html#a91788a9da687beb7224cc1fd7b75208c" title="The complete CPU set of logical processors of this object,.">complete_cpuset</a>; | |
139 | <a name="l00304"></a><a class="code" href="a00012.html#a8842d56c2975380f327ea401c5f53564">00304</a> hwloc_cpuset_t <a class="code" href="a00012.html#a8842d56c2975380f327ea401c5f53564" title="The CPU set of online logical processors.">online_cpuset</a>; | |
140 | <a name="l00312"></a><a class="code" href="a00012.html#afa3c59a6dd3da8ffa48710780a1bfb34">00312</a> hwloc_cpuset_t <a class="code" href="a00012.html#afa3c59a6dd3da8ffa48710780a1bfb34" title="The CPU set of allowed logical processors.">allowed_cpuset</a>; | |
141 | <a name="l00323"></a><a class="code" href="a00012.html#a08f0d0e16c619a6e653526cbee4ffea3">00323</a> hwloc_nodeset_t <a class="code" href="a00012.html#a08f0d0e16c619a6e653526cbee4ffea3" title="NUMA nodes covered by this object or containing this object.">nodeset</a>; | |
142 | <a name="l00340"></a><a class="code" href="a00012.html#ac38c4012127525ef74c5615c526f4c2e">00340</a> hwloc_nodeset_t <a class="code" href="a00012.html#ac38c4012127525ef74c5615c526f4c2e" title="The complete NUMA node set of this object,.">complete_nodeset</a>; | |
143 | <a name="l00354"></a><a class="code" href="a00012.html#a19e3d0a5951a7510fc4fc4722a9bf531">00354</a> hwloc_nodeset_t <a class="code" href="a00012.html#a19e3d0a5951a7510fc4fc4722a9bf531" title="The set of allowed NUMA memory nodes.">allowed_nodeset</a>; | |
144 | <a name="l00367"></a><a class="code" href="a00012.html#ad59bcd73a10260a0e239be5c4b5888bb">00367</a> <span class="keyword">struct </span><a class="code" href="a00014.html" title="Object info.">hwloc_obj_info_s</a> *<a class="code" href="a00012.html#ad59bcd73a10260a0e239be5c4b5888bb" title="Array of stringified info type=name.">infos</a>; | |
145 | <a name="l00368"></a><a class="code" href="a00012.html#a9843acc28cfbba903b63ea14b137ff70">00368</a> <span class="keywordtype">unsigned</span> <a class="code" href="a00012.html#a9843acc28cfbba903b63ea14b137ff70" title="Size of infos array.">infos_count</a>; | |
146 | <a name="l00369"></a>00369 }; | |
147 | <a name="l00373"></a><a class="code" href="a00036.html#ga79b8ab56877ef99ac59b833203391c7d">00373</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj</a> * <a class="code" href="a00036.html#ga79b8ab56877ef99ac59b833203391c7d" title="Convenience typedef; a pointer to a struct hwloc_obj.">hwloc_obj_t</a>; | |
148 | <a name="l00374"></a>00374 | |
149 | <a name="l00376"></a><a class="code" href="a00013.html">00376</a> <span class="keyword">union </span><a class="code" href="a00013.html" title="Object type-specific Attributes.">hwloc_obj_attr_u</a> { | |
150 | <a name="l00378"></a><a class="code" href="a00010.html">00378</a> <span class="keyword">struct </span><a class="code" href="a00010.html" title="Cache-specific Object Attributes.">hwloc_cache_attr_s</a> { | |
151 | <a name="l00379"></a><a class="code" href="a00010.html#a3c68235220554308f89768f281ad1e62">00379</a> uint64_t <a class="code" href="a00010.html#a3c68235220554308f89768f281ad1e62" title="Size of cache in bytes.">size</a>; | |
152 | <a name="l00380"></a><a class="code" href="a00010.html#a5c8f7f39193736c2187ed626940835d5">00380</a> <span class="keywordtype">unsigned</span> <a class="code" href="a00010.html#a5c8f7f39193736c2187ed626940835d5" title="Depth of cache.">depth</a>; | |
153 | <a name="l00381"></a><a class="code" href="a00010.html#a801e8a668e28caf06c8b88e9ae5c10db">00381</a> <span class="keywordtype">unsigned</span> <a class="code" href="a00010.html#a801e8a668e28caf06c8b88e9ae5c10db" title="Cache-line size in bytes.">linesize</a>; | |
154 | <a name="l00382"></a>00382 } <a class="code" href="a00013.html#ab5a8ae3bf490e6b1071fea53f7382836">cache</a>; | |
155 | <a name="l00384"></a><a class="code" href="a00011.html">00384</a> <span class="keyword">struct </span><a class="code" href="a00011.html" title="Group-specific Object Attributes.">hwloc_group_attr_s</a> { | |
156 | <a name="l00385"></a><a class="code" href="a00011.html#ad914eac61c77481e1b7037877bcc5579">00385</a> <span class="keywordtype">unsigned</span> <a class="code" href="a00011.html#ad914eac61c77481e1b7037877bcc5579" title="Depth of group object.">depth</a>; | |
157 | <a name="l00386"></a>00386 } <a class="code" href="a00013.html#ae4ba157cc313e2cdd9a82f1c1df7aaa6">group</a>; | |
158 | <a name="l00387"></a>00387 }; | |
159 | <a name="l00388"></a>00388 | |
160 | <a name="l00390"></a><a class="code" href="a00014.html">00390</a> <span class="keyword">struct </span><a class="code" href="a00014.html" title="Object info.">hwloc_obj_info_s</a> { | |
161 | <a name="l00391"></a><a class="code" href="a00014.html#a115dde58f40338a2d3276d59c099857d">00391</a> <span class="keywordtype">char</span> *<a class="code" href="a00014.html#a115dde58f40338a2d3276d59c099857d" title="Info name.">name</a>; | |
162 | <a name="l00392"></a><a class="code" href="a00014.html#a522efd7f5262a4493a73fa3476a041ce">00392</a> <span class="keywordtype">char</span> *<a class="code" href="a00014.html#a522efd7f5262a4493a73fa3476a041ce" title="Info value.">value</a>; | |
163 | <a name="l00393"></a>00393 }; | |
164 | <a name="l00394"></a>00394 | |
165 | <a name="l00409"></a>00409 <span class="keywordtype">int</span> <a class="code" href="a00037.html#ga5c2d6f476af87005c7bd0811d4548b9f" title="Allocate a topology context.">hwloc_topology_init</a> (hwloc_topology_t *topologyp); | |
166 | <a name="l00410"></a>00410 | |
167 | <a name="l00423"></a>00423 <span class="keywordtype">int</span> <a class="code" href="a00037.html#ga91e2e6427b95fb7339c99dbbef996e71" title="Build the actual topology.">hwloc_topology_load</a>(hwloc_topology_t topology); | |
168 | <a name="l00424"></a>00424 | |
169 | <a name="l00429"></a>00429 <span class="keywordtype">void</span> <a class="code" href="a00037.html#ga6040925d3ee4bbb2647f2a321aca5f4b" title="Terminate and free a topology context.">hwloc_topology_destroy</a> (hwloc_topology_t topology); | |
170 | <a name="l00430"></a>00430 | |
171 | <a name="l00435"></a>00435 <span class="keywordtype">void</span> <a class="code" href="a00037.html#gab3628b2a540a5a08e8cf724ef829e70a" title="Run internal checks on a topology structure.">hwloc_topology_check</a>(hwloc_topology_t topology); | |
172 | <a name="l00436"></a>00436 | |
173 | <a name="l00469"></a>00469 <span class="keywordtype">int</span> <a class="code" href="a00038.html#gaf2071c8621fddc53649c245d87835b47" title="Ignore an object type.">hwloc_topology_ignore_type</a>(hwloc_topology_t topology, <a class="code" href="a00035.html#gacd37bb612667dc437d66bfb175a8dc55" title="Type of topology object.">hwloc_obj_type_t</a> type); | |
174 | <a name="l00470"></a>00470 | |
175 | <a name="l00477"></a>00477 <span class="keywordtype">int</span> <a class="code" href="a00038.html#ga6ddd4213d95bd1c30555b294a60efa6b" title="Ignore an object type if it does not bring any structure.">hwloc_topology_ignore_type_keep_structure</a>(hwloc_topology_t topology, <a class="code" href="a00035.html#gacd37bb612667dc437d66bfb175a8dc55" title="Type of topology object.">hwloc_obj_type_t</a> type); | |
176 | <a name="l00478"></a>00478 | |
177 | <a name="l00484"></a>00484 <span class="keywordtype">int</span> <a class="code" href="a00038.html#gaec6fb00050f50cd41007f1ae580d2106" title="Ignore all objects that do not bring any structure.">hwloc_topology_ignore_all_keep_structure</a>(hwloc_topology_t topology); | |
178 | <a name="l00485"></a>00485 | |
179 | <a name="l00490"></a><a class="code" href="a00038.html#gada025d3ec20b4b420f8038d23d6e7bde">00490</a> <span class="keyword">enum</span> <a class="code" href="a00038.html#gada025d3ec20b4b420f8038d23d6e7bde" title="Flags to be set onto a topology context before load.">hwloc_topology_flags_e</a> { | |
180 | <a name="l00491"></a><a class="code" href="a00038.html#ggada025d3ec20b4b420f8038d23d6e7bdea129b4fea1300be22bbaf0bb0958994c8">00491</a> <a class="code" href="a00038.html#ggada025d3ec20b4b420f8038d23d6e7bdea129b4fea1300be22bbaf0bb0958994c8" title="Detect the whole system, ignore reservations and offline settings.">HWLOC_TOPOLOGY_FLAG_WHOLE_SYSTEM</a> = (1<<0), | |
181 | <a name="l00500"></a><a class="code" href="a00038.html#ggada025d3ec20b4b420f8038d23d6e7bdea6ecb6abc6a0bb75e81564f8bca85783b">00500</a> <a class="code" href="a00038.html#ggada025d3ec20b4b420f8038d23d6e7bdea6ecb6abc6a0bb75e81564f8bca85783b" title="Assume that the selected backend provides the topology for the system on which we are running...">HWLOC_TOPOLOGY_FLAG_IS_THISSYSTEM</a> = (1<<1) | |
182 | <a name="l00519"></a>00519 }; | |
183 | <a name="l00520"></a>00520 | |
184 | <a name="l00525"></a>00525 <span class="keywordtype">int</span> <a class="code" href="a00038.html#ga6d11e53db143ac39c32cdb3912b71f99" title="Set OR&#39;ed flags to non-yet-loaded topology.">hwloc_topology_set_flags</a> (hwloc_topology_t topology, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> flags); | |
185 | <a name="l00526"></a>00526 | |
186 | <a name="l00540"></a>00540 <span class="keywordtype">int</span> <a class="code" href="a00038.html#ga2f6bfb6958d8b508ea1d7d5bb266432c" title="Change the file-system root path when building the topology from sysfs/procfs.">hwloc_topology_set_fsroot</a>(hwloc_topology_t restrict topology, <span class="keyword">const</span> <span class="keywordtype">char</span> * restrict fsroot_path); | |
187 | <a name="l00541"></a>00541 | |
188 | <a name="l00555"></a>00555 <span class="keywordtype">int</span> <a class="code" href="a00038.html#gae1100de0162b3c6a9db750ac14629c05" title="Change which pid the topology is viewed from.">hwloc_topology_set_pid</a>(hwloc_topology_t restrict topology, hwloc_pid_t pid); | |
189 | <a name="l00556"></a>00556 | |
190 | <a name="l00570"></a>00570 <span class="keywordtype">int</span> <a class="code" href="a00038.html#ga2fcb52181b586c20f001b7a999550324" title="Enable synthetic topology.">hwloc_topology_set_synthetic</a>(hwloc_topology_t restrict topology, <span class="keyword">const</span> <span class="keywordtype">char</span> * restrict description); | |
191 | <a name="l00571"></a>00571 | |
192 | <a name="l00583"></a>00583 <span class="keywordtype">int</span> <a class="code" href="a00038.html#ga93efcc8a962afe1ed23393700682173f" title="Enable XML-file based topology.">hwloc_topology_set_xml</a>(hwloc_topology_t restrict topology, <span class="keyword">const</span> <span class="keywordtype">char</span> * restrict xmlpath); | |
193 | <a name="l00584"></a>00584 | |
194 | <a name="l00590"></a>00590 <span class="keywordtype">int</span> <a class="code" href="a00038.html#gae7e4bade144652a2b48f5eaf0309b4ec" title="Enable XML based topology using a memory buffer instead of a file.">hwloc_topology_set_xmlbuffer</a>(hwloc_topology_t restrict topology, <span class="keyword">const</span> <span class="keywordtype">char</span> * restrict buffer, <span class="keywordtype">int</span> size); | |
195 | <a name="l00591"></a>00591 | |
196 | <a name="l00593"></a><a class="code" href="a00018.html">00593</a> <span class="keyword">struct </span><a class="code" href="a00018.html" title="Flags describing actual discovery support for this topology.">hwloc_topology_discovery_support</a> { | |
197 | <a name="l00595"></a><a class="code" href="a00018.html#ad7bb4ecf7a82f5a04fc632e9592ad3ab">00595</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="a00018.html#ad7bb4ecf7a82f5a04fc632e9592ad3ab" title="Detecting the number of PU objects is supported.">pu</a>; | |
198 | <a name="l00596"></a>00596 }; | |
199 | <a name="l00597"></a>00597 | |
200 | <a name="l00599"></a><a class="code" href="a00017.html">00599</a> <span class="keyword">struct </span><a class="code" href="a00017.html" title="Flags describing actual PU binding support for this topology.">hwloc_topology_cpubind_support</a> { | |
201 | <a name="l00601"></a><a class="code" href="a00017.html#a9403d51657a4d546b3ea9553a2973a27">00601</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="a00017.html#a9403d51657a4d546b3ea9553a2973a27">set_thisproc_cpubind</a>; | |
202 | <a name="l00603"></a><a class="code" href="a00017.html#a77a09ddd78ee3e9ff5f532a6ac74f7eb">00603</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="a00017.html#a77a09ddd78ee3e9ff5f532a6ac74f7eb">get_thisproc_cpubind</a>; | |
203 | <a name="l00605"></a><a class="code" href="a00017.html#aa166223d1c2a6de7256ab2d8b675a87e">00605</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="a00017.html#aa166223d1c2a6de7256ab2d8b675a87e">set_proc_cpubind</a>; | |
204 | <a name="l00607"></a><a class="code" href="a00017.html#aae705bc447adc163ead377362c4dfe9f">00607</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="a00017.html#aae705bc447adc163ead377362c4dfe9f">get_proc_cpubind</a>; | |
205 | <a name="l00609"></a><a class="code" href="a00017.html#a57a89a4b5f1f74fa6cfe176f1e8b0798">00609</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="a00017.html#a57a89a4b5f1f74fa6cfe176f1e8b0798">set_thisthread_cpubind</a>; | |
206 | <a name="l00611"></a><a class="code" href="a00017.html#a80d762e532d677dff262d83cc7bb1c60">00611</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="a00017.html#a80d762e532d677dff262d83cc7bb1c60">get_thisthread_cpubind</a>; | |
207 | <a name="l00613"></a><a class="code" href="a00017.html#a46fba33e307909ce256624687799dd6d">00613</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="a00017.html#a46fba33e307909ce256624687799dd6d">set_thread_cpubind</a>; | |
208 | <a name="l00615"></a><a class="code" href="a00017.html#a8dd4d8531ed2eebdce1507e7d104154e">00615</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="a00017.html#a8dd4d8531ed2eebdce1507e7d104154e">get_thread_cpubind</a>; | |
209 | <a name="l00616"></a>00616 }; | |
210 | <a name="l00617"></a>00617 | |
211 | <a name="l00619"></a><a class="code" href="a00019.html">00619</a> <span class="keyword">struct </span><a class="code" href="a00019.html" title="Flags describing actual memory binding support for this topology.">hwloc_topology_membind_support</a> { | |
212 | <a name="l00621"></a><a class="code" href="a00019.html#a36b3e388df9c6a249427cab7e3724749">00621</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="a00019.html#a36b3e388df9c6a249427cab7e3724749">set_thisproc_membind</a>; | |
213 | <a name="l00623"></a><a class="code" href="a00019.html#a3fd51e6fa5f0dd800322301b46b08559">00623</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="a00019.html#a3fd51e6fa5f0dd800322301b46b08559">get_thisproc_membind</a>; | |
214 | <a name="l00625"></a><a class="code" href="a00019.html#a756f44912894b176bf979a1b65f12aac">00625</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="a00019.html#a756f44912894b176bf979a1b65f12aac">set_proc_membind</a>; | |
215 | <a name="l00627"></a><a class="code" href="a00019.html#a9880cd2d605e316fc020167c49ca69ad">00627</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="a00019.html#a9880cd2d605e316fc020167c49ca69ad">get_proc_membind</a>; | |
216 | <a name="l00629"></a><a class="code" href="a00019.html#a0697af2e41f2e82b8ce71e3cc13f7eac">00629</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="a00019.html#a0697af2e41f2e82b8ce71e3cc13f7eac">set_thisthread_membind</a>; | |
217 | <a name="l00631"></a><a class="code" href="a00019.html#a63b0b2e26157b472f5717ee93cc7c535">00631</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="a00019.html#a63b0b2e26157b472f5717ee93cc7c535">get_thisthread_membind</a>; | |
218 | <a name="l00633"></a><a class="code" href="a00019.html#a476c06f96b65c08b287cf2369966123b">00633</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="a00019.html#a476c06f96b65c08b287cf2369966123b">set_area_membind</a>; | |
219 | <a name="l00635"></a><a class="code" href="a00019.html#a0a84e24a06f2fa487fe8c9605c6f68b3">00635</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="a00019.html#a0a84e24a06f2fa487fe8c9605c6f68b3">get_area_membind</a>; | |
220 | <a name="l00637"></a><a class="code" href="a00019.html#ae551abb27d2aa9ce008583488b845b98">00637</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="a00019.html#ae551abb27d2aa9ce008583488b845b98">alloc_membind</a>; | |
221 | <a name="l00639"></a><a class="code" href="a00019.html#a221098c339dbfab27bd2c9f5d32f123b">00639</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="a00019.html#a221098c339dbfab27bd2c9f5d32f123b">firsttouch_membind</a>; | |
222 | <a name="l00641"></a><a class="code" href="a00019.html#ae7cdb1f1b5f0242a69f85b5a5538c764">00641</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="a00019.html#ae7cdb1f1b5f0242a69f85b5a5538c764">bind_membind</a>; | |
223 | <a name="l00643"></a><a class="code" href="a00019.html#a3c44c6012860bbeba8a0f4c19710858d">00643</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="a00019.html#a3c44c6012860bbeba8a0f4c19710858d">interleave_membind</a>; | |
224 | <a name="l00645"></a><a class="code" href="a00019.html#afe608fb85eb2aa9706221ccb5fc4d415">00645</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="a00019.html#afe608fb85eb2aa9706221ccb5fc4d415">replicate_membind</a>; | |
225 | <a name="l00647"></a><a class="code" href="a00019.html#ab0921af6e0cd6975812a80b8e5c7435c">00647</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="a00019.html#ab0921af6e0cd6975812a80b8e5c7435c">nexttouch_membind</a>; | |
226 | <a name="l00648"></a>00648 | |
227 | <a name="l00650"></a><a class="code" href="a00019.html#aafa7683871a6a760246f9b35209caec5">00650</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="a00019.html#aafa7683871a6a760246f9b35209caec5">migrate_membind</a>; | |
228 | <a name="l00651"></a>00651 }; | |
229 | <a name="l00652"></a>00652 | |
230 | <a name="l00659"></a><a class="code" href="a00020.html">00659</a> <span class="keyword">struct </span><a class="code" href="a00020.html" title="Set of flags describing actual support for this topology.">hwloc_topology_support</a> { | |
231 | <a name="l00660"></a><a class="code" href="a00020.html#aea3fbd7653d987d81f848636c420504d">00660</a> <span class="keyword">struct </span><a class="code" href="a00018.html" title="Flags describing actual discovery support for this topology.">hwloc_topology_discovery_support</a> *<a class="code" href="a00020.html#aea3fbd7653d987d81f848636c420504d">discovery</a>; | |
232 | <a name="l00661"></a><a class="code" href="a00020.html#adef2bb91f74c3e70a2a071393caf5f56">00661</a> <span class="keyword">struct </span><a class="code" href="a00017.html" title="Flags describing actual PU binding support for this topology.">hwloc_topology_cpubind_support</a> *<a class="code" href="a00020.html#adef2bb91f74c3e70a2a071393caf5f56">cpubind</a>; | |
233 | <a name="l00662"></a><a class="code" href="a00020.html#ac6eb62ae8bc0a68dce679a7107a36194">00662</a> <span class="keyword">struct </span><a class="code" href="a00019.html" title="Flags describing actual memory binding support for this topology.">hwloc_topology_membind_support</a> *<a class="code" href="a00020.html#ac6eb62ae8bc0a68dce679a7107a36194">membind</a>; | |
234 | <a name="l00663"></a>00663 }; | |
235 | <a name="l00664"></a>00664 | |
236 | <a name="l00666"></a>00666 <span class="keyword">const</span> <span class="keyword">struct </span><a class="code" href="a00020.html" title="Set of flags describing actual support for this topology.">hwloc_topology_support</a> *<a class="code" href="a00038.html#gac2126e105f3ae708efca2e90d612625a" title="Retrieve the topology support.">hwloc_topology_get_support</a>(hwloc_topology_t restrict topology); | |
237 | <a name="l00667"></a>00667 | |
238 | <a name="l00680"></a>00680 <span class="keywordtype">void</span> <a class="code" href="a00039.html#ga1c9d8e608232206ce2142fe806a6835b" title="Export the topology into an XML file.">hwloc_topology_export_xml</a>(hwloc_topology_t topology, <span class="keyword">const</span> <span class="keywordtype">char</span> *xmlpath); | |
239 | <a name="l00681"></a>00681 | |
240 | <a name="l00688"></a>00688 <span class="keywordtype">void</span> <a class="code" href="a00039.html#gad77e72a2ccf32825511818988a09e5c1" title="Export the topology into a newly-allocated XML memory buffer.">hwloc_topology_export_xmlbuffer</a>(hwloc_topology_t topology, <span class="keywordtype">char</span> **xmlbuffer, <span class="keywordtype">int</span> *buflen); | |
241 | <a name="l00689"></a>00689 | |
242 | <a name="l00699"></a>00699 hwloc_obj_t <a class="code" href="a00039.html#ga017a9ba16d554326c6e3812d545d7230" title="Add a MISC object to the topology.">hwloc_topology_insert_misc_object_by_cpuset</a>(hwloc_topology_t topology, hwloc_const_cpuset_t cpuset, <span class="keyword">const</span> <span class="keywordtype">char</span> *name); | |
243 | <a name="l00700"></a>00700 | |
244 | <a name="l00710"></a>00710 hwloc_obj_t <a class="code" href="a00039.html#gadacd7a3d21220fbb30c3256d8b22a294" title="Add a MISC object to the topology.">hwloc_topology_insert_misc_object_by_parent</a>(hwloc_topology_t topology, hwloc_obj_t parent, <span class="keyword">const</span> <span class="keywordtype">char</span> *name); | |
245 | <a name="l00711"></a>00711 | |
246 | <a name="l00724"></a>00724 <span class="keywordtype">unsigned</span> <a class="code" href="a00040.html#ga8c30b0cec55074eb3ed34e4f2a1a9937" title="Get the depth of the hierachical tree of objects.">hwloc_topology_get_depth</a>(hwloc_topology_t restrict topology) ; | |
247 | <a name="l00725"></a>00725 | |
248 | <a name="l00735"></a>00735 <span class="keywordtype">int</span> <a class="code" href="a00040.html#gaea7c64dd59467f5201ba87712710b14d" title="Returns the depth of objects of type type.">hwloc_get_type_depth</a> (hwloc_topology_t topology, <a class="code" href="a00035.html#gacd37bb612667dc437d66bfb175a8dc55" title="Type of topology object.">hwloc_obj_type_t</a> type); | |
249 | <a name="l00736"></a>00736 | |
250 | <a name="l00737"></a><a class="code" href="a00040.html#gaf4e663cf42bbe20756b849c6293ef575">00737</a> <span class="keyword">enum</span> <a class="code" href="a00040.html#gaf4e663cf42bbe20756b849c6293ef575">hwloc_get_type_depth_e</a> { | |
251 | <a name="l00738"></a><a class="code" href="a00040.html#ggaf4e663cf42bbe20756b849c6293ef575a0565ab92ab72cb0cec91e23003294aad">00738</a> <a class="code" href="a00040.html#ggaf4e663cf42bbe20756b849c6293ef575a0565ab92ab72cb0cec91e23003294aad" title="No object of given type exists in the topology.">HWLOC_TYPE_DEPTH_UNKNOWN</a> = -1, | |
252 | <a name="l00739"></a><a class="code" href="a00040.html#ggaf4e663cf42bbe20756b849c6293ef575ae99465995cacde6c210d5fc2e409798c">00739</a> <a class="code" href="a00040.html#ggaf4e663cf42bbe20756b849c6293ef575ae99465995cacde6c210d5fc2e409798c" title="Objects of given type exist at different depth in the topology.">HWLOC_TYPE_DEPTH_MULTIPLE</a> = -2 | |
253 | <a name="l00740"></a>00740 }; | |
254 | <a name="l00741"></a>00741 | |
255 | <a name="l00746"></a>00746 <a class="code" href="a00035.html#gacd37bb612667dc437d66bfb175a8dc55" title="Type of topology object.">hwloc_obj_type_t</a> <a class="code" href="a00040.html#gadd4964764ae7e49231065d58a553fd31" title="Returns the type of objects at depth depth.">hwloc_get_depth_type</a> (hwloc_topology_t topology, <span class="keywordtype">unsigned</span> depth) ; | |
256 | <a name="l00747"></a>00747 | |
257 | <a name="l00749"></a>00749 <span class="keywordtype">unsigned</span> <a class="code" href="a00040.html#ga20cfe2456f4cfdd789c9aca6d2fdd69f" title="Returns the width of level at depth depth.">hwloc_get_nbobjs_by_depth</a> (hwloc_topology_t topology, <span class="keywordtype">unsigned</span> depth) ; | |
258 | <a name="l00750"></a>00750 | |
259 | <a name="l00756"></a>00756 <span class="keyword">static</span> inline <span class="keywordtype">int</span> | |
260 | <a name="l00757"></a><a class="code" href="a00040.html#ga0131ab1051011fabfa69d7c1853e716c">00757</a> <a class="code" href="a00040.html#ga0131ab1051011fabfa69d7c1853e716c" title="Returns the width of level type type.">hwloc_get_nbobjs_by_type</a> (hwloc_topology_t topology, <a class="code" href="a00035.html#gacd37bb612667dc437d66bfb175a8dc55" title="Type of topology object.">hwloc_obj_type_t</a> type) | |
261 | <a name="l00758"></a>00758 { | |
262 | <a name="l00759"></a>00759 <span class="keywordtype">int</span> depth = <a class="code" href="a00040.html#gaea7c64dd59467f5201ba87712710b14d" title="Returns the depth of objects of type type.">hwloc_get_type_depth</a>(topology, type); | |
263 | <a name="l00760"></a>00760 <span class="keywordflow">if</span> (depth == <a class="code" href="a00040.html#ggaf4e663cf42bbe20756b849c6293ef575a0565ab92ab72cb0cec91e23003294aad" title="No object of given type exists in the topology.">HWLOC_TYPE_DEPTH_UNKNOWN</a>) | |
264 | <a name="l00761"></a>00761 <span class="keywordflow">return</span> 0; | |
265 | <a name="l00762"></a>00762 <span class="keywordflow">if</span> (depth == <a class="code" href="a00040.html#ggaf4e663cf42bbe20756b849c6293ef575ae99465995cacde6c210d5fc2e409798c" title="Objects of given type exist at different depth in the topology.">HWLOC_TYPE_DEPTH_MULTIPLE</a>) | |
266 | <a name="l00763"></a>00763 <span class="keywordflow">return</span> -1; <span class="comment">/* FIXME: agregate nbobjs from different levels? */</span> | |
267 | <a name="l00764"></a>00764 <span class="keywordflow">return</span> <a class="code" href="a00040.html#ga20cfe2456f4cfdd789c9aca6d2fdd69f" title="Returns the width of level at depth depth.">hwloc_get_nbobjs_by_depth</a>(topology, depth); | |
268 | <a name="l00765"></a>00765 } | |
269 | <a name="l00766"></a>00766 | |
270 | <a name="l00774"></a>00774 <span class="keywordtype">int</span> <a class="code" href="a00040.html#ga0d109e33fc7990f62f665d336e5e5111" title="Does the topology context come from this system?">hwloc_topology_is_thissystem</a>(hwloc_topology_t restrict topology) ; | |
271 | <a name="l00775"></a>00775 | |
272 | <a name="l00785"></a>00785 hwloc_obj_t <a class="code" href="a00041.html#gaedd78240b0c1108355586a268ec5a697" title="Returns the topology object at index index from depth depth.">hwloc_get_obj_by_depth</a> (hwloc_topology_t topology, <span class="keywordtype">unsigned</span> depth, <span class="keywordtype">unsigned</span> idx) ; | |
273 | <a name="l00786"></a>00786 | |
274 | <a name="l00793"></a>00793 <span class="keyword">static</span> inline hwloc_obj_t | |
275 | <a name="l00794"></a><a class="code" href="a00041.html#ga701f83b2cf0cb8e0acd58cd2dc1c67a2">00794</a> <a class="code" href="a00041.html#ga701f83b2cf0cb8e0acd58cd2dc1c67a2" title="Returns the topology object at index index with type type.">hwloc_get_obj_by_type</a> (hwloc_topology_t topology, <a class="code" href="a00035.html#gacd37bb612667dc437d66bfb175a8dc55" title="Type of topology object.">hwloc_obj_type_t</a> type, <span class="keywordtype">unsigned</span> idx) | |
276 | <a name="l00795"></a>00795 { | |
277 | <a name="l00796"></a>00796 <span class="keywordtype">int</span> depth = <a class="code" href="a00040.html#gaea7c64dd59467f5201ba87712710b14d" title="Returns the depth of objects of type type.">hwloc_get_type_depth</a>(topology, type); | |
278 | <a name="l00797"></a>00797 <span class="keywordflow">if</span> (depth == <a class="code" href="a00040.html#ggaf4e663cf42bbe20756b849c6293ef575a0565ab92ab72cb0cec91e23003294aad" title="No object of given type exists in the topology.">HWLOC_TYPE_DEPTH_UNKNOWN</a>) | |
279 | <a name="l00798"></a>00798 <span class="keywordflow">return</span> NULL; | |
280 | <a name="l00799"></a>00799 <span class="keywordflow">if</span> (depth == <a class="code" href="a00040.html#ggaf4e663cf42bbe20756b849c6293ef575ae99465995cacde6c210d5fc2e409798c" title="Objects of given type exist at different depth in the topology.">HWLOC_TYPE_DEPTH_MULTIPLE</a>) | |
281 | <a name="l00800"></a>00800 <span class="keywordflow">return</span> NULL; | |
282 | <a name="l00801"></a>00801 <span class="keywordflow">return</span> <a class="code" href="a00041.html#gaedd78240b0c1108355586a268ec5a697" title="Returns the topology object at index index from depth depth.">hwloc_get_obj_by_depth</a>(topology, depth, idx); | |
283 | <a name="l00802"></a>00802 } | |
284 | <a name="l00803"></a>00803 | |
285 | <a name="l00813"></a>00813 <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="a00042.html#ga7c61920feca6fd9006d930dabfc09058" title="Return a stringified topology object type.">hwloc_obj_type_string</a> (<a class="code" href="a00035.html#gacd37bb612667dc437d66bfb175a8dc55" title="Type of topology object.">hwloc_obj_type_t</a> type) ; | |
286 | <a name="l00814"></a>00814 | |
287 | <a name="l00819"></a>00819 <a class="code" href="a00035.html#gacd37bb612667dc437d66bfb175a8dc55" title="Type of topology object.">hwloc_obj_type_t</a> <a class="code" href="a00042.html#gade722091ae392fdc79557e797a16c370" title="Return an object type from the string.">hwloc_obj_type_of_string</a> (<span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keywordtype">string</span>) ; | |
288 | <a name="l00820"></a>00820 | |
289 | <a name="l00831"></a>00831 <span class="keywordtype">int</span> <a class="code" href="a00042.html#ga3ad856e8f3487d340c82a23b8a2a0351" title="Stringify the type of a given topology object into a human-readable form.">hwloc_obj_type_snprintf</a>(<span class="keywordtype">char</span> * restrict <span class="keywordtype">string</span>, <span class="keywordtype">size_t</span> size, hwloc_obj_t obj, | |
290 | <a name="l00832"></a>00832 <span class="keywordtype">int</span> verbose); | |
291 | <a name="l00833"></a>00833 | |
292 | <a name="l00845"></a>00845 <span class="keywordtype">int</span> <a class="code" href="a00042.html#ga0db8286d7f3ceda8defd76e3e1e2b284" title="Stringify the attributes of a given topology object into a human-readable form.">hwloc_obj_attr_snprintf</a>(<span class="keywordtype">char</span> * restrict <span class="keywordtype">string</span>, <span class="keywordtype">size_t</span> size, hwloc_obj_t obj, <span class="keyword">const</span> <span class="keywordtype">char</span> * restrict separator, | |
293 | <a name="l00846"></a>00846 <span class="keywordtype">int</span> verbose); | |
294 | <a name="l00847"></a>00847 | |
295 | <a name="l00868"></a>00868 <span class="keywordtype">int</span> <a class="code" href="a00042.html#ga5c6a61a83f4790b421e2f62e9088446f" title="Stringify a given topology object into a human-readable form.">hwloc_obj_snprintf</a>(<span class="keywordtype">char</span> * restrict <span class="keywordtype">string</span>, <span class="keywordtype">size_t</span> size, | |
296 | <a name="l00869"></a>00869 hwloc_topology_t topology, hwloc_obj_t obj, | |
297 | <a name="l00870"></a>00870 <span class="keyword">const</span> <span class="keywordtype">char</span> * restrict indexprefix, <span class="keywordtype">int</span> verbose); | |
298 | <a name="l00871"></a>00871 | |
299 | <a name="l00879"></a>00879 <span class="keywordtype">int</span> <a class="code" href="a00042.html#gabbfb92224c992c0e2ecef6b6e45260f2" title="Stringify the cpuset containing a set of objects.">hwloc_obj_cpuset_snprintf</a>(<span class="keywordtype">char</span> * restrict str, <span class="keywordtype">size_t</span> size, <span class="keywordtype">size_t</span> nobj, <span class="keyword">const</span> hwloc_obj_t * restrict objs); | |
300 | <a name="l00880"></a>00880 | |
301 | <a name="l00885"></a>00885 <span class="keyword">static</span> inline <span class="keywordtype">char</span> * | |
302 | <a name="l00886"></a><a class="code" href="a00042.html#ga1f41387433f4c9e9c14b9f2e522919e4">00886</a> <a class="code" href="a00042.html#ga1f41387433f4c9e9c14b9f2e522919e4" title="Search the given key name in object infos and return the corresponding value.">hwloc_obj_get_info_by_name</a>(hwloc_obj_t obj, <span class="keyword">const</span> <span class="keywordtype">char</span> *name) | |
303 | <a name="l00887"></a>00887 { | |
304 | <a name="l00888"></a>00888 <span class="keywordtype">unsigned</span> i; | |
305 | <a name="l00889"></a>00889 <span class="keywordflow">for</span>(i=0; i<obj-><a class="code" href="a00012.html#a9843acc28cfbba903b63ea14b137ff70" title="Size of infos array.">infos_count</a>; i++) | |
306 | <a name="l00890"></a>00890 <span class="keywordflow">if</span> (!strcmp(obj-><a class="code" href="a00012.html#ad59bcd73a10260a0e239be5c4b5888bb" title="Array of stringified info type=name.">infos</a>[i].<a class="code" href="a00014.html#a115dde58f40338a2d3276d59c099857d" title="Info name.">name</a>, name)) | |
307 | <a name="l00891"></a>00891 <span class="keywordflow">return</span> obj-><a class="code" href="a00012.html#ad59bcd73a10260a0e239be5c4b5888bb" title="Array of stringified info type=name.">infos</a>[i].<a class="code" href="a00014.html#a522efd7f5262a4493a73fa3476a041ce" title="Info value.">value</a>; | |
308 | <a name="l00892"></a>00892 <span class="keywordflow">return</span> NULL; | |
309 | <a name="l00893"></a>00893 } | |
310 | <a name="l00894"></a>00894 | |
311 | <a name="l00949"></a><a class="code" href="a00043.html#ga217dc8d373f8958cc93c154ebce1c71c">00949</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> { | |
312 | <a name="l00950"></a><a class="code" href="a00043.html#gga217dc8d373f8958cc93c154ebce1c71ca2e0dd0128dac6b03408c7dd170477fdc">00950</a> <a class="code" href="a00043.html#gga217dc8d373f8958cc93c154ebce1c71ca2e0dd0128dac6b03408c7dd170477fdc" title="Bind all threads of the current (possibly) multithreaded process.">HWLOC_CPUBIND_PROCESS</a> = (1<<0), | |
313 | <a name="l00953"></a><a class="code" href="a00043.html#gga217dc8d373f8958cc93c154ebce1c71caf1b6bbad00d7b1017b918e3719f4d421">00953</a> <a class="code" href="a00043.html#gga217dc8d373f8958cc93c154ebce1c71caf1b6bbad00d7b1017b918e3719f4d421" title="Bind current thread of current process.">HWLOC_CPUBIND_THREAD</a> = (1<<1), | |
314 | <a name="l00955"></a><a class="code" href="a00043.html#gga217dc8d373f8958cc93c154ebce1c71ca679a7e0f0c7ee06b123565f90d98e7fa">00955</a> <a class="code" href="a00043.html#gga217dc8d373f8958cc93c154ebce1c71ca679a7e0f0c7ee06b123565f90d98e7fa" title="Request for strict binding from the OS.">HWLOC_CPUBIND_STRICT</a> = (1<<2), | |
315 | <a name="l00983"></a><a class="code" href="a00043.html#gga217dc8d373f8958cc93c154ebce1c71ca41ce440443cc3087caed95ab60edcad6">00983</a> <a class="code" href="a00043.html#gga217dc8d373f8958cc93c154ebce1c71ca41ce440443cc3087caed95ab60edcad6" title="Avoid any effect on memory binding.">HWLOC_CPUBIND_NOMEMBIND</a> = (1<<3) | |
316 | <a name="l00997"></a>00997 } <a class="code" href="a00043.html#ga217dc8d373f8958cc93c154ebce1c71c" title="Process/Thread binding flags.">hwloc_cpubind_flags_t</a>; | |
317 | <a name="l00998"></a>00998 | |
318 | <a name="l01004"></a>01004 <span class="keywordtype">int</span> <a class="code" href="a00043.html#gaf4cc194d5c0d38004a21b9f03522a7e3" title="Bind current process or thread on cpus given in bitmap set.">hwloc_set_cpubind</a>(hwloc_topology_t topology, hwloc_const_cpuset_t <span class="keyword">set</span>, <span class="keywordtype">int</span> flags); | |
319 | <a name="l01005"></a>01005 | |
320 | <a name="l01008"></a>01008 <span class="keywordtype">int</span> <a class="code" href="a00043.html#gab52f83ab16eac465da55e16bdd30df77" title="Get current process or thread binding.">hwloc_get_cpubind</a>(hwloc_topology_t topology, hwloc_cpuset_t <span class="keyword">set</span>, <span class="keywordtype">int</span> flags); | |
70 | <a name="l00037"></a>00037 | |
71 | <a name="l00038"></a>00038 <span class="preprocessor">#ifdef __cplusplus</span> | |
72 | <a name="l00039"></a>00039 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> { | |
73 | <a name="l00040"></a>00040 <span class="preprocessor">#endif</span> | |
74 | <a name="l00041"></a>00041 <span class="preprocessor"></span> | |
75 | <a name="l00042"></a>00042 | |
76 | <a name="l00048"></a><a class="code" href="a00032.html#ga8f4dfb8eef138af55dd1a0fa802e5476">00048</a> <span class="preprocessor">#define HWLOC_API_VERSION 0x00010100</span> | |
77 | <a name="l00049"></a>00049 <span class="preprocessor"></span> | |
78 | <a name="l00051"></a>00051 <span class="keywordtype">unsigned</span> <a class="code" href="a00032.html#ga61ef7566efe550d314b0ce4f3421ec5d" title="Indicate at runtime which hwloc API version was used at build time.">hwloc_get_api_version</a>(<span class="keywordtype">void</span>); | |
79 | <a name="l00052"></a>00052 | |
80 | <a name="l00061"></a>00061 <span class="keyword">struct </span>hwloc_topology; | |
81 | <a name="l00066"></a><a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">00066</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>hwloc_topology * <a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a>; | |
82 | <a name="l00067"></a>00067 | |
83 | <a name="l00098"></a><a class="code" href="a00034.html#ga4bbf39b68b6f568fb92739e7c0ea7801">00098</a> <span class="keyword">typedef</span> <a class="code" href="a00056.html#gaa3c2bf4c776d603dcebbb61b0c923d84" title="Set of bits represented as an opaque pointer to an internal bitmap.">hwloc_bitmap_t</a> <a class="code" href="a00034.html#ga4bbf39b68b6f568fb92739e7c0ea7801" title="A CPU set is a bitmap whose bits are set according to CPU physical OS indexes.">hwloc_cpuset_t</a>; | |
84 | <a name="l00100"></a><a class="code" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25">00100</a> <span class="keyword">typedef</span> <a class="code" href="a00056.html#ga2fb1bbc8aea1ea22dee2f0fd39659f48" title="a non-modifiable hwloc_bitmap_t">hwloc_const_bitmap_t</a> <a class="code" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25" title="A non-modifiable hwloc_cpuset_t.">hwloc_const_cpuset_t</a>; | |
85 | <a name="l00101"></a>00101 | |
86 | <a name="l00115"></a><a class="code" href="a00034.html#ga37e35730fa7e775b5bb0afe893d6d508">00115</a> <span class="keyword">typedef</span> <a class="code" href="a00056.html#gaa3c2bf4c776d603dcebbb61b0c923d84" title="Set of bits represented as an opaque pointer to an internal bitmap.">hwloc_bitmap_t</a> <a class="code" href="a00034.html#ga37e35730fa7e775b5bb0afe893d6d508" title="A node set is a bitmap whose bits are set according to NUMA memory node physical OS indexes...">hwloc_nodeset_t</a>; | |
87 | <a name="l00118"></a><a class="code" href="a00034.html#ga2f5276235841ad66a79bedad16a5a10c">00118</a> <span class="keyword">typedef</span> <a class="code" href="a00056.html#ga2fb1bbc8aea1ea22dee2f0fd39659f48" title="a non-modifiable hwloc_bitmap_t">hwloc_const_bitmap_t</a> <a class="code" href="a00034.html#ga2f5276235841ad66a79bedad16a5a10c" title="A non-modifiable hwloc_nodeset_t.">hwloc_const_nodeset_t</a>; | |
88 | <a name="l00119"></a>00119 | |
89 | <a name="l00134"></a><a class="code" href="a00035.html#gacd37bb612667dc437d66bfb175a8dc55">00134</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> { | |
90 | <a name="l00135"></a><a class="code" href="a00035.html#ggacd37bb612667dc437d66bfb175a8dc55a3aa1b842d1fd4207ebce171f95a244ec">00135</a> <a class="code" href="a00035.html#ggacd37bb612667dc437d66bfb175a8dc55a3aa1b842d1fd4207ebce171f95a244ec" title="Whole system (may be a cluster of machines). The whole system that is accessible to hwloc...">HWLOC_OBJ_SYSTEM</a>, | |
91 | <a name="l00140"></a><a class="code" href="a00035.html#ggacd37bb612667dc437d66bfb175a8dc55a3f4e83ffc4a259354959ae8a9eaa2a80">00140</a> <a class="code" href="a00035.html#ggacd37bb612667dc437d66bfb175a8dc55a3f4e83ffc4a259354959ae8a9eaa2a80" title="Machine. The typical root object type. A set of processors and memory with cache coherency.">HWLOC_OBJ_MACHINE</a>, | |
92 | <a name="l00145"></a><a class="code" href="a00035.html#ggacd37bb612667dc437d66bfb175a8dc55aaf0964881117bdedf1a5e9332cd120dd">00145</a> <a class="code" href="a00035.html#ggacd37bb612667dc437d66bfb175a8dc55aaf0964881117bdedf1a5e9332cd120dd" title="NUMA node. A set of processors around memory which the processors can directly access.">HWLOC_OBJ_NODE</a>, | |
93 | <a name="l00149"></a><a class="code" href="a00035.html#ggacd37bb612667dc437d66bfb175a8dc55a1ac6e07775ae4324b3fe9dbd72c785ec">00149</a> <a class="code" href="a00035.html#ggacd37bb612667dc437d66bfb175a8dc55a1ac6e07775ae4324b3fe9dbd72c785ec" title="Socket, physical package, or chip. In the physical meaning, i.e. that you can add or remove physicall...">HWLOC_OBJ_SOCKET</a>, | |
94 | <a name="l00153"></a><a class="code" href="a00035.html#ggacd37bb612667dc437d66bfb175a8dc55a56ee0b7eca88f363b75b34fdde8c9ddc">00153</a> <a class="code" href="a00035.html#ggacd37bb612667dc437d66bfb175a8dc55a56ee0b7eca88f363b75b34fdde8c9ddc" title="Data cache. Can be L1, L2, L3, ...">HWLOC_OBJ_CACHE</a>, | |
95 | <a name="l00156"></a><a class="code" href="a00035.html#ggacd37bb612667dc437d66bfb175a8dc55ac793958f330bca371aa1535de8aff45f">00156</a> <a class="code" href="a00035.html#ggacd37bb612667dc437d66bfb175a8dc55ac793958f330bca371aa1535de8aff45f" title="Core. A computation unit (may be shared by several logical processors).">HWLOC_OBJ_CORE</a>, | |
96 | <a name="l00160"></a><a class="code" href="a00035.html#ggacd37bb612667dc437d66bfb175a8dc55abca6887e80cb291353b0a0c1da83f661">00160</a> <a class="code" href="a00035.html#ggacd37bb612667dc437d66bfb175a8dc55abca6887e80cb291353b0a0c1da83f661" title="Processing Unit, or (Logical) Processor. An execution unit (may share a core with some other logical ...">HWLOC_OBJ_PU</a>, | |
97 | <a name="l00169"></a><a class="code" href="a00035.html#ggacd37bb612667dc437d66bfb175a8dc55a5269ef95be72f88465559d35c9b7ad56">00169</a> <a class="code" href="a00035.html#ggacd37bb612667dc437d66bfb175a8dc55a5269ef95be72f88465559d35c9b7ad56" title="Group objects. Objects which do not fit in the above but are detected by hwloc and are useful to take...">HWLOC_OBJ_GROUP</a>, | |
98 | <a name="l00181"></a><a class="code" href="a00035.html#ggacd37bb612667dc437d66bfb175a8dc55a19f8a6953fa91efc76bcbcdf2d22de4d">00181</a> <a class="code" href="a00035.html#ggacd37bb612667dc437d66bfb175a8dc55a19f8a6953fa91efc76bcbcdf2d22de4d" title="Miscellaneous objects. Objects without particular meaning, that can e.g. be added by the application ...">HWLOC_OBJ_MISC</a> | |
99 | <a name="l00185"></a>00185 } <a class="code" href="a00035.html#gacd37bb612667dc437d66bfb175a8dc55" title="Type of topology object.">hwloc_obj_type_t</a>; | |
100 | <a name="l00186"></a>00186 | |
101 | <a name="l00204"></a>00204 <span class="keywordtype">int</span> <a class="code" href="a00035.html#gabd7da4f4ea12b420b8ecbde458b27805" title="Compare the depth of two object types.">hwloc_compare_types</a> (<a class="code" href="a00035.html#gacd37bb612667dc437d66bfb175a8dc55" title="Type of topology object.">hwloc_obj_type_t</a> type1, <a class="code" href="a00035.html#gacd37bb612667dc437d66bfb175a8dc55" title="Type of topology object.">hwloc_obj_type_t</a> type2) ; | |
102 | <a name="l00205"></a>00205 | |
103 | <a name="l00206"></a><a class="code" href="a00035.html#ga46323568968005137c32f6a1cd405b74">00206</a> <span class="keyword">enum</span> <a class="code" href="a00035.html#ga46323568968005137c32f6a1cd405b74">hwloc_compare_types_e</a> { | |
104 | <a name="l00207"></a><a class="code" href="a00035.html#gga46323568968005137c32f6a1cd405b74a2f8297ea36eba46e7596e810a67298fb">00207</a> <a class="code" href="a00035.html#gga46323568968005137c32f6a1cd405b74a2f8297ea36eba46e7596e810a67298fb" title="Value returned by hwloc_compare_types when types can not be compared.">HWLOC_TYPE_UNORDERED</a> = INT_MAX | |
105 | <a name="l00208"></a>00208 }; | |
106 | <a name="l00209"></a>00209 | |
107 | <a name="l00218"></a>00218 <span class="keyword">union </span><a class="code" href="a00013.html" title="Object type-specific Attributes.">hwloc_obj_attr_u</a>; | |
108 | <a name="l00219"></a>00219 | |
109 | <a name="l00221"></a><a class="code" href="a00016.html">00221</a> <span class="keyword">struct </span><a class="code" href="a00016.html" title="Object memory.">hwloc_obj_memory_s</a> { | |
110 | <a name="l00222"></a><a class="code" href="a00016.html#a8befd0b3f4f8b695cafed04b31f36a44">00222</a> hwloc_uint64_t <a class="code" href="a00016.html#a8befd0b3f4f8b695cafed04b31f36a44" title="Total memory (in bytes) in this object and its children.">total_memory</a>; | |
111 | <a name="l00223"></a><a class="code" href="a00016.html#aace044c7f3fd9dffe50202296bf1dc5a">00223</a> hwloc_uint64_t <a class="code" href="a00016.html#aace044c7f3fd9dffe50202296bf1dc5a" title="Local memory (in bytes)">local_memory</a>; | |
112 | <a name="l00225"></a><a class="code" href="a00016.html#a208c27f4491077d7fb9ba5db8b29cb57">00225</a> <span class="keywordtype">unsigned</span> <a class="code" href="a00016.html#a208c27f4491077d7fb9ba5db8b29cb57" title="Size of array page_types.">page_types_len</a>; | |
113 | <a name="l00231"></a><a class="code" href="a00015.html">00231</a> <span class="keyword">struct </span><a class="code" href="a00015.html" title="Array of local memory page types, NULL if no local memory and page_types is 0.">hwloc_obj_memory_page_type_s</a> { | |
114 | <a name="l00232"></a><a class="code" href="a00015.html#a3f1d261766352288791512974665ce01">00232</a> hwloc_uint64_t <a class="code" href="a00015.html#a3f1d261766352288791512974665ce01" title="Size of pages.">size</a>; | |
115 | <a name="l00233"></a><a class="code" href="a00015.html#aa5b9fa36f1dc47ff3c345fe4dd06b260">00233</a> hwloc_uint64_t <a class="code" href="a00015.html#aa5b9fa36f1dc47ff3c345fe4dd06b260" title="Number of pages of this size.">count</a>; | |
116 | <a name="l00234"></a>00234 } * <a class="code" href="a00016.html#a865eba7b12b986d72dbe7a2cfd97c50d">page_types</a>; | |
117 | <a name="l00235"></a>00235 }; | |
118 | <a name="l00236"></a>00236 | |
119 | <a name="l00241"></a><a class="code" href="a00012.html">00241</a> <span class="keyword">struct </span><a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj</a> { | |
120 | <a name="l00242"></a>00242 <span class="comment">/* physical information */</span> | |
121 | <a name="l00243"></a><a class="code" href="a00012.html#acc4f0803f244867e68fe0036800be5de">00243</a> <a class="code" href="a00035.html#gacd37bb612667dc437d66bfb175a8dc55" title="Type of topology object.">hwloc_obj_type_t</a> <a class="code" href="a00012.html#acc4f0803f244867e68fe0036800be5de" title="Type of object.">type</a>; | |
122 | <a name="l00244"></a><a class="code" href="a00012.html#a61a7a80a68eaccbaaa28269e678c81a9">00244</a> <span class="keywordtype">unsigned</span> <a class="code" href="a00012.html#a61a7a80a68eaccbaaa28269e678c81a9" title="OS-provided physical index number.">os_index</a>; | |
123 | <a name="l00245"></a><a class="code" href="a00012.html#abb709ec38f2970677e4e57d1d30be96d">00245</a> <span class="keywordtype">char</span> *<a class="code" href="a00012.html#abb709ec38f2970677e4e57d1d30be96d" title="Object description if any.">name</a>; | |
124 | <a name="l00247"></a><a class="code" href="a00012.html#a1dc830816716213b5f797e4052487864">00247</a> <span class="keyword">struct </span><a class="code" href="a00016.html" title="Object memory.">hwloc_obj_memory_s</a> <a class="code" href="a00012.html#a1dc830816716213b5f797e4052487864" title="Memory attributes.">memory</a>; | |
125 | <a name="l00249"></a><a class="code" href="a00012.html#accd40e29f71f19e88db62ea3df02adc8">00249</a> <span class="keyword">union </span><a class="code" href="a00013.html" title="Object type-specific Attributes.">hwloc_obj_attr_u</a> *<a class="code" href="a00012.html#accd40e29f71f19e88db62ea3df02adc8" title="Object type-specific Attributes, may be NULL if no attribute value was found.">attr</a>; | |
126 | <a name="l00252"></a>00252 <span class="comment">/* global position */</span> | |
127 | <a name="l00253"></a><a class="code" href="a00012.html#a9d82690370275d42d652eccdea5d3ee5">00253</a> <span class="keywordtype">unsigned</span> <a class="code" href="a00012.html#a9d82690370275d42d652eccdea5d3ee5" title="Vertical index in the hierarchy.">depth</a>; | |
128 | <a name="l00254"></a><a class="code" href="a00012.html#a0d07fb7b8935e137c94d75a3eb492ae9">00254</a> <span class="keywordtype">unsigned</span> <a class="code" href="a00012.html#a0d07fb7b8935e137c94d75a3eb492ae9" title="Horizontal index in the whole list of similar objects, could be a &quot;cousin_rank&quot; since it&#3...">logical_index</a>; | |
129 | <a name="l00256"></a><a class="code" href="a00012.html#a68766f0b1c4d61b5bad87e3b81dacfde">00256</a> <span class="keywordtype">signed</span> <a class="code" href="a00012.html#a68766f0b1c4d61b5bad87e3b81dacfde" title="OS-provided physical level, -1 if unknown or meaningless.">os_level</a>; | |
130 | <a name="l00258"></a><a class="code" href="a00012.html#a85a788017457129589318b6c39451acf">00258</a> <span class="keyword">struct </span><a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj</a> *<a class="code" href="a00012.html#a85a788017457129589318b6c39451acf" title="Next object of same type.">next_cousin</a>; | |
131 | <a name="l00259"></a><a class="code" href="a00012.html#ac715989f55ff5a0eb6be2969ee477ec0">00259</a> <span class="keyword">struct </span><a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj</a> *<a class="code" href="a00012.html#ac715989f55ff5a0eb6be2969ee477ec0" title="Previous object of same type.">prev_cousin</a>; | |
132 | <a name="l00261"></a>00261 <span class="comment">/* parent */</span> | |
133 | <a name="l00262"></a><a class="code" href="a00012.html#adc494f6aed939992be1c55cca5822900">00262</a> <span class="keyword">struct </span><a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj</a> *<a class="code" href="a00012.html#adc494f6aed939992be1c55cca5822900" title="Parent, NULL if root (system object)">parent</a>; | |
134 | <a name="l00263"></a><a class="code" href="a00012.html#aaa6043eee6f55869933c1d974efd9acd">00263</a> <span class="keywordtype">unsigned</span> <a class="code" href="a00012.html#aaa6043eee6f55869933c1d974efd9acd" title="Index in parent&#39;s children[] array.">sibling_rank</a>; | |
135 | <a name="l00264"></a><a class="code" href="a00012.html#a7f2343ed476fe4942e6fffd4cade1b40">00264</a> <span class="keyword">struct </span><a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj</a> *<a class="code" href="a00012.html#a7f2343ed476fe4942e6fffd4cade1b40" title="Next object below the same parent.">next_sibling</a>; | |
136 | <a name="l00265"></a><a class="code" href="a00012.html#a7b89e8c189876c0158a9282aaaf17f50">00265</a> <span class="keyword">struct </span><a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj</a> *<a class="code" href="a00012.html#a7b89e8c189876c0158a9282aaaf17f50" title="Previous object below the same parent.">prev_sibling</a>; | |
137 | <a name="l00267"></a>00267 <span class="comment">/* children */</span> | |
138 | <a name="l00268"></a><a class="code" href="a00012.html#aac3f6da35c9b57599909a44ce2b716c1">00268</a> <span class="keywordtype">unsigned</span> <a class="code" href="a00012.html#aac3f6da35c9b57599909a44ce2b716c1" title="Number of children.">arity</a>; | |
139 | <a name="l00269"></a><a class="code" href="a00012.html#a04d05403da37bfe17cd63b7c7dd07b1f">00269</a> <span class="keyword">struct </span><a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj</a> **<a class="code" href="a00012.html#a04d05403da37bfe17cd63b7c7dd07b1f" title="Children, children[0 .. arity -1].">children</a>; | |
140 | <a name="l00270"></a><a class="code" href="a00012.html#af51d08a0a79dba517c06c5afedc8d2dc">00270</a> <span class="keyword">struct </span><a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj</a> *<a class="code" href="a00012.html#af51d08a0a79dba517c06c5afedc8d2dc" title="First child.">first_child</a>; | |
141 | <a name="l00271"></a><a class="code" href="a00012.html#a84bd65634dbc55f4158b74443a9bd04f">00271</a> <span class="keyword">struct </span><a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj</a> *<a class="code" href="a00012.html#a84bd65634dbc55f4158b74443a9bd04f" title="Last child.">last_child</a>; | |
142 | <a name="l00273"></a>00273 <span class="comment">/* misc */</span> | |
143 | <a name="l00274"></a><a class="code" href="a00012.html#a76fd3ac94401cf32dfccc3a3a8de68a5">00274</a> <span class="keywordtype">void</span> *<a class="code" href="a00012.html#a76fd3ac94401cf32dfccc3a3a8de68a5" title="Application-given private data pointer, initialized to NULL, use it as you wish.">userdata</a>; | |
144 | <a name="l00276"></a>00276 <span class="comment">/* cpusets and nodesets */</span> | |
145 | <a name="l00277"></a><a class="code" href="a00012.html#a67925e0f2c47f50408fbdb9bddd0790f">00277</a> hwloc_cpuset_t <a class="code" href="a00012.html#a67925e0f2c47f50408fbdb9bddd0790f" title="CPUs covered by this object.">cpuset</a>; | |
146 | <a name="l00290"></a><a class="code" href="a00012.html#a91788a9da687beb7224cc1fd7b75208c">00290</a> hwloc_cpuset_t <a class="code" href="a00012.html#a91788a9da687beb7224cc1fd7b75208c" title="The complete CPU set of logical processors of this object,.">complete_cpuset</a>; | |
147 | <a name="l00301"></a><a class="code" href="a00012.html#a8842d56c2975380f327ea401c5f53564">00301</a> hwloc_cpuset_t <a class="code" href="a00012.html#a8842d56c2975380f327ea401c5f53564" title="The CPU set of online logical processors.">online_cpuset</a>; | |
148 | <a name="l00309"></a><a class="code" href="a00012.html#afa3c59a6dd3da8ffa48710780a1bfb34">00309</a> hwloc_cpuset_t <a class="code" href="a00012.html#afa3c59a6dd3da8ffa48710780a1bfb34" title="The CPU set of allowed logical processors.">allowed_cpuset</a>; | |
149 | <a name="l00320"></a><a class="code" href="a00012.html#a08f0d0e16c619a6e653526cbee4ffea3">00320</a> hwloc_nodeset_t <a class="code" href="a00012.html#a08f0d0e16c619a6e653526cbee4ffea3" title="NUMA nodes covered by this object or containing this object.">nodeset</a>; | |
150 | <a name="l00337"></a><a class="code" href="a00012.html#ac38c4012127525ef74c5615c526f4c2e">00337</a> hwloc_nodeset_t <a class="code" href="a00012.html#ac38c4012127525ef74c5615c526f4c2e" title="The complete NUMA node set of this object,.">complete_nodeset</a>; | |
151 | <a name="l00351"></a><a class="code" href="a00012.html#a19e3d0a5951a7510fc4fc4722a9bf531">00351</a> hwloc_nodeset_t <a class="code" href="a00012.html#a19e3d0a5951a7510fc4fc4722a9bf531" title="The set of allowed NUMA memory nodes.">allowed_nodeset</a>; | |
152 | <a name="l00364"></a><a class="code" href="a00012.html#ad59bcd73a10260a0e239be5c4b5888bb">00364</a> <span class="keyword">struct </span><a class="code" href="a00014.html" title="Object info.">hwloc_obj_info_s</a> *<a class="code" href="a00012.html#ad59bcd73a10260a0e239be5c4b5888bb" title="Array of stringified info type=name.">infos</a>; | |
153 | <a name="l00365"></a><a class="code" href="a00012.html#a9843acc28cfbba903b63ea14b137ff70">00365</a> <span class="keywordtype">unsigned</span> <a class="code" href="a00012.html#a9843acc28cfbba903b63ea14b137ff70" title="Size of infos array.">infos_count</a>; | |
154 | <a name="l00366"></a>00366 }; | |
155 | <a name="l00370"></a><a class="code" href="a00036.html#ga79b8ab56877ef99ac59b833203391c7d">00370</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj</a> * <a class="code" href="a00036.html#ga79b8ab56877ef99ac59b833203391c7d" title="Convenience typedef; a pointer to a struct hwloc_obj.">hwloc_obj_t</a>; | |
156 | <a name="l00371"></a>00371 | |
157 | <a name="l00373"></a><a class="code" href="a00013.html">00373</a> <span class="keyword">union </span><a class="code" href="a00013.html" title="Object type-specific Attributes.">hwloc_obj_attr_u</a> { | |
158 | <a name="l00375"></a><a class="code" href="a00010.html">00375</a> <span class="keyword">struct </span><a class="code" href="a00010.html" title="Cache-specific Object Attributes.">hwloc_cache_attr_s</a> { | |
159 | <a name="l00376"></a><a class="code" href="a00010.html#abe5e788943ed04302976740c829674c0">00376</a> hwloc_uint64_t <a class="code" href="a00010.html#abe5e788943ed04302976740c829674c0" title="Size of cache in bytes.">size</a>; | |
160 | <a name="l00377"></a><a class="code" href="a00010.html#a5c8f7f39193736c2187ed626940835d5">00377</a> <span class="keywordtype">unsigned</span> <a class="code" href="a00010.html#a5c8f7f39193736c2187ed626940835d5" title="Depth of cache.">depth</a>; | |
161 | <a name="l00378"></a><a class="code" href="a00010.html#a801e8a668e28caf06c8b88e9ae5c10db">00378</a> <span class="keywordtype">unsigned</span> <a class="code" href="a00010.html#a801e8a668e28caf06c8b88e9ae5c10db" title="Cache-line size in bytes.">linesize</a>; | |
162 | <a name="l00379"></a>00379 } <a class="code" href="a00013.html#ab5a8ae3bf490e6b1071fea53f7382836">cache</a>; | |
163 | <a name="l00381"></a><a class="code" href="a00011.html">00381</a> <span class="keyword">struct </span><a class="code" href="a00011.html" title="Group-specific Object Attributes.">hwloc_group_attr_s</a> { | |
164 | <a name="l00382"></a><a class="code" href="a00011.html#ad914eac61c77481e1b7037877bcc5579">00382</a> <span class="keywordtype">unsigned</span> <a class="code" href="a00011.html#ad914eac61c77481e1b7037877bcc5579" title="Depth of group object.">depth</a>; | |
165 | <a name="l00383"></a>00383 } <a class="code" href="a00013.html#ae4ba157cc313e2cdd9a82f1c1df7aaa6">group</a>; | |
166 | <a name="l00384"></a>00384 }; | |
167 | <a name="l00385"></a>00385 | |
168 | <a name="l00387"></a><a class="code" href="a00014.html">00387</a> <span class="keyword">struct </span><a class="code" href="a00014.html" title="Object info.">hwloc_obj_info_s</a> { | |
169 | <a name="l00388"></a><a class="code" href="a00014.html#a115dde58f40338a2d3276d59c099857d">00388</a> <span class="keywordtype">char</span> *<a class="code" href="a00014.html#a115dde58f40338a2d3276d59c099857d" title="Info name.">name</a>; | |
170 | <a name="l00389"></a><a class="code" href="a00014.html#a522efd7f5262a4493a73fa3476a041ce">00389</a> <span class="keywordtype">char</span> *<a class="code" href="a00014.html#a522efd7f5262a4493a73fa3476a041ce" title="Info value.">value</a>; | |
171 | <a name="l00390"></a>00390 }; | |
172 | <a name="l00391"></a>00391 | |
173 | <a name="l00406"></a>00406 <span class="keywordtype">int</span> <a class="code" href="a00037.html#ga5c2d6f476af87005c7bd0811d4548b9f" title="Allocate a topology context.">hwloc_topology_init</a> (hwloc_topology_t *topologyp); | |
174 | <a name="l00407"></a>00407 | |
175 | <a name="l00420"></a>00420 <span class="keywordtype">int</span> <a class="code" href="a00037.html#ga91e2e6427b95fb7339c99dbbef996e71" title="Build the actual topology.">hwloc_topology_load</a>(hwloc_topology_t topology); | |
176 | <a name="l00421"></a>00421 | |
177 | <a name="l00426"></a>00426 <span class="keywordtype">void</span> <a class="code" href="a00037.html#ga6040925d3ee4bbb2647f2a321aca5f4b" title="Terminate and free a topology context.">hwloc_topology_destroy</a> (hwloc_topology_t topology); | |
178 | <a name="l00427"></a>00427 | |
179 | <a name="l00432"></a>00432 <span class="keywordtype">void</span> <a class="code" href="a00037.html#gab3628b2a540a5a08e8cf724ef829e70a" title="Run internal checks on a topology structure.">hwloc_topology_check</a>(hwloc_topology_t topology); | |
180 | <a name="l00433"></a>00433 | |
181 | <a name="l00466"></a>00466 <span class="keywordtype">int</span> <a class="code" href="a00038.html#gaf2071c8621fddc53649c245d87835b47" title="Ignore an object type.">hwloc_topology_ignore_type</a>(hwloc_topology_t topology, <a class="code" href="a00035.html#gacd37bb612667dc437d66bfb175a8dc55" title="Type of topology object.">hwloc_obj_type_t</a> type); | |
182 | <a name="l00467"></a>00467 | |
183 | <a name="l00474"></a>00474 <span class="keywordtype">int</span> <a class="code" href="a00038.html#ga6ddd4213d95bd1c30555b294a60efa6b" title="Ignore an object type if it does not bring any structure.">hwloc_topology_ignore_type_keep_structure</a>(hwloc_topology_t topology, <a class="code" href="a00035.html#gacd37bb612667dc437d66bfb175a8dc55" title="Type of topology object.">hwloc_obj_type_t</a> type); | |
184 | <a name="l00475"></a>00475 | |
185 | <a name="l00481"></a>00481 <span class="keywordtype">int</span> <a class="code" href="a00038.html#gaec6fb00050f50cd41007f1ae580d2106" title="Ignore all objects that do not bring any structure.">hwloc_topology_ignore_all_keep_structure</a>(hwloc_topology_t topology); | |
186 | <a name="l00482"></a>00482 | |
187 | <a name="l00487"></a><a class="code" href="a00038.html#gada025d3ec20b4b420f8038d23d6e7bde">00487</a> <span class="keyword">enum</span> <a class="code" href="a00038.html#gada025d3ec20b4b420f8038d23d6e7bde" title="Flags to be set onto a topology context before load.">hwloc_topology_flags_e</a> { | |
188 | <a name="l00488"></a><a class="code" href="a00038.html#ggada025d3ec20b4b420f8038d23d6e7bdea129b4fea1300be22bbaf0bb0958994c8">00488</a> <a class="code" href="a00038.html#ggada025d3ec20b4b420f8038d23d6e7bdea129b4fea1300be22bbaf0bb0958994c8" title="Detect the whole system, ignore reservations and offline settings.">HWLOC_TOPOLOGY_FLAG_WHOLE_SYSTEM</a> = (1<<0), | |
189 | <a name="l00497"></a><a class="code" href="a00038.html#ggada025d3ec20b4b420f8038d23d6e7bdea6ecb6abc6a0bb75e81564f8bca85783b">00497</a> <a class="code" href="a00038.html#ggada025d3ec20b4b420f8038d23d6e7bdea6ecb6abc6a0bb75e81564f8bca85783b" title="Assume that the selected backend provides the topology for the system on which we are running...">HWLOC_TOPOLOGY_FLAG_IS_THISSYSTEM</a> = (1<<1) | |
190 | <a name="l00516"></a>00516 }; | |
191 | <a name="l00517"></a>00517 | |
192 | <a name="l00522"></a>00522 <span class="keywordtype">int</span> <a class="code" href="a00038.html#ga6d11e53db143ac39c32cdb3912b71f99" title="Set OR&#39;ed flags to non-yet-loaded topology.">hwloc_topology_set_flags</a> (hwloc_topology_t topology, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> flags); | |
193 | <a name="l00523"></a>00523 | |
194 | <a name="l00537"></a>00537 <span class="keywordtype">int</span> <a class="code" href="a00038.html#ga2f6bfb6958d8b508ea1d7d5bb266432c" title="Change the file-system root path when building the topology from sysfs/procfs.">hwloc_topology_set_fsroot</a>(hwloc_topology_t restrict topology, <span class="keyword">const</span> <span class="keywordtype">char</span> * restrict fsroot_path); | |
195 | <a name="l00538"></a>00538 | |
196 | <a name="l00552"></a>00552 <span class="keywordtype">int</span> <a class="code" href="a00038.html#gae1100de0162b3c6a9db750ac14629c05" title="Change which pid the topology is viewed from.">hwloc_topology_set_pid</a>(hwloc_topology_t restrict topology, hwloc_pid_t pid); | |
197 | <a name="l00553"></a>00553 | |
198 | <a name="l00571"></a>00571 <span class="keywordtype">int</span> <a class="code" href="a00038.html#ga2fcb52181b586c20f001b7a999550324" title="Enable synthetic topology.">hwloc_topology_set_synthetic</a>(hwloc_topology_t restrict topology, <span class="keyword">const</span> <span class="keywordtype">char</span> * restrict description); | |
199 | <a name="l00572"></a>00572 | |
200 | <a name="l00584"></a>00584 <span class="keywordtype">int</span> <a class="code" href="a00038.html#ga93efcc8a962afe1ed23393700682173f" title="Enable XML-file based topology.">hwloc_topology_set_xml</a>(hwloc_topology_t restrict topology, <span class="keyword">const</span> <span class="keywordtype">char</span> * restrict xmlpath); | |
201 | <a name="l00585"></a>00585 | |
202 | <a name="l00591"></a>00591 <span class="keywordtype">int</span> <a class="code" href="a00038.html#gae7e4bade144652a2b48f5eaf0309b4ec" title="Enable XML based topology using a memory buffer instead of a file.">hwloc_topology_set_xmlbuffer</a>(hwloc_topology_t restrict topology, <span class="keyword">const</span> <span class="keywordtype">char</span> * restrict buffer, <span class="keywordtype">int</span> size); | |
203 | <a name="l00592"></a>00592 | |
204 | <a name="l00594"></a><a class="code" href="a00018.html">00594</a> <span class="keyword">struct </span><a class="code" href="a00018.html" title="Flags describing actual discovery support for this topology.">hwloc_topology_discovery_support</a> { | |
205 | <a name="l00596"></a><a class="code" href="a00018.html#ad7bb4ecf7a82f5a04fc632e9592ad3ab">00596</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="a00018.html#ad7bb4ecf7a82f5a04fc632e9592ad3ab" title="Detecting the number of PU objects is supported.">pu</a>; | |
206 | <a name="l00597"></a>00597 }; | |
207 | <a name="l00598"></a>00598 | |
208 | <a name="l00600"></a><a class="code" href="a00017.html">00600</a> <span class="keyword">struct </span><a class="code" href="a00017.html" title="Flags describing actual PU binding support for this topology.">hwloc_topology_cpubind_support</a> { | |
209 | <a name="l00602"></a><a class="code" href="a00017.html#a9403d51657a4d546b3ea9553a2973a27">00602</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="a00017.html#a9403d51657a4d546b3ea9553a2973a27">set_thisproc_cpubind</a>; | |
210 | <a name="l00604"></a><a class="code" href="a00017.html#a77a09ddd78ee3e9ff5f532a6ac74f7eb">00604</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="a00017.html#a77a09ddd78ee3e9ff5f532a6ac74f7eb">get_thisproc_cpubind</a>; | |
211 | <a name="l00606"></a><a class="code" href="a00017.html#aa166223d1c2a6de7256ab2d8b675a87e">00606</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="a00017.html#aa166223d1c2a6de7256ab2d8b675a87e">set_proc_cpubind</a>; | |
212 | <a name="l00608"></a><a class="code" href="a00017.html#aae705bc447adc163ead377362c4dfe9f">00608</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="a00017.html#aae705bc447adc163ead377362c4dfe9f">get_proc_cpubind</a>; | |
213 | <a name="l00610"></a><a class="code" href="a00017.html#a57a89a4b5f1f74fa6cfe176f1e8b0798">00610</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="a00017.html#a57a89a4b5f1f74fa6cfe176f1e8b0798">set_thisthread_cpubind</a>; | |
214 | <a name="l00612"></a><a class="code" href="a00017.html#a80d762e532d677dff262d83cc7bb1c60">00612</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="a00017.html#a80d762e532d677dff262d83cc7bb1c60">get_thisthread_cpubind</a>; | |
215 | <a name="l00614"></a><a class="code" href="a00017.html#a46fba33e307909ce256624687799dd6d">00614</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="a00017.html#a46fba33e307909ce256624687799dd6d">set_thread_cpubind</a>; | |
216 | <a name="l00616"></a><a class="code" href="a00017.html#a8dd4d8531ed2eebdce1507e7d104154e">00616</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="a00017.html#a8dd4d8531ed2eebdce1507e7d104154e">get_thread_cpubind</a>; | |
217 | <a name="l00617"></a>00617 }; | |
218 | <a name="l00618"></a>00618 | |
219 | <a name="l00620"></a><a class="code" href="a00019.html">00620</a> <span class="keyword">struct </span><a class="code" href="a00019.html" title="Flags describing actual memory binding support for this topology.">hwloc_topology_membind_support</a> { | |
220 | <a name="l00622"></a><a class="code" href="a00019.html#a36b3e388df9c6a249427cab7e3724749">00622</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="a00019.html#a36b3e388df9c6a249427cab7e3724749">set_thisproc_membind</a>; | |
221 | <a name="l00624"></a><a class="code" href="a00019.html#a3fd51e6fa5f0dd800322301b46b08559">00624</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="a00019.html#a3fd51e6fa5f0dd800322301b46b08559">get_thisproc_membind</a>; | |
222 | <a name="l00626"></a><a class="code" href="a00019.html#a756f44912894b176bf979a1b65f12aac">00626</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="a00019.html#a756f44912894b176bf979a1b65f12aac">set_proc_membind</a>; | |
223 | <a name="l00628"></a><a class="code" href="a00019.html#a9880cd2d605e316fc020167c49ca69ad">00628</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="a00019.html#a9880cd2d605e316fc020167c49ca69ad">get_proc_membind</a>; | |
224 | <a name="l00630"></a><a class="code" href="a00019.html#a0697af2e41f2e82b8ce71e3cc13f7eac">00630</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="a00019.html#a0697af2e41f2e82b8ce71e3cc13f7eac">set_thisthread_membind</a>; | |
225 | <a name="l00632"></a><a class="code" href="a00019.html#a63b0b2e26157b472f5717ee93cc7c535">00632</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="a00019.html#a63b0b2e26157b472f5717ee93cc7c535">get_thisthread_membind</a>; | |
226 | <a name="l00634"></a><a class="code" href="a00019.html#a476c06f96b65c08b287cf2369966123b">00634</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="a00019.html#a476c06f96b65c08b287cf2369966123b">set_area_membind</a>; | |
227 | <a name="l00636"></a><a class="code" href="a00019.html#a0a84e24a06f2fa487fe8c9605c6f68b3">00636</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="a00019.html#a0a84e24a06f2fa487fe8c9605c6f68b3">get_area_membind</a>; | |
228 | <a name="l00638"></a><a class="code" href="a00019.html#ae551abb27d2aa9ce008583488b845b98">00638</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="a00019.html#ae551abb27d2aa9ce008583488b845b98">alloc_membind</a>; | |
229 | <a name="l00640"></a><a class="code" href="a00019.html#a221098c339dbfab27bd2c9f5d32f123b">00640</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="a00019.html#a221098c339dbfab27bd2c9f5d32f123b">firsttouch_membind</a>; | |
230 | <a name="l00642"></a><a class="code" href="a00019.html#ae7cdb1f1b5f0242a69f85b5a5538c764">00642</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="a00019.html#ae7cdb1f1b5f0242a69f85b5a5538c764">bind_membind</a>; | |
231 | <a name="l00644"></a><a class="code" href="a00019.html#a3c44c6012860bbeba8a0f4c19710858d">00644</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="a00019.html#a3c44c6012860bbeba8a0f4c19710858d">interleave_membind</a>; | |
232 | <a name="l00646"></a><a class="code" href="a00019.html#afe608fb85eb2aa9706221ccb5fc4d415">00646</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="a00019.html#afe608fb85eb2aa9706221ccb5fc4d415">replicate_membind</a>; | |
233 | <a name="l00648"></a><a class="code" href="a00019.html#ab0921af6e0cd6975812a80b8e5c7435c">00648</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="a00019.html#ab0921af6e0cd6975812a80b8e5c7435c">nexttouch_membind</a>; | |
234 | <a name="l00649"></a>00649 | |
235 | <a name="l00651"></a><a class="code" href="a00019.html#aafa7683871a6a760246f9b35209caec5">00651</a> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="a00019.html#aafa7683871a6a760246f9b35209caec5">migrate_membind</a>; | |
236 | <a name="l00652"></a>00652 }; | |
237 | <a name="l00653"></a>00653 | |
238 | <a name="l00660"></a><a class="code" href="a00020.html">00660</a> <span class="keyword">struct </span><a class="code" href="a00020.html" title="Set of flags describing actual support for this topology.">hwloc_topology_support</a> { | |
239 | <a name="l00661"></a><a class="code" href="a00020.html#aea3fbd7653d987d81f848636c420504d">00661</a> <span class="keyword">struct </span><a class="code" href="a00018.html" title="Flags describing actual discovery support for this topology.">hwloc_topology_discovery_support</a> *<a class="code" href="a00020.html#aea3fbd7653d987d81f848636c420504d">discovery</a>; | |
240 | <a name="l00662"></a><a class="code" href="a00020.html#adef2bb91f74c3e70a2a071393caf5f56">00662</a> <span class="keyword">struct </span><a class="code" href="a00017.html" title="Flags describing actual PU binding support for this topology.">hwloc_topology_cpubind_support</a> *<a class="code" href="a00020.html#adef2bb91f74c3e70a2a071393caf5f56">cpubind</a>; | |
241 | <a name="l00663"></a><a class="code" href="a00020.html#ac6eb62ae8bc0a68dce679a7107a36194">00663</a> <span class="keyword">struct </span><a class="code" href="a00019.html" title="Flags describing actual memory binding support for this topology.">hwloc_topology_membind_support</a> *<a class="code" href="a00020.html#ac6eb62ae8bc0a68dce679a7107a36194">membind</a>; | |
242 | <a name="l00664"></a>00664 }; | |
243 | <a name="l00665"></a>00665 | |
244 | <a name="l00667"></a>00667 <span class="keyword">const</span> <span class="keyword">struct </span><a class="code" href="a00020.html" title="Set of flags describing actual support for this topology.">hwloc_topology_support</a> *<a class="code" href="a00038.html#gac2126e105f3ae708efca2e90d612625a" title="Retrieve the topology support.">hwloc_topology_get_support</a>(hwloc_topology_t restrict topology); | |
245 | <a name="l00668"></a>00668 | |
246 | <a name="l00681"></a>00681 <span class="keywordtype">void</span> <a class="code" href="a00039.html#ga1c9d8e608232206ce2142fe806a6835b" title="Export the topology into an XML file.">hwloc_topology_export_xml</a>(hwloc_topology_t topology, <span class="keyword">const</span> <span class="keywordtype">char</span> *xmlpath); | |
247 | <a name="l00682"></a>00682 | |
248 | <a name="l00689"></a>00689 <span class="keywordtype">void</span> <a class="code" href="a00039.html#gad77e72a2ccf32825511818988a09e5c1" title="Export the topology into a newly-allocated XML memory buffer.">hwloc_topology_export_xmlbuffer</a>(hwloc_topology_t topology, <span class="keywordtype">char</span> **xmlbuffer, <span class="keywordtype">int</span> *buflen); | |
249 | <a name="l00690"></a>00690 | |
250 | <a name="l00700"></a>00700 hwloc_obj_t <a class="code" href="a00039.html#ga017a9ba16d554326c6e3812d545d7230" title="Add a MISC object to the topology.">hwloc_topology_insert_misc_object_by_cpuset</a>(hwloc_topology_t topology, hwloc_const_cpuset_t cpuset, <span class="keyword">const</span> <span class="keywordtype">char</span> *name); | |
251 | <a name="l00701"></a>00701 | |
252 | <a name="l00711"></a>00711 hwloc_obj_t <a class="code" href="a00039.html#gadacd7a3d21220fbb30c3256d8b22a294" title="Add a MISC object to the topology.">hwloc_topology_insert_misc_object_by_parent</a>(hwloc_topology_t topology, hwloc_obj_t parent, <span class="keyword">const</span> <span class="keywordtype">char</span> *name); | |
253 | <a name="l00712"></a>00712 | |
254 | <a name="l00725"></a>00725 <span class="keywordtype">unsigned</span> <a class="code" href="a00040.html#ga8c30b0cec55074eb3ed34e4f2a1a9937" title="Get the depth of the hierachical tree of objects.">hwloc_topology_get_depth</a>(hwloc_topology_t restrict topology) ; | |
255 | <a name="l00726"></a>00726 | |
256 | <a name="l00739"></a>00739 <span class="keywordtype">int</span> <a class="code" href="a00040.html#gaea7c64dd59467f5201ba87712710b14d" title="Returns the depth of objects of type type.">hwloc_get_type_depth</a> (hwloc_topology_t topology, <a class="code" href="a00035.html#gacd37bb612667dc437d66bfb175a8dc55" title="Type of topology object.">hwloc_obj_type_t</a> type); | |
257 | <a name="l00740"></a>00740 | |
258 | <a name="l00741"></a><a class="code" href="a00040.html#gaf4e663cf42bbe20756b849c6293ef575">00741</a> <span class="keyword">enum</span> <a class="code" href="a00040.html#gaf4e663cf42bbe20756b849c6293ef575">hwloc_get_type_depth_e</a> { | |
259 | <a name="l00742"></a><a class="code" href="a00040.html#ggaf4e663cf42bbe20756b849c6293ef575a0565ab92ab72cb0cec91e23003294aad">00742</a> <a class="code" href="a00040.html#ggaf4e663cf42bbe20756b849c6293ef575a0565ab92ab72cb0cec91e23003294aad" title="No object of given type exists in the topology.">HWLOC_TYPE_DEPTH_UNKNOWN</a> = -1, | |
260 | <a name="l00743"></a><a class="code" href="a00040.html#ggaf4e663cf42bbe20756b849c6293ef575ae99465995cacde6c210d5fc2e409798c">00743</a> <a class="code" href="a00040.html#ggaf4e663cf42bbe20756b849c6293ef575ae99465995cacde6c210d5fc2e409798c" title="Objects of given type exist at different depth in the topology.">HWLOC_TYPE_DEPTH_MULTIPLE</a> = -2 | |
261 | <a name="l00744"></a>00744 }; | |
262 | <a name="l00745"></a>00745 | |
263 | <a name="l00750"></a>00750 <a class="code" href="a00035.html#gacd37bb612667dc437d66bfb175a8dc55" title="Type of topology object.">hwloc_obj_type_t</a> <a class="code" href="a00040.html#gadd4964764ae7e49231065d58a553fd31" title="Returns the type of objects at depth depth.">hwloc_get_depth_type</a> (hwloc_topology_t topology, <span class="keywordtype">unsigned</span> depth) ; | |
264 | <a name="l00751"></a>00751 | |
265 | <a name="l00753"></a>00753 <span class="keywordtype">unsigned</span> <a class="code" href="a00040.html#ga20cfe2456f4cfdd789c9aca6d2fdd69f" title="Returns the width of level at depth depth.">hwloc_get_nbobjs_by_depth</a> (hwloc_topology_t topology, <span class="keywordtype">unsigned</span> depth) ; | |
266 | <a name="l00754"></a>00754 | |
267 | <a name="l00760"></a>00760 <span class="keyword">static</span> inline <span class="keywordtype">int</span> | |
268 | <a name="l00761"></a><a class="code" href="a00040.html#ga0131ab1051011fabfa69d7c1853e716c">00761</a> <a class="code" href="a00040.html#ga0131ab1051011fabfa69d7c1853e716c" title="Returns the width of level type type.">hwloc_get_nbobjs_by_type</a> (hwloc_topology_t topology, <a class="code" href="a00035.html#gacd37bb612667dc437d66bfb175a8dc55" title="Type of topology object.">hwloc_obj_type_t</a> type) | |
269 | <a name="l00762"></a>00762 { | |
270 | <a name="l00763"></a>00763 <span class="keywordtype">int</span> depth = <a class="code" href="a00040.html#gaea7c64dd59467f5201ba87712710b14d" title="Returns the depth of objects of type type.">hwloc_get_type_depth</a>(topology, type); | |
271 | <a name="l00764"></a>00764 <span class="keywordflow">if</span> (depth == <a class="code" href="a00040.html#ggaf4e663cf42bbe20756b849c6293ef575a0565ab92ab72cb0cec91e23003294aad" title="No object of given type exists in the topology.">HWLOC_TYPE_DEPTH_UNKNOWN</a>) | |
272 | <a name="l00765"></a>00765 <span class="keywordflow">return</span> 0; | |
273 | <a name="l00766"></a>00766 <span class="keywordflow">if</span> (depth == <a class="code" href="a00040.html#ggaf4e663cf42bbe20756b849c6293ef575ae99465995cacde6c210d5fc2e409798c" title="Objects of given type exist at different depth in the topology.">HWLOC_TYPE_DEPTH_MULTIPLE</a>) | |
274 | <a name="l00767"></a>00767 <span class="keywordflow">return</span> -1; <span class="comment">/* FIXME: agregate nbobjs from different levels? */</span> | |
275 | <a name="l00768"></a>00768 <span class="keywordflow">return</span> <a class="code" href="a00040.html#ga20cfe2456f4cfdd789c9aca6d2fdd69f" title="Returns the width of level at depth depth.">hwloc_get_nbobjs_by_depth</a>(topology, depth); | |
276 | <a name="l00769"></a>00769 } | |
277 | <a name="l00770"></a>00770 | |
278 | <a name="l00778"></a>00778 <span class="keywordtype">int</span> <a class="code" href="a00040.html#ga0d109e33fc7990f62f665d336e5e5111" title="Does the topology context come from this system?">hwloc_topology_is_thissystem</a>(hwloc_topology_t restrict topology) ; | |
279 | <a name="l00779"></a>00779 | |
280 | <a name="l00789"></a>00789 hwloc_obj_t <a class="code" href="a00041.html#gaedd78240b0c1108355586a268ec5a697" title="Returns the topology object at index index from depth depth.">hwloc_get_obj_by_depth</a> (hwloc_topology_t topology, <span class="keywordtype">unsigned</span> depth, <span class="keywordtype">unsigned</span> idx) ; | |
281 | <a name="l00790"></a>00790 | |
282 | <a name="l00797"></a>00797 <span class="keyword">static</span> inline hwloc_obj_t | |
283 | <a name="l00798"></a><a class="code" href="a00041.html#ga701f83b2cf0cb8e0acd58cd2dc1c67a2">00798</a> <a class="code" href="a00041.html#ga701f83b2cf0cb8e0acd58cd2dc1c67a2" title="Returns the topology object at index index with type type.">hwloc_get_obj_by_type</a> (hwloc_topology_t topology, <a class="code" href="a00035.html#gacd37bb612667dc437d66bfb175a8dc55" title="Type of topology object.">hwloc_obj_type_t</a> type, <span class="keywordtype">unsigned</span> idx) | |
284 | <a name="l00799"></a>00799 { | |
285 | <a name="l00800"></a>00800 <span class="keywordtype">int</span> depth = <a class="code" href="a00040.html#gaea7c64dd59467f5201ba87712710b14d" title="Returns the depth of objects of type type.">hwloc_get_type_depth</a>(topology, type); | |
286 | <a name="l00801"></a>00801 <span class="keywordflow">if</span> (depth == <a class="code" href="a00040.html#ggaf4e663cf42bbe20756b849c6293ef575a0565ab92ab72cb0cec91e23003294aad" title="No object of given type exists in the topology.">HWLOC_TYPE_DEPTH_UNKNOWN</a>) | |
287 | <a name="l00802"></a>00802 <span class="keywordflow">return</span> NULL; | |
288 | <a name="l00803"></a>00803 <span class="keywordflow">if</span> (depth == <a class="code" href="a00040.html#ggaf4e663cf42bbe20756b849c6293ef575ae99465995cacde6c210d5fc2e409798c" title="Objects of given type exist at different depth in the topology.">HWLOC_TYPE_DEPTH_MULTIPLE</a>) | |
289 | <a name="l00804"></a>00804 <span class="keywordflow">return</span> NULL; | |
290 | <a name="l00805"></a>00805 <span class="keywordflow">return</span> <a class="code" href="a00041.html#gaedd78240b0c1108355586a268ec5a697" title="Returns the topology object at index index from depth depth.">hwloc_get_obj_by_depth</a>(topology, depth, idx); | |
291 | <a name="l00806"></a>00806 } | |
292 | <a name="l00807"></a>00807 | |
293 | <a name="l00817"></a>00817 <span class="keyword">const</span> <span class="keywordtype">char</span> * <a class="code" href="a00042.html#ga7c61920feca6fd9006d930dabfc09058" title="Return a stringified topology object type.">hwloc_obj_type_string</a> (<a class="code" href="a00035.html#gacd37bb612667dc437d66bfb175a8dc55" title="Type of topology object.">hwloc_obj_type_t</a> type) ; | |
294 | <a name="l00818"></a>00818 | |
295 | <a name="l00823"></a>00823 <a class="code" href="a00035.html#gacd37bb612667dc437d66bfb175a8dc55" title="Type of topology object.">hwloc_obj_type_t</a> <a class="code" href="a00042.html#gade722091ae392fdc79557e797a16c370" title="Return an object type from the string.">hwloc_obj_type_of_string</a> (<span class="keyword">const</span> <span class="keywordtype">char</span> * <span class="keywordtype">string</span>) ; | |
296 | <a name="l00824"></a>00824 | |
297 | <a name="l00835"></a>00835 <span class="keywordtype">int</span> <a class="code" href="a00042.html#ga3ad856e8f3487d340c82a23b8a2a0351" title="Stringify the type of a given topology object into a human-readable form.">hwloc_obj_type_snprintf</a>(<span class="keywordtype">char</span> * restrict <span class="keywordtype">string</span>, <span class="keywordtype">size_t</span> size, hwloc_obj_t obj, | |
298 | <a name="l00836"></a>00836 <span class="keywordtype">int</span> verbose); | |
299 | <a name="l00837"></a>00837 | |
300 | <a name="l00849"></a>00849 <span class="keywordtype">int</span> <a class="code" href="a00042.html#ga0db8286d7f3ceda8defd76e3e1e2b284" title="Stringify the attributes of a given topology object into a human-readable form.">hwloc_obj_attr_snprintf</a>(<span class="keywordtype">char</span> * restrict <span class="keywordtype">string</span>, <span class="keywordtype">size_t</span> size, hwloc_obj_t obj, <span class="keyword">const</span> <span class="keywordtype">char</span> * restrict separator, | |
301 | <a name="l00850"></a>00850 <span class="keywordtype">int</span> verbose); | |
302 | <a name="l00851"></a>00851 | |
303 | <a name="l00872"></a>00872 <span class="keywordtype">int</span> <a class="code" href="a00042.html#ga5c6a61a83f4790b421e2f62e9088446f" title="Stringify a given topology object into a human-readable form.">hwloc_obj_snprintf</a>(<span class="keywordtype">char</span> * restrict <span class="keywordtype">string</span>, <span class="keywordtype">size_t</span> size, | |
304 | <a name="l00873"></a>00873 hwloc_topology_t topology, hwloc_obj_t obj, | |
305 | <a name="l00874"></a>00874 <span class="keyword">const</span> <span class="keywordtype">char</span> * restrict indexprefix, <span class="keywordtype">int</span> verbose); | |
306 | <a name="l00875"></a>00875 | |
307 | <a name="l00883"></a>00883 <span class="keywordtype">int</span> <a class="code" href="a00042.html#gabbfb92224c992c0e2ecef6b6e45260f2" title="Stringify the cpuset containing a set of objects.">hwloc_obj_cpuset_snprintf</a>(<span class="keywordtype">char</span> * restrict str, <span class="keywordtype">size_t</span> size, <span class="keywordtype">size_t</span> nobj, <span class="keyword">const</span> hwloc_obj_t * restrict objs); | |
308 | <a name="l00884"></a>00884 | |
309 | <a name="l00889"></a>00889 <span class="keyword">static</span> inline <span class="keywordtype">char</span> * | |
310 | <a name="l00890"></a><a class="code" href="a00042.html#ga1f41387433f4c9e9c14b9f2e522919e4">00890</a> <a class="code" href="a00042.html#ga1f41387433f4c9e9c14b9f2e522919e4" title="Search the given key name in object infos and return the corresponding value.">hwloc_obj_get_info_by_name</a>(hwloc_obj_t obj, <span class="keyword">const</span> <span class="keywordtype">char</span> *name) | |
311 | <a name="l00891"></a>00891 { | |
312 | <a name="l00892"></a>00892 <span class="keywordtype">unsigned</span> i; | |
313 | <a name="l00893"></a>00893 <span class="keywordflow">for</span>(i=0; i<obj-><a class="code" href="a00012.html#a9843acc28cfbba903b63ea14b137ff70" title="Size of infos array.">infos_count</a>; i++) | |
314 | <a name="l00894"></a>00894 <span class="keywordflow">if</span> (!strcmp(obj-><a class="code" href="a00012.html#ad59bcd73a10260a0e239be5c4b5888bb" title="Array of stringified info type=name.">infos</a>[i].<a class="code" href="a00014.html#a115dde58f40338a2d3276d59c099857d" title="Info name.">name</a>, name)) | |
315 | <a name="l00895"></a>00895 <span class="keywordflow">return</span> obj-><a class="code" href="a00012.html#ad59bcd73a10260a0e239be5c4b5888bb" title="Array of stringified info type=name.">infos</a>[i].<a class="code" href="a00014.html#a522efd7f5262a4493a73fa3476a041ce" title="Info value.">value</a>; | |
316 | <a name="l00896"></a>00896 <span class="keywordflow">return</span> NULL; | |
317 | <a name="l00897"></a>00897 } | |
318 | <a name="l00898"></a>00898 | |
319 | <a name="l00953"></a><a class="code" href="a00043.html#ga217dc8d373f8958cc93c154ebce1c71c">00953</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> { | |
320 | <a name="l00954"></a><a class="code" href="a00043.html#gga217dc8d373f8958cc93c154ebce1c71ca2e0dd0128dac6b03408c7dd170477fdc">00954</a> <a class="code" href="a00043.html#gga217dc8d373f8958cc93c154ebce1c71ca2e0dd0128dac6b03408c7dd170477fdc" title="Bind all threads of the current (possibly) multithreaded process.">HWLOC_CPUBIND_PROCESS</a> = (1<<0), | |
321 | <a name="l00957"></a><a class="code" href="a00043.html#gga217dc8d373f8958cc93c154ebce1c71caf1b6bbad00d7b1017b918e3719f4d421">00957</a> <a class="code" href="a00043.html#gga217dc8d373f8958cc93c154ebce1c71caf1b6bbad00d7b1017b918e3719f4d421" title="Bind current thread of current process.">HWLOC_CPUBIND_THREAD</a> = (1<<1), | |
322 | <a name="l00959"></a><a class="code" href="a00043.html#gga217dc8d373f8958cc93c154ebce1c71ca679a7e0f0c7ee06b123565f90d98e7fa">00959</a> <a class="code" href="a00043.html#gga217dc8d373f8958cc93c154ebce1c71ca679a7e0f0c7ee06b123565f90d98e7fa" title="Request for strict binding from the OS.">HWLOC_CPUBIND_STRICT</a> = (1<<2), | |
323 | <a name="l00987"></a><a class="code" href="a00043.html#gga217dc8d373f8958cc93c154ebce1c71ca41ce440443cc3087caed95ab60edcad6">00987</a> <a class="code" href="a00043.html#gga217dc8d373f8958cc93c154ebce1c71ca41ce440443cc3087caed95ab60edcad6" title="Avoid any effect on memory binding.">HWLOC_CPUBIND_NOMEMBIND</a> = (1<<3) | |
324 | <a name="l01001"></a>01001 } <a class="code" href="a00043.html#ga217dc8d373f8958cc93c154ebce1c71c" title="Process/Thread binding flags.">hwloc_cpubind_flags_t</a>; | |
325 | <a name="l01002"></a>01002 | |
326 | <a name="l01008"></a>01008 <span class="keywordtype">int</span> <a class="code" href="a00043.html#gaf4cc194d5c0d38004a21b9f03522a7e3" title="Bind current process or thread on cpus given in bitmap set.">hwloc_set_cpubind</a>(hwloc_topology_t topology, hwloc_const_cpuset_t <span class="keyword">set</span>, <span class="keywordtype">int</span> flags); | |
321 | 327 | <a name="l01009"></a>01009 |
322 | <a name="l01017"></a>01017 <span class="keywordtype">int</span> <a class="code" href="a00043.html#gac0ef3510b4e9c1273029ecf94e8c9686" title="Bind a process pid on cpus given in bitmap set.">hwloc_set_proc_cpubind</a>(hwloc_topology_t topology, hwloc_pid_t pid, hwloc_const_cpuset_t <span class="keyword">set</span>, <span class="keywordtype">int</span> flags); | |
323 | <a name="l01018"></a>01018 | |
324 | <a name="l01026"></a>01026 <span class="keywordtype">int</span> <a class="code" href="a00043.html#gaa1373a002b9a0a87eb002e26c590f2da" title="Get the current binding of process pid.">hwloc_get_proc_cpubind</a>(hwloc_topology_t topology, hwloc_pid_t pid, hwloc_cpuset_t <span class="keyword">set</span>, <span class="keywordtype">int</span> flags); | |
325 | <a name="l01027"></a>01027 | |
326 | <a name="l01028"></a>01028 <span class="preprocessor">#ifdef hwloc_thread_t</span> | |
327 | <a name="l01029"></a>01029 <span class="preprocessor"></span> | |
328 | <a name="l01036"></a>01036 <span class="keywordtype">int</span> <a class="code" href="a00043.html#ga2d6cca51524108966752609b6e725243" title="Bind a thread tid on cpus given in bitmap set.">hwloc_set_thread_cpubind</a>(hwloc_topology_t topology, hwloc_thread_t tid, hwloc_const_cpuset_t <span class="keyword">set</span>, <span class="keywordtype">int</span> flags); | |
329 | <a name="l01037"></a>01037 <span class="preprocessor">#endif</span> | |
330 | <a name="l01038"></a>01038 <span class="preprocessor"></span> | |
331 | <a name="l01039"></a>01039 <span class="preprocessor">#ifdef hwloc_thread_t</span> | |
332 | <a name="l01040"></a>01040 <span class="preprocessor"></span> | |
333 | <a name="l01047"></a>01047 <span class="keywordtype">int</span> <a class="code" href="a00043.html#ga58c49328c4213c9fbf8d80d5188d4c1e" title="Get the current binding of thread tid.">hwloc_get_thread_cpubind</a>(hwloc_topology_t topology, hwloc_thread_t tid, hwloc_cpuset_t <span class="keyword">set</span>, <span class="keywordtype">int</span> flags); | |
334 | <a name="l01048"></a>01048 <span class="preprocessor">#endif</span> | |
335 | <a name="l01049"></a>01049 <span class="preprocessor"></span> | |
336 | <a name="l01108"></a><a class="code" href="a00044.html#gac9764f79505775d06407b40f5e4661e8">01108</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> { | |
337 | <a name="l01109"></a><a class="code" href="a00044.html#ggac9764f79505775d06407b40f5e4661e8a18675bb80ebc1bce5b652e9de8f3998c">01109</a> <a class="code" href="a00044.html#ggac9764f79505775d06407b40f5e4661e8a18675bb80ebc1bce5b652e9de8f3998c" title="Reset the memory allocation policy to the system default.">HWLOC_MEMBIND_DEFAULT</a> = 0, | |
338 | <a name="l01111"></a><a class="code" href="a00044.html#ggac9764f79505775d06407b40f5e4661e8a979c7aa78dd32780858f30f47a72cca0">01111</a> <a class="code" href="a00044.html#ggac9764f79505775d06407b40f5e4661e8a979c7aa78dd32780858f30f47a72cca0" title="Allocate memory but do not immediately bind it to a specific locality. Instead, each page in the allo...">HWLOC_MEMBIND_FIRSTTOUCH</a> = 1, | |
339 | <a name="l01122"></a><a class="code" href="a00044.html#ggac9764f79505775d06407b40f5e4661e8ad811fa4b2a6002c4d63695a408ffde2c">01122</a> <a class="code" href="a00044.html#ggac9764f79505775d06407b40f5e4661e8ad811fa4b2a6002c4d63695a408ffde2c" title="Allocate memory on the specified nodes.">HWLOC_MEMBIND_BIND</a> = 2, | |
340 | <a name="l01124"></a><a class="code" href="a00044.html#ggac9764f79505775d06407b40f5e4661e8ae370075e5af016d42310f87ea5af236b">01124</a> <a class="code" href="a00044.html#ggac9764f79505775d06407b40f5e4661e8ae370075e5af016d42310f87ea5af236b" title="Allocate memory on the given nodes in an interleaved / round-robin manner. The precise layout of the ...">HWLOC_MEMBIND_INTERLEAVE</a> = 3, | |
341 | <a name="l01139"></a><a class="code" href="a00044.html#ggac9764f79505775d06407b40f5e4661e8afb37480fe5f4236eb7dd4aef26f691e9">01139</a> <a class="code" href="a00044.html#ggac9764f79505775d06407b40f5e4661e8afb37480fe5f4236eb7dd4aef26f691e9" title="Replicate memory on the given nodes; reads from this memory will attempt to be serviced from the NUMA...">HWLOC_MEMBIND_REPLICATE</a> = 4, | |
342 | <a name="l01161"></a><a class="code" href="a00044.html#ggac9764f79505775d06407b40f5e4661e8aecdd4164d647708fbb51a00d98dbb138">01161</a> <a class="code" href="a00044.html#ggac9764f79505775d06407b40f5e4661e8aecdd4164d647708fbb51a00d98dbb138" title="For each page bound with this policy, by next time it is touched (and next time only), it is moved from its current location to the local NUMA node of the thread where the memory reference occurred (if it needs to be moved at all).">HWLOC_MEMBIND_NEXTTOUCH</a> = 5, | |
343 | <a name="l01171"></a><a class="code" href="a00044.html#ggac9764f79505775d06407b40f5e4661e8a3185bd869b67817fb2bd5164bf360402">01171</a> <a class="code" href="a00044.html#ggac9764f79505775d06407b40f5e4661e8a3185bd869b67817fb2bd5164bf360402" title="Returned by hwloc_get_membind*() functions when multiple threads or parts of a memory area have diffe...">HWLOC_MEMBIND_MIXED</a> = -1 | |
344 | <a name="l01176"></a>01176 } <a class="code" href="a00044.html#gac9764f79505775d06407b40f5e4661e8" title="Memory binding policy.">hwloc_membind_policy_t</a>; | |
345 | <a name="l01177"></a>01177 | |
346 | <a name="l01189"></a><a class="code" href="a00044.html#gab00475fd98815bf4fb9aaf752030e7d2">01189</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> { | |
347 | <a name="l01190"></a><a class="code" href="a00044.html#ggab00475fd98815bf4fb9aaf752030e7d2a1b1b74aef138f64aff214a8cbdfe8eb4">01190</a> <a class="code" href="a00044.html#ggab00475fd98815bf4fb9aaf752030e7d2a1b1b74aef138f64aff214a8cbdfe8eb4" title="Set policy for all threads of the specified (possibly multithreaded) process. This flag is mutually e...">HWLOC_MEMBIND_PROCESS</a> = (1<<0), | |
348 | <a name="l01197"></a><a class="code" href="a00044.html#ggab00475fd98815bf4fb9aaf752030e7d2a1dc7dd5cdcd5796893a325a524555298">01197</a> <a class="code" href="a00044.html#ggab00475fd98815bf4fb9aaf752030e7d2a1dc7dd5cdcd5796893a325a524555298" title="Set policy for a specific thread of the current process. This flag is mutually exclusive with HWLOC_M...">HWLOC_MEMBIND_THREAD</a> = (1<<1), | |
349 | <a name="l01203"></a><a class="code" href="a00044.html#ggab00475fd98815bf4fb9aaf752030e7d2a0335311a0ee04166df2888d52b4a42c6">01203</a> <a class="code" href="a00044.html#ggab00475fd98815bf4fb9aaf752030e7d2a0335311a0ee04166df2888d52b4a42c6">HWLOC_MEMBIND_STRICT</a> = (1<<2), | |
350 | <a name="l01214"></a><a class="code" href="a00044.html#ggab00475fd98815bf4fb9aaf752030e7d2aa6e49e54f52827cb143cc869cfd748af">01214</a> <a class="code" href="a00044.html#ggab00475fd98815bf4fb9aaf752030e7d2aa6e49e54f52827cb143cc869cfd748af" title="Migrate existing allocated memory. If the memory cannot be migrated and the HWLOC_MEMBIND_STRICT flag...">HWLOC_MEMBIND_MIGRATE</a> = (1<<3), | |
351 | <a name="l01222"></a><a class="code" href="a00044.html#ggab00475fd98815bf4fb9aaf752030e7d2aad6b9eaf2ee324ca58dc8f58094b9997">01222</a> <a class="code" href="a00044.html#ggab00475fd98815bf4fb9aaf752030e7d2aad6b9eaf2ee324ca58dc8f58094b9997" title="Avoid any effect on CPU binding.">HWLOC_MEMBIND_NOCPUBIND</a> = (1<<4) | |
352 | <a name="l01245"></a>01245 } <a class="code" href="a00044.html#gab00475fd98815bf4fb9aaf752030e7d2" title="Memory binding flags.">hwloc_membind_flags_t</a>; | |
353 | <a name="l01246"></a>01246 | |
354 | <a name="l01259"></a>01259 <span class="keywordtype">int</span> <a class="code" href="a00044.html#ga747962cbb16fd12ad6d126011c734a27" title="Set the default memory binding policy of the current process or thread to prefer the NUMA node(s) spe...">hwloc_set_membind_nodeset</a>(hwloc_topology_t topology, hwloc_const_nodeset_t nodeset, <a class="code" href="a00044.html#gac9764f79505775d06407b40f5e4661e8" title="Memory binding policy.">hwloc_membind_policy_t</a> policy, <span class="keywordtype">int</span> flags); | |
355 | <a name="l01260"></a>01260 | |
356 | <a name="l01274"></a>01274 <span class="keywordtype">int</span> <a class="code" href="a00044.html#ga8b6d1d90227aff8e44ef26bc1f8a8f95" title="Set the default memory binding policy of the current process or thread to prefer the NUMA node(s) nea...">hwloc_set_membind</a>(hwloc_topology_t topology, hwloc_const_cpuset_t cpuset, <a class="code" href="a00044.html#gac9764f79505775d06407b40f5e4661e8" title="Memory binding policy.">hwloc_membind_policy_t</a> policy, <span class="keywordtype">int</span> flags); | |
357 | <a name="l01275"></a>01275 | |
358 | <a name="l01316"></a>01316 <span class="keywordtype">int</span> <a class="code" href="a00044.html#ga7b46a4ca0b2db9723ca73b0c148ccd93" title="Query the default memory binding policy and locality of the current process or thread.">hwloc_get_membind_nodeset</a>(hwloc_topology_t topology, hwloc_nodeset_t nodeset, <a class="code" href="a00044.html#gac9764f79505775d06407b40f5e4661e8" title="Memory binding policy.">hwloc_membind_policy_t</a> * policy, <span class="keywordtype">int</span> flags); | |
359 | <a name="l01317"></a>01317 | |
360 | <a name="l01363"></a>01363 <span class="keywordtype">int</span> <a class="code" href="a00044.html#gab07aedba1119f99130e5f0b796b7d8a5" title="Query the default memory binding policy and locality of the current process or thread (the locality i...">hwloc_get_membind</a>(hwloc_topology_t topology, hwloc_cpuset_t cpuset, <a class="code" href="a00044.html#gac9764f79505775d06407b40f5e4661e8" title="Memory binding policy.">hwloc_membind_policy_t</a> * policy, <span class="keywordtype">int</span> flags); | |
361 | <a name="l01364"></a>01364 | |
362 | <a name="l01371"></a>01371 <span class="keywordtype">int</span> <a class="code" href="a00044.html#gaf10d18cd4703ec980d7440a1c23fa07f" title="Set the default memory binding policy of the specified process to prefer the NUMA node(s) specified b...">hwloc_set_proc_membind_nodeset</a>(hwloc_topology_t topology, hwloc_pid_t pid, hwloc_const_nodeset_t nodeset, <a class="code" href="a00044.html#gac9764f79505775d06407b40f5e4661e8" title="Memory binding policy.">hwloc_membind_policy_t</a> policy, <span class="keywordtype">int</span> flags); | |
363 | <a name="l01372"></a>01372 | |
364 | <a name="l01379"></a>01379 <span class="keywordtype">int</span> <a class="code" href="a00044.html#gac63c4517e71b3f0d41b3dee3e83dc55c" title="Set the default memory binding policy of the specified process to prefer the NUMA node(s) near the sp...">hwloc_set_proc_membind</a>(hwloc_topology_t topology, hwloc_pid_t pid, hwloc_const_cpuset_t cpuset, <a class="code" href="a00044.html#gac9764f79505775d06407b40f5e4661e8" title="Memory binding policy.">hwloc_membind_policy_t</a> policy, <span class="keywordtype">int</span> flags); | |
365 | <a name="l01380"></a>01380 | |
366 | <a name="l01414"></a>01414 <span class="keywordtype">int</span> <a class="code" href="a00044.html#ga22074ed072e1039f74f17f7b16e9e39d" title="Query the default memory binding policy and locality of the specified process.">hwloc_get_proc_membind_nodeset</a>(hwloc_topology_t topology, hwloc_pid_t pid, hwloc_nodeset_t nodeset, <a class="code" href="a00044.html#gac9764f79505775d06407b40f5e4661e8" title="Memory binding policy.">hwloc_membind_policy_t</a> * policy, <span class="keywordtype">int</span> flags); | |
367 | <a name="l01415"></a>01415 | |
368 | <a name="l01452"></a>01452 <span class="keywordtype">int</span> <a class="code" href="a00044.html#gabaf9c13f1fa301d6895594cec52226e2" title="Query the default memory binding policy and locality of the specified process (the locality is return...">hwloc_get_proc_membind</a>(hwloc_topology_t topology, hwloc_pid_t pid, hwloc_cpuset_t cpuset, <a class="code" href="a00044.html#gac9764f79505775d06407b40f5e4661e8" title="Memory binding policy.">hwloc_membind_policy_t</a> * policy, <span class="keywordtype">int</span> flags); | |
369 | <a name="l01453"></a>01453 | |
370 | <a name="l01460"></a>01460 <span class="keywordtype">int</span> <a class="code" href="a00044.html#gade5e2c28ea8475a479bf2b1df36c6ccd" title="Bind the already-allocated memory identified by (addr, len) to the NUMA node(s) in nodeset...">hwloc_set_area_membind_nodeset</a>(hwloc_topology_t topology, <span class="keyword">const</span> <span class="keywordtype">void</span> *addr, <span class="keywordtype">size_t</span> len, hwloc_const_nodeset_t nodeset, <a class="code" href="a00044.html#gac9764f79505775d06407b40f5e4661e8" title="Memory binding policy.">hwloc_membind_policy_t</a> policy, <span class="keywordtype">int</span> flags); | |
371 | <a name="l01461"></a>01461 | |
372 | <a name="l01468"></a>01468 <span class="keywordtype">int</span> <a class="code" href="a00044.html#ga06594edeb4728cb9e014aed924d1e74a" title="Bind the already-allocated memory identified by (addr, len) to the NUMA node(s) near cpuset...">hwloc_set_area_membind</a>(hwloc_topology_t topology, <span class="keyword">const</span> <span class="keywordtype">void</span> *addr, <span class="keywordtype">size_t</span> len, hwloc_const_cpuset_t cpuset, <a class="code" href="a00044.html#gac9764f79505775d06407b40f5e4661e8" title="Memory binding policy.">hwloc_membind_policy_t</a> policy, <span class="keywordtype">int</span> flags); | |
373 | <a name="l01469"></a>01469 | |
374 | <a name="l01492"></a>01492 <span class="keywordtype">int</span> <a class="code" href="a00044.html#ga106e6fcd764d17be682faf7a5bc95720" title="Query the NUMA node(s) and binding policy of the memory identified by (addr, len ).">hwloc_get_area_membind_nodeset</a>(hwloc_topology_t topology, <span class="keyword">const</span> <span class="keywordtype">void</span> *addr, <span class="keywordtype">size_t</span> len, hwloc_nodeset_t nodeset, <a class="code" href="a00044.html#gac9764f79505775d06407b40f5e4661e8" title="Memory binding policy.">hwloc_membind_policy_t</a> * policy, <span class="keywordtype">int</span> flags); | |
375 | <a name="l01493"></a>01493 | |
376 | <a name="l01518"></a>01518 <span class="keywordtype">int</span> <a class="code" href="a00044.html#gac02ee8f7606382ea7855ae4e1656ed0f" title="Query the CPUs near the NUMA node(s) and binding policy of the memory identified by (addr...">hwloc_get_area_membind</a>(hwloc_topology_t topology, <span class="keyword">const</span> <span class="keywordtype">void</span> *addr, <span class="keywordtype">size_t</span> len, hwloc_cpuset_t cpuset, <a class="code" href="a00044.html#gac9764f79505775d06407b40f5e4661e8" title="Memory binding policy.">hwloc_membind_policy_t</a> * policy, <span class="keywordtype">int</span> flags); | |
377 | <a name="l01519"></a>01519 | |
378 | <a name="l01527"></a>01527 <span class="keywordtype">void</span> *<a class="code" href="a00044.html#gac5586e58cf25c3596b7d4aa31ce13259" title="Allocate some memory.">hwloc_alloc</a>(hwloc_topology_t topology, <span class="keywordtype">size_t</span> len); | |
379 | <a name="l01528"></a>01528 | |
380 | <a name="l01538"></a>01538 <span class="keywordtype">void</span> *<a class="code" href="a00044.html#gaeaa00714a9c4319bda0a74ca6f8720e8" title="Allocate some memory on the given nodeset nodeset.">hwloc_alloc_membind_nodeset</a>(hwloc_topology_t topology, <span class="keywordtype">size_t</span> len, hwloc_const_nodeset_t nodeset, <a class="code" href="a00044.html#gac9764f79505775d06407b40f5e4661e8" title="Memory binding policy.">hwloc_membind_policy_t</a> policy, <span class="keywordtype">int</span> flags) ; | |
381 | <a name="l01539"></a>01539 | |
382 | <a name="l01549"></a>01549 <span class="keywordtype">void</span> *<a class="code" href="a00044.html#ga221a7edc5d436300374fa16463f607e5" title="Allocate some memory on memory nodes near the given cpuset cpuset.">hwloc_alloc_membind</a>(hwloc_topology_t topology, <span class="keywordtype">size_t</span> len, hwloc_const_cpuset_t cpuset, <a class="code" href="a00044.html#gac9764f79505775d06407b40f5e4661e8" title="Memory binding policy.">hwloc_membind_policy_t</a> policy, <span class="keywordtype">int</span> flags) ; | |
383 | <a name="l01550"></a>01550 | |
384 | <a name="l01554"></a>01554 <span class="keywordtype">int</span> <a class="code" href="a00044.html#ga986d9b4cc76da592c4b937c6cb7d9d56" title="Free memory that was previously allocated by hwloc_alloc() or hwloc_alloc_membind().">hwloc_free</a>(hwloc_topology_t topology, <span class="keywordtype">void</span> *addr, <span class="keywordtype">size_t</span> len); | |
385 | <a name="l01555"></a>01555 | |
386 | <a name="l01559"></a>01559 <span class="preprocessor">#ifdef __cplusplus</span> | |
387 | <a name="l01560"></a>01560 <span class="preprocessor"></span>} <span class="comment">/* extern "C" */</span> | |
388 | <a name="l01561"></a>01561 <span class="preprocessor">#endif</span> | |
389 | <a name="l01562"></a>01562 <span class="preprocessor"></span> | |
390 | <a name="l01563"></a>01563 | |
391 | <a name="l01564"></a>01564 <span class="comment">/* high-level helpers */</span> | |
392 | <a name="l01565"></a>01565 <span class="preprocessor">#include <hwloc/helper.h></span> | |
393 | <a name="l01566"></a>01566 | |
328 | <a name="l01012"></a>01012 <span class="keywordtype">int</span> <a class="code" href="a00043.html#gab52f83ab16eac465da55e16bdd30df77" title="Get current process or thread binding.">hwloc_get_cpubind</a>(hwloc_topology_t topology, hwloc_cpuset_t <span class="keyword">set</span>, <span class="keywordtype">int</span> flags); | |
329 | <a name="l01013"></a>01013 | |
330 | <a name="l01021"></a>01021 <span class="keywordtype">int</span> <a class="code" href="a00043.html#gac0ef3510b4e9c1273029ecf94e8c9686" title="Bind a process pid on cpus given in bitmap set.">hwloc_set_proc_cpubind</a>(hwloc_topology_t topology, hwloc_pid_t pid, hwloc_const_cpuset_t <span class="keyword">set</span>, <span class="keywordtype">int</span> flags); | |
331 | <a name="l01022"></a>01022 | |
332 | <a name="l01030"></a>01030 <span class="keywordtype">int</span> <a class="code" href="a00043.html#gaa1373a002b9a0a87eb002e26c590f2da" title="Get the current binding of process pid.">hwloc_get_proc_cpubind</a>(hwloc_topology_t topology, hwloc_pid_t pid, hwloc_cpuset_t <span class="keyword">set</span>, <span class="keywordtype">int</span> flags); | |
333 | <a name="l01031"></a>01031 | |
334 | <a name="l01032"></a>01032 <span class="preprocessor">#ifdef hwloc_thread_t</span> | |
335 | <a name="l01033"></a>01033 <span class="preprocessor"></span> | |
336 | <a name="l01040"></a>01040 <span class="keywordtype">int</span> <a class="code" href="a00043.html#ga2d6cca51524108966752609b6e725243" title="Bind a thread tid on cpus given in bitmap set.">hwloc_set_thread_cpubind</a>(hwloc_topology_t topology, hwloc_thread_t tid, hwloc_const_cpuset_t <span class="keyword">set</span>, <span class="keywordtype">int</span> flags); | |
337 | <a name="l01041"></a>01041 <span class="preprocessor">#endif</span> | |
338 | <a name="l01042"></a>01042 <span class="preprocessor"></span> | |
339 | <a name="l01043"></a>01043 <span class="preprocessor">#ifdef hwloc_thread_t</span> | |
340 | <a name="l01044"></a>01044 <span class="preprocessor"></span> | |
341 | <a name="l01051"></a>01051 <span class="keywordtype">int</span> <a class="code" href="a00043.html#ga58c49328c4213c9fbf8d80d5188d4c1e" title="Get the current binding of thread tid.">hwloc_get_thread_cpubind</a>(hwloc_topology_t topology, hwloc_thread_t tid, hwloc_cpuset_t <span class="keyword">set</span>, <span class="keywordtype">int</span> flags); | |
342 | <a name="l01052"></a>01052 <span class="preprocessor">#endif</span> | |
343 | <a name="l01053"></a>01053 <span class="preprocessor"></span> | |
344 | <a name="l01112"></a><a class="code" href="a00044.html#gac9764f79505775d06407b40f5e4661e8">01112</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> { | |
345 | <a name="l01113"></a><a class="code" href="a00044.html#ggac9764f79505775d06407b40f5e4661e8a18675bb80ebc1bce5b652e9de8f3998c">01113</a> <a class="code" href="a00044.html#ggac9764f79505775d06407b40f5e4661e8a18675bb80ebc1bce5b652e9de8f3998c" title="Reset the memory allocation policy to the system default.">HWLOC_MEMBIND_DEFAULT</a> = 0, | |
346 | <a name="l01115"></a><a class="code" href="a00044.html#ggac9764f79505775d06407b40f5e4661e8a979c7aa78dd32780858f30f47a72cca0">01115</a> <a class="code" href="a00044.html#ggac9764f79505775d06407b40f5e4661e8a979c7aa78dd32780858f30f47a72cca0" title="Allocate memory but do not immediately bind it to a specific locality. Instead, each page in the allo...">HWLOC_MEMBIND_FIRSTTOUCH</a> = 1, | |
347 | <a name="l01126"></a><a class="code" href="a00044.html#ggac9764f79505775d06407b40f5e4661e8ad811fa4b2a6002c4d63695a408ffde2c">01126</a> <a class="code" href="a00044.html#ggac9764f79505775d06407b40f5e4661e8ad811fa4b2a6002c4d63695a408ffde2c" title="Allocate memory on the specified nodes.">HWLOC_MEMBIND_BIND</a> = 2, | |
348 | <a name="l01128"></a><a class="code" href="a00044.html#ggac9764f79505775d06407b40f5e4661e8ae370075e5af016d42310f87ea5af236b">01128</a> <a class="code" href="a00044.html#ggac9764f79505775d06407b40f5e4661e8ae370075e5af016d42310f87ea5af236b" title="Allocate memory on the given nodes in an interleaved / round-robin manner. The precise layout of the ...">HWLOC_MEMBIND_INTERLEAVE</a> = 3, | |
349 | <a name="l01143"></a><a class="code" href="a00044.html#ggac9764f79505775d06407b40f5e4661e8afb37480fe5f4236eb7dd4aef26f691e9">01143</a> <a class="code" href="a00044.html#ggac9764f79505775d06407b40f5e4661e8afb37480fe5f4236eb7dd4aef26f691e9" title="Replicate memory on the given nodes; reads from this memory will attempt to be serviced from the NUMA...">HWLOC_MEMBIND_REPLICATE</a> = 4, | |
350 | <a name="l01165"></a><a class="code" href="a00044.html#ggac9764f79505775d06407b40f5e4661e8aecdd4164d647708fbb51a00d98dbb138">01165</a> <a class="code" href="a00044.html#ggac9764f79505775d06407b40f5e4661e8aecdd4164d647708fbb51a00d98dbb138" title="For each page bound with this policy, by next time it is touched (and next time only), it is moved from its current location to the local NUMA node of the thread where the memory reference occurred (if it needs to be moved at all).">HWLOC_MEMBIND_NEXTTOUCH</a> = 5, | |
351 | <a name="l01175"></a><a class="code" href="a00044.html#ggac9764f79505775d06407b40f5e4661e8a3185bd869b67817fb2bd5164bf360402">01175</a> <a class="code" href="a00044.html#ggac9764f79505775d06407b40f5e4661e8a3185bd869b67817fb2bd5164bf360402" title="Returned by hwloc_get_membind*() functions when multiple threads or parts of a memory area have diffe...">HWLOC_MEMBIND_MIXED</a> = -1 | |
352 | <a name="l01180"></a>01180 } <a class="code" href="a00044.html#gac9764f79505775d06407b40f5e4661e8" title="Memory binding policy.">hwloc_membind_policy_t</a>; | |
353 | <a name="l01181"></a>01181 | |
354 | <a name="l01193"></a><a class="code" href="a00044.html#gab00475fd98815bf4fb9aaf752030e7d2">01193</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> { | |
355 | <a name="l01194"></a><a class="code" href="a00044.html#ggab00475fd98815bf4fb9aaf752030e7d2a1b1b74aef138f64aff214a8cbdfe8eb4">01194</a> <a class="code" href="a00044.html#ggab00475fd98815bf4fb9aaf752030e7d2a1b1b74aef138f64aff214a8cbdfe8eb4" title="Set policy for all threads of the specified (possibly multithreaded) process. This flag is mutually e...">HWLOC_MEMBIND_PROCESS</a> = (1<<0), | |
356 | <a name="l01201"></a><a class="code" href="a00044.html#ggab00475fd98815bf4fb9aaf752030e7d2a1dc7dd5cdcd5796893a325a524555298">01201</a> <a class="code" href="a00044.html#ggab00475fd98815bf4fb9aaf752030e7d2a1dc7dd5cdcd5796893a325a524555298" title="Set policy for a specific thread of the current process. This flag is mutually exclusive with HWLOC_M...">HWLOC_MEMBIND_THREAD</a> = (1<<1), | |
357 | <a name="l01207"></a><a class="code" href="a00044.html#ggab00475fd98815bf4fb9aaf752030e7d2a0335311a0ee04166df2888d52b4a42c6">01207</a> <a class="code" href="a00044.html#ggab00475fd98815bf4fb9aaf752030e7d2a0335311a0ee04166df2888d52b4a42c6">HWLOC_MEMBIND_STRICT</a> = (1<<2), | |
358 | <a name="l01218"></a><a class="code" href="a00044.html#ggab00475fd98815bf4fb9aaf752030e7d2aa6e49e54f52827cb143cc869cfd748af">01218</a> <a class="code" href="a00044.html#ggab00475fd98815bf4fb9aaf752030e7d2aa6e49e54f52827cb143cc869cfd748af" title="Migrate existing allocated memory. If the memory cannot be migrated and the HWLOC_MEMBIND_STRICT flag...">HWLOC_MEMBIND_MIGRATE</a> = (1<<3), | |
359 | <a name="l01226"></a><a class="code" href="a00044.html#ggab00475fd98815bf4fb9aaf752030e7d2aad6b9eaf2ee324ca58dc8f58094b9997">01226</a> <a class="code" href="a00044.html#ggab00475fd98815bf4fb9aaf752030e7d2aad6b9eaf2ee324ca58dc8f58094b9997" title="Avoid any effect on CPU binding.">HWLOC_MEMBIND_NOCPUBIND</a> = (1<<4) | |
360 | <a name="l01249"></a>01249 } <a class="code" href="a00044.html#gab00475fd98815bf4fb9aaf752030e7d2" title="Memory binding flags.">hwloc_membind_flags_t</a>; | |
361 | <a name="l01250"></a>01250 | |
362 | <a name="l01263"></a>01263 <span class="keywordtype">int</span> <a class="code" href="a00044.html#ga747962cbb16fd12ad6d126011c734a27" title="Set the default memory binding policy of the current process or thread to prefer the NUMA node(s) spe...">hwloc_set_membind_nodeset</a>(hwloc_topology_t topology, hwloc_const_nodeset_t nodeset, <a class="code" href="a00044.html#gac9764f79505775d06407b40f5e4661e8" title="Memory binding policy.">hwloc_membind_policy_t</a> policy, <span class="keywordtype">int</span> flags); | |
363 | <a name="l01264"></a>01264 | |
364 | <a name="l01278"></a>01278 <span class="keywordtype">int</span> <a class="code" href="a00044.html#ga8b6d1d90227aff8e44ef26bc1f8a8f95" title="Set the default memory binding policy of the current process or thread to prefer the NUMA node(s) nea...">hwloc_set_membind</a>(hwloc_topology_t topology, hwloc_const_cpuset_t cpuset, <a class="code" href="a00044.html#gac9764f79505775d06407b40f5e4661e8" title="Memory binding policy.">hwloc_membind_policy_t</a> policy, <span class="keywordtype">int</span> flags); | |
365 | <a name="l01279"></a>01279 | |
366 | <a name="l01320"></a>01320 <span class="keywordtype">int</span> <a class="code" href="a00044.html#ga7b46a4ca0b2db9723ca73b0c148ccd93" title="Query the default memory binding policy and locality of the current process or thread.">hwloc_get_membind_nodeset</a>(hwloc_topology_t topology, hwloc_nodeset_t nodeset, <a class="code" href="a00044.html#gac9764f79505775d06407b40f5e4661e8" title="Memory binding policy.">hwloc_membind_policy_t</a> * policy, <span class="keywordtype">int</span> flags); | |
367 | <a name="l01321"></a>01321 | |
368 | <a name="l01367"></a>01367 <span class="keywordtype">int</span> <a class="code" href="a00044.html#gab07aedba1119f99130e5f0b796b7d8a5" title="Query the default memory binding policy and locality of the current process or thread (the locality i...">hwloc_get_membind</a>(hwloc_topology_t topology, hwloc_cpuset_t cpuset, <a class="code" href="a00044.html#gac9764f79505775d06407b40f5e4661e8" title="Memory binding policy.">hwloc_membind_policy_t</a> * policy, <span class="keywordtype">int</span> flags); | |
369 | <a name="l01368"></a>01368 | |
370 | <a name="l01375"></a>01375 <span class="keywordtype">int</span> <a class="code" href="a00044.html#gaf10d18cd4703ec980d7440a1c23fa07f" title="Set the default memory binding policy of the specified process to prefer the NUMA node(s) specified b...">hwloc_set_proc_membind_nodeset</a>(hwloc_topology_t topology, hwloc_pid_t pid, hwloc_const_nodeset_t nodeset, <a class="code" href="a00044.html#gac9764f79505775d06407b40f5e4661e8" title="Memory binding policy.">hwloc_membind_policy_t</a> policy, <span class="keywordtype">int</span> flags); | |
371 | <a name="l01376"></a>01376 | |
372 | <a name="l01383"></a>01383 <span class="keywordtype">int</span> <a class="code" href="a00044.html#gac63c4517e71b3f0d41b3dee3e83dc55c" title="Set the default memory binding policy of the specified process to prefer the NUMA node(s) near the sp...">hwloc_set_proc_membind</a>(hwloc_topology_t topology, hwloc_pid_t pid, hwloc_const_cpuset_t cpuset, <a class="code" href="a00044.html#gac9764f79505775d06407b40f5e4661e8" title="Memory binding policy.">hwloc_membind_policy_t</a> policy, <span class="keywordtype">int</span> flags); | |
373 | <a name="l01384"></a>01384 | |
374 | <a name="l01418"></a>01418 <span class="keywordtype">int</span> <a class="code" href="a00044.html#ga22074ed072e1039f74f17f7b16e9e39d" title="Query the default memory binding policy and locality of the specified process.">hwloc_get_proc_membind_nodeset</a>(hwloc_topology_t topology, hwloc_pid_t pid, hwloc_nodeset_t nodeset, <a class="code" href="a00044.html#gac9764f79505775d06407b40f5e4661e8" title="Memory binding policy.">hwloc_membind_policy_t</a> * policy, <span class="keywordtype">int</span> flags); | |
375 | <a name="l01419"></a>01419 | |
376 | <a name="l01456"></a>01456 <span class="keywordtype">int</span> <a class="code" href="a00044.html#gabaf9c13f1fa301d6895594cec52226e2" title="Query the default memory binding policy and locality of the specified process (the locality is return...">hwloc_get_proc_membind</a>(hwloc_topology_t topology, hwloc_pid_t pid, hwloc_cpuset_t cpuset, <a class="code" href="a00044.html#gac9764f79505775d06407b40f5e4661e8" title="Memory binding policy.">hwloc_membind_policy_t</a> * policy, <span class="keywordtype">int</span> flags); | |
377 | <a name="l01457"></a>01457 | |
378 | <a name="l01464"></a>01464 <span class="keywordtype">int</span> <a class="code" href="a00044.html#gade5e2c28ea8475a479bf2b1df36c6ccd" title="Bind the already-allocated memory identified by (addr, len) to the NUMA node(s) in nodeset...">hwloc_set_area_membind_nodeset</a>(hwloc_topology_t topology, <span class="keyword">const</span> <span class="keywordtype">void</span> *addr, <span class="keywordtype">size_t</span> len, hwloc_const_nodeset_t nodeset, <a class="code" href="a00044.html#gac9764f79505775d06407b40f5e4661e8" title="Memory binding policy.">hwloc_membind_policy_t</a> policy, <span class="keywordtype">int</span> flags); | |
379 | <a name="l01465"></a>01465 | |
380 | <a name="l01472"></a>01472 <span class="keywordtype">int</span> <a class="code" href="a00044.html#ga06594edeb4728cb9e014aed924d1e74a" title="Bind the already-allocated memory identified by (addr, len) to the NUMA node(s) near cpuset...">hwloc_set_area_membind</a>(hwloc_topology_t topology, <span class="keyword">const</span> <span class="keywordtype">void</span> *addr, <span class="keywordtype">size_t</span> len, hwloc_const_cpuset_t cpuset, <a class="code" href="a00044.html#gac9764f79505775d06407b40f5e4661e8" title="Memory binding policy.">hwloc_membind_policy_t</a> policy, <span class="keywordtype">int</span> flags); | |
381 | <a name="l01473"></a>01473 | |
382 | <a name="l01496"></a>01496 <span class="keywordtype">int</span> <a class="code" href="a00044.html#ga106e6fcd764d17be682faf7a5bc95720" title="Query the NUMA node(s) and binding policy of the memory identified by (addr, len ).">hwloc_get_area_membind_nodeset</a>(hwloc_topology_t topology, <span class="keyword">const</span> <span class="keywordtype">void</span> *addr, <span class="keywordtype">size_t</span> len, hwloc_nodeset_t nodeset, <a class="code" href="a00044.html#gac9764f79505775d06407b40f5e4661e8" title="Memory binding policy.">hwloc_membind_policy_t</a> * policy, <span class="keywordtype">int</span> flags); | |
383 | <a name="l01497"></a>01497 | |
384 | <a name="l01522"></a>01522 <span class="keywordtype">int</span> <a class="code" href="a00044.html#gac02ee8f7606382ea7855ae4e1656ed0f" title="Query the CPUs near the NUMA node(s) and binding policy of the memory identified by (addr...">hwloc_get_area_membind</a>(hwloc_topology_t topology, <span class="keyword">const</span> <span class="keywordtype">void</span> *addr, <span class="keywordtype">size_t</span> len, hwloc_cpuset_t cpuset, <a class="code" href="a00044.html#gac9764f79505775d06407b40f5e4661e8" title="Memory binding policy.">hwloc_membind_policy_t</a> * policy, <span class="keywordtype">int</span> flags); | |
385 | <a name="l01523"></a>01523 | |
386 | <a name="l01531"></a>01531 <span class="keywordtype">void</span> *<a class="code" href="a00044.html#gac5586e58cf25c3596b7d4aa31ce13259" title="Allocate some memory.">hwloc_alloc</a>(hwloc_topology_t topology, <span class="keywordtype">size_t</span> len); | |
387 | <a name="l01532"></a>01532 | |
388 | <a name="l01542"></a>01542 <span class="keywordtype">void</span> *<a class="code" href="a00044.html#gaeaa00714a9c4319bda0a74ca6f8720e8" title="Allocate some memory on the given nodeset nodeset.">hwloc_alloc_membind_nodeset</a>(hwloc_topology_t topology, <span class="keywordtype">size_t</span> len, hwloc_const_nodeset_t nodeset, <a class="code" href="a00044.html#gac9764f79505775d06407b40f5e4661e8" title="Memory binding policy.">hwloc_membind_policy_t</a> policy, <span class="keywordtype">int</span> flags) ; | |
389 | <a name="l01543"></a>01543 | |
390 | <a name="l01553"></a>01553 <span class="keywordtype">void</span> *<a class="code" href="a00044.html#ga221a7edc5d436300374fa16463f607e5" title="Allocate some memory on memory nodes near the given cpuset cpuset.">hwloc_alloc_membind</a>(hwloc_topology_t topology, <span class="keywordtype">size_t</span> len, hwloc_const_cpuset_t cpuset, <a class="code" href="a00044.html#gac9764f79505775d06407b40f5e4661e8" title="Memory binding policy.">hwloc_membind_policy_t</a> policy, <span class="keywordtype">int</span> flags) ; | |
391 | <a name="l01554"></a>01554 | |
392 | <a name="l01558"></a>01558 <span class="keywordtype">int</span> <a class="code" href="a00044.html#ga986d9b4cc76da592c4b937c6cb7d9d56" title="Free memory that was previously allocated by hwloc_alloc() or hwloc_alloc_membind().">hwloc_free</a>(hwloc_topology_t topology, <span class="keywordtype">void</span> *addr, <span class="keywordtype">size_t</span> len); | |
393 | <a name="l01559"></a>01559 | |
394 | <a name="l01563"></a>01563 <span class="preprocessor">#ifdef __cplusplus</span> | |
395 | <a name="l01564"></a>01564 <span class="preprocessor"></span>} <span class="comment">/* extern "C" */</span> | |
396 | <a name="l01565"></a>01565 <span class="preprocessor">#endif</span> | |
397 | <a name="l01566"></a>01566 <span class="preprocessor"></span> | |
394 | 398 | <a name="l01567"></a>01567 |
395 | <a name="l01568"></a>01568 <span class="preprocessor">#endif </span><span class="comment">/* HWLOC_H */</span> | |
399 | <a name="l01568"></a>01568 <span class="comment">/* high-level helpers */</span> | |
400 | <a name="l01569"></a>01569 <span class="preprocessor">#include <hwloc/helper.h></span> | |
401 | <a name="l01570"></a>01570 | |
402 | <a name="l01571"></a>01571 | |
403 | <a name="l01572"></a>01572 <span class="preprocessor">#endif </span><span class="comment">/* HWLOC_H */</span> | |
396 | 404 | </pre></div></div> |
397 | 405 | </div> |
398 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
406 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
399 | 407 | <a href="http://www.doxygen.org/index.html"> |
400 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
408 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
401 | 409 | </body> |
402 | 410 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
17 | 28 | <li class="current"><a href="files.html"><span>Files</span></a></li> |
18 | 29 | </ul> |
19 | 30 | </div> |
20 | <div class="tabs2"> | |
31 | <div id="navrow2" class="tabs2"> | |
21 | 32 | <ul class="tablist"> |
22 | 33 | <li><a href="files.html"><span>File List</span></a></li> |
23 | 34 | </ul> |
375 | 386 | <a name="l00462"></a>00462 <span class="preprocessor">#endif </span><span class="comment">/* HWLOC_LINUX_NUMA_H */</span> |
376 | 387 | </pre></div></div> |
377 | 388 | </div> |
378 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
389 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
379 | 390 | <a href="http://www.doxygen.org/index.html"> |
380 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
391 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
381 | 392 | </body> |
382 | 393 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
17 | 28 | <li class="current"><a href="files.html"><span>Files</span></a></li> |
18 | 29 | </ul> |
19 | 30 | </div> |
20 | <div class="tabs2"> | |
31 | <div id="navrow2" class="tabs2"> | |
21 | 32 | <ul class="tablist"> |
22 | 33 | <li><a href="files.html"><span>File List</span></a></li> |
23 | 34 | </ul> |
60 | 71 | <a name="l00064"></a>00064 <span class="preprocessor">#endif </span><span class="comment">/* HWLOC_GLIBC_SCHED_H */</span> |
61 | 72 | </pre></div></div> |
62 | 73 | </div> |
63 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
74 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
64 | 75 | <a href="http://www.doxygen.org/index.html"> |
65 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
76 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
66 | 77 | </body> |
67 | 78 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
17 | 28 | <li class="current"><a href="files.html"><span>Files</span></a></li> |
18 | 29 | </ul> |
19 | 30 | </div> |
20 | <div class="tabs2"> | |
31 | <div id="navrow2" class="tabs2"> | |
21 | 32 | <ul class="tablist"> |
22 | 33 | <li><a href="files.html"><span>File List</span></a></li> |
23 | 34 | </ul> |
29 | 40 | <div class="contents"> |
30 | 41 | <div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span> |
31 | 42 | <a name="l00002"></a>00002 <span class="comment"> * Copyright © 2010 INRIA</span> |
32 | <a name="l00003"></a>00003 <span class="comment"> * See COPYING in top-level directory.</span> | |
33 | <a name="l00004"></a>00004 <span class="comment"> */</span> | |
34 | <a name="l00005"></a>00005 | |
35 | <a name="l00014"></a>00014 <span class="preprocessor">#ifndef HWLOC_MYRIEXPRESS_H</span> | |
36 | <a name="l00015"></a>00015 <span class="preprocessor"></span><span class="preprocessor">#define HWLOC_MYRIEXPRESS_H</span> | |
37 | <a name="l00016"></a>00016 <span class="preprocessor"></span> | |
38 | <a name="l00017"></a>00017 <span class="preprocessor">#include <hwloc.h></span> | |
39 | <a name="l00018"></a>00018 <span class="preprocessor">#include <hwloc/config.h></span> | |
40 | <a name="l00019"></a>00019 <span class="preprocessor">#include <hwloc/linux.h></span> | |
41 | <a name="l00020"></a>00020 | |
42 | <a name="l00021"></a>00021 <span class="preprocessor">#include <myriexpress.h></span> | |
43 | <a name="l00022"></a>00022 | |
43 | <a name="l00003"></a>00003 <span class="comment"> * Copyright © 2011 Cisco Systems, Inc. All rights reserved.</span> | |
44 | <a name="l00004"></a>00004 <span class="comment"> * See COPYING in top-level directory.</span> | |
45 | <a name="l00005"></a>00005 <span class="comment"> */</span> | |
46 | <a name="l00006"></a>00006 | |
47 | <a name="l00015"></a>00015 <span class="preprocessor">#ifndef HWLOC_MYRIEXPRESS_H</span> | |
48 | <a name="l00016"></a>00016 <span class="preprocessor"></span><span class="preprocessor">#define HWLOC_MYRIEXPRESS_H</span> | |
49 | <a name="l00017"></a>00017 <span class="preprocessor"></span> | |
50 | <a name="l00018"></a>00018 <span class="preprocessor">#include <hwloc.h></span> | |
51 | <a name="l00019"></a>00019 <span class="preprocessor">#include <hwloc/autogen/config.h></span> | |
52 | <a name="l00020"></a>00020 <span class="preprocessor">#include <hwloc/linux.h></span> | |
53 | <a name="l00021"></a>00021 | |
54 | <a name="l00022"></a>00022 <span class="preprocessor">#include <myriexpress.h></span> | |
44 | 55 | <a name="l00023"></a>00023 |
45 | <a name="l00024"></a>00024 <span class="preprocessor">#ifdef __cplusplus</span> | |
46 | <a name="l00025"></a>00025 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> { | |
47 | <a name="l00026"></a>00026 <span class="preprocessor">#endif</span> | |
48 | <a name="l00027"></a>00027 <span class="preprocessor"></span> | |
49 | <a name="l00028"></a>00028 | |
50 | <a name="l00039"></a>00039 <span class="keyword">static</span> inline <span class="keywordtype">int</span> | |
51 | <a name="l00040"></a><a class="code" href="a00065.html#ga87f4746d0cad579ce4e86b98088f22a1">00040</a> <a class="code" href="a00065.html#ga87f4746d0cad579ce4e86b98088f22a1" title="Get the CPU set of logical processors that are physically close the MX board id.">hwloc_mx_board_get_device_cpuset</a>(<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology, | |
52 | <a name="l00041"></a>00041 <span class="keywordtype">unsigned</span> <span class="keywordtype">id</span>, <a class="code" href="a00034.html#ga4bbf39b68b6f568fb92739e7c0ea7801" title="A CPU set is a bitmap whose bits are set according to CPU physical OS indexes.">hwloc_cpuset_t</a> <span class="keyword">set</span>) | |
53 | <a name="l00042"></a>00042 { | |
54 | <a name="l00043"></a>00043 uint32_t in, out; | |
55 | <a name="l00044"></a>00044 | |
56 | <a name="l00045"></a>00045 in = id; | |
57 | <a name="l00046"></a>00046 <span class="keywordflow">if</span> (mx_get_info(NULL, MX_NUMA_NODE, &in, <span class="keyword">sizeof</span>(in), &out, <span class="keyword">sizeof</span>(out)) != MX_SUCCESS) { | |
58 | <a name="l00047"></a>00047 errno = EINVAL; | |
59 | <a name="l00048"></a>00048 <span class="keywordflow">return</span> -1; | |
60 | <a name="l00049"></a>00049 } | |
61 | <a name="l00050"></a>00050 | |
62 | <a name="l00051"></a>00051 <span class="keywordflow">if</span> (out != (uint32_t) -1) { | |
63 | <a name="l00052"></a>00052 <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> obj = NULL; | |
64 | <a name="l00053"></a>00053 <span class="keywordflow">while</span> ((obj = <a class="code" href="a00046.html#ga5f08ceb69375341e73563cfe2e77534e" title="Returns the next object of type type.">hwloc_get_next_obj_by_type</a>(topology, <a class="code" href="a00035.html#ggacd37bb612667dc437d66bfb175a8dc55aaf0964881117bdedf1a5e9332cd120dd" title="NUMA node. A set of processors around memory which the processors can directly access.">HWLOC_OBJ_NODE</a>, obj)) != NULL) | |
65 | <a name="l00054"></a>00054 <span class="keywordflow">if</span> (obj-><a class="code" href="a00012.html#a61a7a80a68eaccbaaa28269e678c81a9" title="OS-provided physical index number.">os_index</a> == out) { | |
66 | <a name="l00055"></a>00055 <a class="code" href="a00056.html#gab14743355fa03b36cef521cbcd2fbf64" title="Copy the contents of bitmap src into the already allocated bitmap dst.">hwloc_bitmap_copy</a>(<span class="keyword">set</span>, obj-><a class="code" href="a00012.html#a67925e0f2c47f50408fbdb9bddd0790f" title="CPUs covered by this object.">cpuset</a>); | |
67 | <a name="l00056"></a>00056 <span class="keywordflow">goto</span> out; | |
68 | <a name="l00057"></a>00057 } | |
69 | <a name="l00058"></a>00058 } | |
70 | <a name="l00059"></a>00059 <span class="comment">/* fallback to the full topology cpuset */</span> | |
71 | <a name="l00060"></a>00060 <a class="code" href="a00056.html#gab14743355fa03b36cef521cbcd2fbf64" title="Copy the contents of bitmap src into the already allocated bitmap dst.">hwloc_bitmap_copy</a>(<span class="keyword">set</span>, <a class="code" href="a00053.html#ga75f0ac3ac41e9915541c3ae3153a6e26" title="Get complete CPU set.">hwloc_topology_get_complete_cpuset</a>(topology)); | |
72 | <a name="l00061"></a>00061 | |
73 | <a name="l00062"></a>00062 out: | |
74 | <a name="l00063"></a>00063 <span class="keywordflow">return</span> 0; | |
75 | <a name="l00064"></a>00064 } | |
76 | <a name="l00065"></a>00065 | |
77 | <a name="l00072"></a>00072 <span class="keyword">static</span> inline <span class="keywordtype">int</span> | |
78 | <a name="l00073"></a><a class="code" href="a00065.html#ga2ff7763b9c2c5975f9a2e3d638351535">00073</a> <a class="code" href="a00065.html#ga2ff7763b9c2c5975f9a2e3d638351535" title="Get the CPU set of logical processors that are physically close to endpoint endpoint.">hwloc_mx_endpoint_get_device_cpuset</a>(<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology, | |
79 | <a name="l00074"></a>00074 mx_endpoint_t endpoint, <a class="code" href="a00034.html#ga4bbf39b68b6f568fb92739e7c0ea7801" title="A CPU set is a bitmap whose bits are set according to CPU physical OS indexes.">hwloc_cpuset_t</a> <span class="keyword">set</span>) | |
80 | <a name="l00075"></a>00075 { | |
81 | <a name="l00076"></a>00076 uint64_t nid; | |
82 | <a name="l00077"></a>00077 uint32_t nindex, eid; | |
83 | <a name="l00078"></a>00078 mx_endpoint_addr_t eaddr; | |
84 | <a name="l00079"></a>00079 | |
85 | <a name="l00080"></a>00080 <span class="keywordflow">if</span> (mx_get_endpoint_addr(endpoint, &eaddr) != MX_SUCCESS) { | |
86 | <a name="l00081"></a>00081 errno = EINVAL; | |
87 | <a name="l00082"></a>00082 <span class="keywordflow">return</span> -1; | |
88 | <a name="l00083"></a>00083 } | |
89 | <a name="l00084"></a>00084 | |
90 | <a name="l00085"></a>00085 <span class="keywordflow">if</span> (mx_decompose_endpoint_addr(eaddr, &nid, &eid) != MX_SUCCESS) { | |
91 | <a name="l00086"></a>00086 errno = EINVAL; | |
92 | <a name="l00087"></a>00087 <span class="keywordflow">return</span> -1; | |
93 | <a name="l00088"></a>00088 } | |
94 | <a name="l00089"></a>00089 | |
95 | <a name="l00090"></a>00090 <span class="keywordflow">if</span> (mx_nic_id_to_board_number(nid, &nindex) != MX_SUCCESS) { | |
96 | <a name="l00091"></a>00091 errno = EINVAL; | |
97 | <a name="l00092"></a>00092 <span class="keywordflow">return</span> -1; | |
98 | <a name="l00093"></a>00093 } | |
99 | <a name="l00094"></a>00094 | |
100 | <a name="l00095"></a>00095 <span class="keywordflow">return</span> <a class="code" href="a00065.html#ga87f4746d0cad579ce4e86b98088f22a1" title="Get the CPU set of logical processors that are physically close the MX board id.">hwloc_mx_board_get_device_cpuset</a>(topology, nindex, <span class="keyword">set</span>); | |
101 | <a name="l00096"></a>00096 } | |
102 | <a name="l00097"></a>00097 | |
103 | <a name="l00101"></a>00101 <span class="preprocessor">#ifdef __cplusplus</span> | |
104 | <a name="l00102"></a>00102 <span class="preprocessor"></span>} <span class="comment">/* extern "C" */</span> | |
105 | <a name="l00103"></a>00103 <span class="preprocessor">#endif</span> | |
106 | <a name="l00104"></a>00104 <span class="preprocessor"></span> | |
107 | <a name="l00105"></a>00105 | |
108 | <a name="l00106"></a>00106 <span class="preprocessor">#endif </span><span class="comment">/* HWLOC_MYRIEXPRESS_H */</span> | |
56 | <a name="l00024"></a>00024 | |
57 | <a name="l00025"></a>00025 <span class="preprocessor">#ifdef __cplusplus</span> | |
58 | <a name="l00026"></a>00026 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> { | |
59 | <a name="l00027"></a>00027 <span class="preprocessor">#endif</span> | |
60 | <a name="l00028"></a>00028 <span class="preprocessor"></span> | |
61 | <a name="l00029"></a>00029 | |
62 | <a name="l00040"></a>00040 <span class="keyword">static</span> inline <span class="keywordtype">int</span> | |
63 | <a name="l00041"></a><a class="code" href="a00065.html#ga87f4746d0cad579ce4e86b98088f22a1">00041</a> <a class="code" href="a00065.html#ga87f4746d0cad579ce4e86b98088f22a1" title="Get the CPU set of logical processors that are physically close the MX board id.">hwloc_mx_board_get_device_cpuset</a>(<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology, | |
64 | <a name="l00042"></a>00042 <span class="keywordtype">unsigned</span> <span class="keywordtype">id</span>, <a class="code" href="a00034.html#ga4bbf39b68b6f568fb92739e7c0ea7801" title="A CPU set is a bitmap whose bits are set according to CPU physical OS indexes.">hwloc_cpuset_t</a> <span class="keyword">set</span>) | |
65 | <a name="l00043"></a>00043 { | |
66 | <a name="l00044"></a>00044 uint32_t in, out; | |
67 | <a name="l00045"></a>00045 | |
68 | <a name="l00046"></a>00046 in = id; | |
69 | <a name="l00047"></a>00047 <span class="keywordflow">if</span> (mx_get_info(NULL, MX_NUMA_NODE, &in, <span class="keyword">sizeof</span>(in), &out, <span class="keyword">sizeof</span>(out)) != MX_SUCCESS) { | |
70 | <a name="l00048"></a>00048 errno = EINVAL; | |
71 | <a name="l00049"></a>00049 <span class="keywordflow">return</span> -1; | |
72 | <a name="l00050"></a>00050 } | |
73 | <a name="l00051"></a>00051 | |
74 | <a name="l00052"></a>00052 <span class="keywordflow">if</span> (out != (uint32_t) -1) { | |
75 | <a name="l00053"></a>00053 <a class="code" href="a00012.html" title="Structure of a topology object.">hwloc_obj_t</a> obj = NULL; | |
76 | <a name="l00054"></a>00054 <span class="keywordflow">while</span> ((obj = <a class="code" href="a00046.html#ga5f08ceb69375341e73563cfe2e77534e" title="Returns the next object of type type.">hwloc_get_next_obj_by_type</a>(topology, <a class="code" href="a00035.html#ggacd37bb612667dc437d66bfb175a8dc55aaf0964881117bdedf1a5e9332cd120dd" title="NUMA node. A set of processors around memory which the processors can directly access.">HWLOC_OBJ_NODE</a>, obj)) != NULL) | |
77 | <a name="l00055"></a>00055 <span class="keywordflow">if</span> (obj-><a class="code" href="a00012.html#a61a7a80a68eaccbaaa28269e678c81a9" title="OS-provided physical index number.">os_index</a> == out) { | |
78 | <a name="l00056"></a>00056 <a class="code" href="a00056.html#gab14743355fa03b36cef521cbcd2fbf64" title="Copy the contents of bitmap src into the already allocated bitmap dst.">hwloc_bitmap_copy</a>(<span class="keyword">set</span>, obj-><a class="code" href="a00012.html#a67925e0f2c47f50408fbdb9bddd0790f" title="CPUs covered by this object.">cpuset</a>); | |
79 | <a name="l00057"></a>00057 <span class="keywordflow">goto</span> out; | |
80 | <a name="l00058"></a>00058 } | |
81 | <a name="l00059"></a>00059 } | |
82 | <a name="l00060"></a>00060 <span class="comment">/* fallback to the full topology cpuset */</span> | |
83 | <a name="l00061"></a>00061 <a class="code" href="a00056.html#gab14743355fa03b36cef521cbcd2fbf64" title="Copy the contents of bitmap src into the already allocated bitmap dst.">hwloc_bitmap_copy</a>(<span class="keyword">set</span>, <a class="code" href="a00053.html#ga75f0ac3ac41e9915541c3ae3153a6e26" title="Get complete CPU set.">hwloc_topology_get_complete_cpuset</a>(topology)); | |
84 | <a name="l00062"></a>00062 | |
85 | <a name="l00063"></a>00063 out: | |
86 | <a name="l00064"></a>00064 <span class="keywordflow">return</span> 0; | |
87 | <a name="l00065"></a>00065 } | |
88 | <a name="l00066"></a>00066 | |
89 | <a name="l00073"></a>00073 <span class="keyword">static</span> inline <span class="keywordtype">int</span> | |
90 | <a name="l00074"></a><a class="code" href="a00065.html#ga2ff7763b9c2c5975f9a2e3d638351535">00074</a> <a class="code" href="a00065.html#ga2ff7763b9c2c5975f9a2e3d638351535" title="Get the CPU set of logical processors that are physically close to endpoint endpoint.">hwloc_mx_endpoint_get_device_cpuset</a>(<a class="code" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38" title="Topology context.">hwloc_topology_t</a> topology, | |
91 | <a name="l00075"></a>00075 mx_endpoint_t endpoint, <a class="code" href="a00034.html#ga4bbf39b68b6f568fb92739e7c0ea7801" title="A CPU set is a bitmap whose bits are set according to CPU physical OS indexes.">hwloc_cpuset_t</a> <span class="keyword">set</span>) | |
92 | <a name="l00076"></a>00076 { | |
93 | <a name="l00077"></a>00077 uint64_t nid; | |
94 | <a name="l00078"></a>00078 uint32_t nindex, eid; | |
95 | <a name="l00079"></a>00079 mx_endpoint_addr_t eaddr; | |
96 | <a name="l00080"></a>00080 | |
97 | <a name="l00081"></a>00081 <span class="keywordflow">if</span> (mx_get_endpoint_addr(endpoint, &eaddr) != MX_SUCCESS) { | |
98 | <a name="l00082"></a>00082 errno = EINVAL; | |
99 | <a name="l00083"></a>00083 <span class="keywordflow">return</span> -1; | |
100 | <a name="l00084"></a>00084 } | |
101 | <a name="l00085"></a>00085 | |
102 | <a name="l00086"></a>00086 <span class="keywordflow">if</span> (mx_decompose_endpoint_addr(eaddr, &nid, &eid) != MX_SUCCESS) { | |
103 | <a name="l00087"></a>00087 errno = EINVAL; | |
104 | <a name="l00088"></a>00088 <span class="keywordflow">return</span> -1; | |
105 | <a name="l00089"></a>00089 } | |
106 | <a name="l00090"></a>00090 | |
107 | <a name="l00091"></a>00091 <span class="keywordflow">if</span> (mx_nic_id_to_board_number(nid, &nindex) != MX_SUCCESS) { | |
108 | <a name="l00092"></a>00092 errno = EINVAL; | |
109 | <a name="l00093"></a>00093 <span class="keywordflow">return</span> -1; | |
110 | <a name="l00094"></a>00094 } | |
111 | <a name="l00095"></a>00095 | |
112 | <a name="l00096"></a>00096 <span class="keywordflow">return</span> <a class="code" href="a00065.html#ga87f4746d0cad579ce4e86b98088f22a1" title="Get the CPU set of logical processors that are physically close the MX board id.">hwloc_mx_board_get_device_cpuset</a>(topology, nindex, <span class="keyword">set</span>); | |
113 | <a name="l00097"></a>00097 } | |
114 | <a name="l00098"></a>00098 | |
115 | <a name="l00102"></a>00102 <span class="preprocessor">#ifdef __cplusplus</span> | |
116 | <a name="l00103"></a>00103 <span class="preprocessor"></span>} <span class="comment">/* extern "C" */</span> | |
117 | <a name="l00104"></a>00104 <span class="preprocessor">#endif</span> | |
118 | <a name="l00105"></a>00105 <span class="preprocessor"></span> | |
119 | <a name="l00106"></a>00106 | |
120 | <a name="l00107"></a>00107 <span class="preprocessor">#endif </span><span class="comment">/* HWLOC_MYRIEXPRESS_H */</span> | |
109 | 121 | </pre></div></div> |
110 | 122 | </div> |
111 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
123 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
112 | 124 | <a href="http://www.doxygen.org/index.html"> |
113 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
125 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
114 | 126 | </body> |
115 | 127 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
17 | 28 | <li class="current"><a href="files.html"><span>Files</span></a></li> |
18 | 29 | </ul> |
19 | 30 | </div> |
20 | <div class="tabs2"> | |
31 | <div id="navrow2" class="tabs2"> | |
21 | 32 | <ul class="tablist"> |
22 | 33 | <li><a href="files.html"><span>File List</span></a></li> |
23 | 34 | </ul> |
31 | 42 | <a name="l00002"></a>00002 <span class="comment"> * Copyright © 2009 CNRS</span> |
32 | 43 | <a name="l00003"></a>00003 <span class="comment"> * Copyright © 2009-2010 INRIA</span> |
33 | 44 | <a name="l00004"></a>00004 <span class="comment"> * Copyright © 2009-2010 Université Bordeaux 1</span> |
34 | <a name="l00005"></a>00005 <span class="comment"> * Copyright © 2009 Cisco Systems, Inc. All rights reserved.</span> | |
45 | <a name="l00005"></a>00005 <span class="comment"> * Copyright © 2009-2011 Cisco Systems, Inc. All rights reserved.</span> | |
35 | 46 | <a name="l00006"></a>00006 <span class="comment"> * See COPYING in top-level directory.</span> |
36 | 47 | <a name="l00007"></a>00007 <span class="comment"> */</span> |
37 | 48 | <a name="l00008"></a>00008 |
39 | 50 | <a name="l00020"></a>00020 <span class="preprocessor"></span><span class="preprocessor">#define HWLOC_OPENFABRICS_VERBS_H</span> |
40 | 51 | <a name="l00021"></a>00021 <span class="preprocessor"></span> |
41 | 52 | <a name="l00022"></a>00022 <span class="preprocessor">#include <hwloc.h></span> |
42 | <a name="l00023"></a>00023 <span class="preprocessor">#include <hwloc/config.h></span> | |
53 | <a name="l00023"></a>00023 <span class="preprocessor">#include <hwloc/autogen/config.h></span> | |
43 | 54 | <a name="l00024"></a>00024 <span class="preprocessor">#include <hwloc/linux.h></span> |
44 | 55 | <a name="l00025"></a>00025 |
45 | 56 | <a name="l00026"></a>00026 <span class="preprocessor">#include <infiniband/verbs.h></span> |
85 | 96 | <a name="l00081"></a>00081 <span class="preprocessor">#endif </span><span class="comment">/* HWLOC_OPENFABRICS_VERBS_H */</span> |
86 | 97 | </pre></div></div> |
87 | 98 | </div> |
88 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
99 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
89 | 100 | <a href="http://www.doxygen.org/index.html"> |
90 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
101 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
91 | 102 | </body> |
92 | 103 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
59 | 70 | <td class="memname"> unsigned hwloc_get_api_version </td> |
60 | 71 | <td>(</td> |
61 | 72 | <td class="paramtype">void </td> |
62 | <td class="paramname"> )</td> | |
73 | <td class="paramname"></td><td>)</td> | |
63 | 74 | <td></td> |
64 | 75 | </tr> |
65 | 76 | </table> |
71 | 82 | </div> |
72 | 83 | </div> |
73 | 84 | </div> |
74 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
85 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
75 | 86 | <a href="http://www.doxygen.org/index.html"> |
76 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
87 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
77 | 88 | </body> |
78 | 89 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
48 | 59 | </div> |
49 | 60 | </div> |
50 | 61 | </div> |
51 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
62 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
52 | 63 | <a href="http://www.doxygen.org/index.html"> |
53 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
64 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
54 | 65 | </body> |
55 | 66 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
102 | 113 | </div> |
103 | 114 | </div> |
104 | 115 | </div> |
105 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
116 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
106 | 117 | <a href="http://www.doxygen.org/index.html"> |
107 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
118 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
108 | 119 | </body> |
109 | 120 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
128 | 139 | <td class="memname"> int hwloc_compare_types </td> |
129 | 140 | <td>(</td> |
130 | 141 | <td class="paramtype"><a class="el" href="a00035.html#gacd37bb612667dc437d66bfb175a8dc55">hwloc_obj_type_t</a> </td> |
131 | <td class="paramname"> <em>type1</em>, </td> | |
142 | <td class="paramname"><em>type1</em>, </td> | |
132 | 143 | </tr> |
133 | 144 | <tr> |
134 | 145 | <td class="paramkey"></td> |
135 | 146 | <td></td> |
136 | 147 | <td class="paramtype"><a class="el" href="a00035.html#gacd37bb612667dc437d66bfb175a8dc55">hwloc_obj_type_t</a> </td> |
137 | <td class="paramname"> <em>type2</em> </td> | |
148 | <td class="paramname"><em>type2</em> </td> | |
138 | 149 | </tr> |
139 | 150 | <tr> |
140 | 151 | <td></td> |
154 | 165 | </div> |
155 | 166 | </div> |
156 | 167 | </div> |
157 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
168 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
158 | 169 | <a href="http://www.doxygen.org/index.html"> |
159 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
170 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
160 | 171 | </body> |
161 | 172 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
58 | 69 | </div> |
59 | 70 | </div> |
60 | 71 | </div> |
61 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
72 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
62 | 73 | <a href="http://www.doxygen.org/index.html"> |
63 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
74 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
64 | 75 | </body> |
65 | 76 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
42 | 53 | <td class="memname"> void hwloc_topology_check </td> |
43 | 54 | <td>(</td> |
44 | 55 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
45 | <td class="paramname"> <em>topology</em> )</td> | |
56 | <td class="paramname"><em>topology</em></td><td>)</td> | |
46 | 57 | <td></td> |
47 | 58 | </tr> |
48 | 59 | </table> |
67 | 78 | <td class="memname"> void hwloc_topology_destroy </td> |
68 | 79 | <td>(</td> |
69 | 80 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
70 | <td class="paramname"> <em>topology</em> )</td> | |
81 | <td class="paramname"><em>topology</em></td><td>)</td> | |
71 | 82 | <td></td> |
72 | 83 | </tr> |
73 | 84 | </table> |
92 | 103 | <td class="memname"> int hwloc_topology_init </td> |
93 | 104 | <td>(</td> |
94 | 105 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> * </td> |
95 | <td class="paramname"> <em>topologyp</em> )</td> | |
106 | <td class="paramname"><em>topologyp</em></td><td>)</td> | |
96 | 107 | <td></td> |
97 | 108 | </tr> |
98 | 109 | </table> |
118 | 129 | <td class="memname"> int hwloc_topology_load </td> |
119 | 130 | <td>(</td> |
120 | 131 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
121 | <td class="paramname"> <em>topology</em> )</td> | |
132 | <td class="paramname"><em>topology</em></td><td>)</td> | |
122 | 133 | <td></td> |
123 | 134 | </tr> |
124 | 135 | </table> |
139 | 150 | </div> |
140 | 151 | </div> |
141 | 152 | </div> |
142 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
153 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
143 | 154 | <a href="http://www.doxygen.org/index.html"> |
144 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
155 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
145 | 156 | </body> |
146 | 157 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
101 | 112 | <td class="memname"> struct <a class="el" href="a00020.html">hwloc_topology_support</a>* hwloc_topology_get_support </td> |
102 | 113 | <td>(</td> |
103 | 114 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> restrict </td> |
104 | <td class="paramname"> <em>topology</em> )</td> | |
115 | <td class="paramname"><em>topology</em></td><td>)</td> | |
105 | 116 | <td><code> [read]</code></td> |
106 | 117 | </tr> |
107 | 118 | </table> |
120 | 131 | <td class="memname"> int hwloc_topology_ignore_all_keep_structure </td> |
121 | 132 | <td>(</td> |
122 | 133 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
123 | <td class="paramname"> <em>topology</em> )</td> | |
134 | <td class="paramname"><em>topology</em></td><td>)</td> | |
124 | 135 | <td></td> |
125 | 136 | </tr> |
126 | 137 | </table> |
140 | 151 | <td class="memname"> int hwloc_topology_ignore_type </td> |
141 | 152 | <td>(</td> |
142 | 153 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
143 | <td class="paramname"> <em>topology</em>, </td> | |
154 | <td class="paramname"><em>topology</em>, </td> | |
144 | 155 | </tr> |
145 | 156 | <tr> |
146 | 157 | <td class="paramkey"></td> |
147 | 158 | <td></td> |
148 | 159 | <td class="paramtype"><a class="el" href="a00035.html#gacd37bb612667dc437d66bfb175a8dc55">hwloc_obj_type_t</a> </td> |
149 | <td class="paramname"> <em>type</em> </td> | |
160 | <td class="paramname"><em>type</em> </td> | |
150 | 161 | </tr> |
151 | 162 | <tr> |
152 | 163 | <td></td> |
170 | 181 | <td class="memname"> int hwloc_topology_ignore_type_keep_structure </td> |
171 | 182 | <td>(</td> |
172 | 183 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
173 | <td class="paramname"> <em>topology</em>, </td> | |
184 | <td class="paramname"><em>topology</em>, </td> | |
174 | 185 | </tr> |
175 | 186 | <tr> |
176 | 187 | <td class="paramkey"></td> |
177 | 188 | <td></td> |
178 | 189 | <td class="paramtype"><a class="el" href="a00035.html#gacd37bb612667dc437d66bfb175a8dc55">hwloc_obj_type_t</a> </td> |
179 | <td class="paramname"> <em>type</em> </td> | |
190 | <td class="paramname"><em>type</em> </td> | |
180 | 191 | </tr> |
181 | 192 | <tr> |
182 | 193 | <td></td> |
200 | 211 | <td class="memname"> int hwloc_topology_set_flags </td> |
201 | 212 | <td>(</td> |
202 | 213 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
203 | <td class="paramname"> <em>topology</em>, </td> | |
214 | <td class="paramname"><em>topology</em>, </td> | |
204 | 215 | </tr> |
205 | 216 | <tr> |
206 | 217 | <td class="paramkey"></td> |
207 | 218 | <td></td> |
208 | 219 | <td class="paramtype">unsigned long </td> |
209 | <td class="paramname"> <em>flags</em> </td> | |
220 | <td class="paramname"><em>flags</em> </td> | |
210 | 221 | </tr> |
211 | 222 | <tr> |
212 | 223 | <td></td> |
218 | 229 | <div class="memdoc"> |
219 | 230 | |
220 | 231 | <p>Set OR'ed flags to non-yet-loaded topology. </p> |
221 | <p>Set a OR'ed set of hwloc_topology_flags_e onto a topology that was not yet loaded. </p> | |
232 | <p>Set a OR'ed set of <a class="el" href="a00038.html#gada025d3ec20b4b420f8038d23d6e7bde" title="Flags to be set onto a topology context before load.">hwloc_topology_flags_e</a> onto a topology that was not yet loaded. </p> | |
222 | 233 | |
223 | 234 | </div> |
224 | 235 | </div> |
230 | 241 | <td class="memname"> int hwloc_topology_set_fsroot </td> |
231 | 242 | <td>(</td> |
232 | 243 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> restrict </td> |
233 | <td class="paramname"> <em>topology</em>, </td> | |
244 | <td class="paramname"><em>topology</em>, </td> | |
234 | 245 | </tr> |
235 | 246 | <tr> |
236 | 247 | <td class="paramkey"></td> |
237 | 248 | <td></td> |
238 | 249 | <td class="paramtype">const char *restrict </td> |
239 | <td class="paramname"> <em>fsroot_path</em> </td> | |
250 | <td class="paramname"><em>fsroot_path</em> </td> | |
240 | 251 | </tr> |
241 | 252 | <tr> |
242 | 253 | <td></td> |
261 | 272 | <td class="memname"> int hwloc_topology_set_pid </td> |
262 | 273 | <td>(</td> |
263 | 274 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> restrict </td> |
264 | <td class="paramname"> <em>topology</em>, </td> | |
275 | <td class="paramname"><em>topology</em>, </td> | |
265 | 276 | </tr> |
266 | 277 | <tr> |
267 | 278 | <td class="paramkey"></td> |
268 | 279 | <td></td> |
269 | 280 | <td class="paramtype">hwloc_pid_t </td> |
270 | <td class="paramname"> <em>pid</em> </td> | |
281 | <td class="paramname"><em>pid</em> </td> | |
271 | 282 | </tr> |
272 | 283 | <tr> |
273 | 284 | <td></td> |
294 | 305 | <td class="memname"> int hwloc_topology_set_synthetic </td> |
295 | 306 | <td>(</td> |
296 | 307 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> restrict </td> |
297 | <td class="paramname"> <em>topology</em>, </td> | |
308 | <td class="paramname"><em>topology</em>, </td> | |
298 | 309 | </tr> |
299 | 310 | <tr> |
300 | 311 | <td class="paramkey"></td> |
301 | 312 | <td></td> |
302 | 313 | <td class="paramtype">const char *restrict </td> |
303 | <td class="paramname"> <em>description</em> </td> | |
314 | <td class="paramname"><em>description</em> </td> | |
304 | 315 | </tr> |
305 | 316 | <tr> |
306 | 317 | <td></td> |
312 | 323 | <div class="memdoc"> |
313 | 324 | |
314 | 325 | <p>Enable synthetic topology. </p> |
315 | <p>Gather topology information from the given <code>description</code> which should be a comma separated string of numbers describing the arity of each level. Each number may be prefixed with a type and a colon to enforce the type of a level. If only some level types are enforced, hwloc will try to choose the other types according to usual topologies, but it may fail and you may have to specify more level types manually.</p> | |
326 | <p>Gather topology information from the given <code>description</code> which should be a space-separated string of numbers describing the arity of each level. Each number may be prefixed with a type and a colon to enforce the type of a level. If only some level types are enforced, hwloc will try to choose the other types according to usual topologies, but it may fail and you may have to specify more level types manually.</p> | |
327 | <p>If <code>description</code> was properly parsed and describes a valid topology configuration, this function returns 0. Otherwise -1 is returned and errno is set to EINVAL.</p> | |
316 | 328 | <dl class="note"><dt><b>Note:</b></dt><dd>For conveniency, this backend provides empty binding hooks which just return success. </dd></dl> |
317 | 329 | |
318 | 330 | </div> |
325 | 337 | <td class="memname"> int hwloc_topology_set_xml </td> |
326 | 338 | <td>(</td> |
327 | 339 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> restrict </td> |
328 | <td class="paramname"> <em>topology</em>, </td> | |
340 | <td class="paramname"><em>topology</em>, </td> | |
329 | 341 | </tr> |
330 | 342 | <tr> |
331 | 343 | <td class="paramkey"></td> |
332 | 344 | <td></td> |
333 | 345 | <td class="paramtype">const char *restrict </td> |
334 | <td class="paramname"> <em>xmlpath</em> </td> | |
346 | <td class="paramname"><em>xmlpath</em> </td> | |
335 | 347 | </tr> |
336 | 348 | <tr> |
337 | 349 | <td></td> |
356 | 368 | <td class="memname"> int hwloc_topology_set_xmlbuffer </td> |
357 | 369 | <td>(</td> |
358 | 370 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> restrict </td> |
359 | <td class="paramname"> <em>topology</em>, </td> | |
371 | <td class="paramname"><em>topology</em>, </td> | |
360 | 372 | </tr> |
361 | 373 | <tr> |
362 | 374 | <td class="paramkey"></td> |
363 | 375 | <td></td> |
364 | 376 | <td class="paramtype">const char *restrict </td> |
365 | <td class="paramname"> <em>buffer</em>, </td> | |
377 | <td class="paramname"><em>buffer</em>, </td> | |
366 | 378 | </tr> |
367 | 379 | <tr> |
368 | 380 | <td class="paramkey"></td> |
369 | 381 | <td></td> |
370 | 382 | <td class="paramtype">int </td> |
371 | <td class="paramname"> <em>size</em> </td> | |
383 | <td class="paramname"><em>size</em> </td> | |
372 | 384 | </tr> |
373 | 385 | <tr> |
374 | 386 | <td></td> |
385 | 397 | </div> |
386 | 398 | </div> |
387 | 399 | </div> |
388 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
400 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
389 | 401 | <a href="http://www.doxygen.org/index.html"> |
390 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
402 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
391 | 403 | </body> |
392 | 404 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
42 | 53 | <td class="memname"> void hwloc_topology_export_xml </td> |
43 | 54 | <td>(</td> |
44 | 55 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
45 | <td class="paramname"> <em>topology</em>, </td> | |
56 | <td class="paramname"><em>topology</em>, </td> | |
46 | 57 | </tr> |
47 | 58 | <tr> |
48 | 59 | <td class="paramkey"></td> |
49 | 60 | <td></td> |
50 | 61 | <td class="paramtype">const char * </td> |
51 | <td class="paramname"> <em>xmlpath</em> </td> | |
62 | <td class="paramname"><em>xmlpath</em> </td> | |
52 | 63 | </tr> |
53 | 64 | <tr> |
54 | 65 | <td></td> |
72 | 83 | <td class="memname"> void hwloc_topology_export_xmlbuffer </td> |
73 | 84 | <td>(</td> |
74 | 85 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
75 | <td class="paramname"> <em>topology</em>, </td> | |
86 | <td class="paramname"><em>topology</em>, </td> | |
76 | 87 | </tr> |
77 | 88 | <tr> |
78 | 89 | <td class="paramkey"></td> |
79 | 90 | <td></td> |
80 | 91 | <td class="paramtype">char ** </td> |
81 | <td class="paramname"> <em>xmlbuffer</em>, </td> | |
92 | <td class="paramname"><em>xmlbuffer</em>, </td> | |
82 | 93 | </tr> |
83 | 94 | <tr> |
84 | 95 | <td class="paramkey"></td> |
85 | 96 | <td></td> |
86 | 97 | <td class="paramtype">int * </td> |
87 | <td class="paramname"> <em>buflen</em> </td> | |
98 | <td class="paramname"><em>buflen</em> </td> | |
88 | 99 | </tr> |
89 | 100 | <tr> |
90 | 101 | <td></td> |
109 | 120 | <td class="memname"> <a class="el" href="a00012.html">hwloc_obj_t</a> hwloc_topology_insert_misc_object_by_cpuset </td> |
110 | 121 | <td>(</td> |
111 | 122 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
112 | <td class="paramname"> <em>topology</em>, </td> | |
123 | <td class="paramname"><em>topology</em>, </td> | |
113 | 124 | </tr> |
114 | 125 | <tr> |
115 | 126 | <td class="paramkey"></td> |
116 | 127 | <td></td> |
117 | 128 | <td class="paramtype"><a class="el" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25">hwloc_const_cpuset_t</a> </td> |
118 | <td class="paramname"> <em>cpuset</em>, </td> | |
129 | <td class="paramname"><em>cpuset</em>, </td> | |
119 | 130 | </tr> |
120 | 131 | <tr> |
121 | 132 | <td class="paramkey"></td> |
122 | 133 | <td></td> |
123 | 134 | <td class="paramtype">const char * </td> |
124 | <td class="paramname"> <em>name</em> </td> | |
135 | <td class="paramname"><em>name</em> </td> | |
125 | 136 | </tr> |
126 | 137 | <tr> |
127 | 138 | <td></td> |
147 | 158 | <td class="memname"> <a class="el" href="a00012.html">hwloc_obj_t</a> hwloc_topology_insert_misc_object_by_parent </td> |
148 | 159 | <td>(</td> |
149 | 160 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
150 | <td class="paramname"> <em>topology</em>, </td> | |
161 | <td class="paramname"><em>topology</em>, </td> | |
151 | 162 | </tr> |
152 | 163 | <tr> |
153 | 164 | <td class="paramkey"></td> |
154 | 165 | <td></td> |
155 | 166 | <td class="paramtype"><a class="el" href="a00012.html">hwloc_obj_t</a> </td> |
156 | <td class="paramname"> <em>parent</em>, </td> | |
167 | <td class="paramname"><em>parent</em>, </td> | |
157 | 168 | </tr> |
158 | 169 | <tr> |
159 | 170 | <td class="paramkey"></td> |
160 | 171 | <td></td> |
161 | 172 | <td class="paramtype">const char * </td> |
162 | <td class="paramname"> <em>name</em> </td> | |
173 | <td class="paramname"><em>name</em> </td> | |
163 | 174 | </tr> |
164 | 175 | <tr> |
165 | 176 | <td></td> |
178 | 189 | </div> |
179 | 190 | </div> |
180 | 191 | </div> |
181 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
192 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
182 | 193 | <a href="http://www.doxygen.org/index.html"> |
183 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
194 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
184 | 195 | </body> |
185 | 196 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
75 | 86 | <td class="memname"> <a class="el" href="a00035.html#gacd37bb612667dc437d66bfb175a8dc55">hwloc_obj_type_t</a> hwloc_get_depth_type </td> |
76 | 87 | <td>(</td> |
77 | 88 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
78 | <td class="paramname"> <em>topology</em>, </td> | |
89 | <td class="paramname"><em>topology</em>, </td> | |
79 | 90 | </tr> |
80 | 91 | <tr> |
81 | 92 | <td class="paramkey"></td> |
82 | 93 | <td></td> |
83 | 94 | <td class="paramtype">unsigned </td> |
84 | <td class="paramname"> <em>depth</em> </td> | |
95 | <td class="paramname"><em>depth</em> </td> | |
85 | 96 | </tr> |
86 | 97 | <tr> |
87 | 98 | <td></td> |
105 | 116 | <td class="memname"> unsigned hwloc_get_nbobjs_by_depth </td> |
106 | 117 | <td>(</td> |
107 | 118 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
108 | <td class="paramname"> <em>topology</em>, </td> | |
119 | <td class="paramname"><em>topology</em>, </td> | |
109 | 120 | </tr> |
110 | 121 | <tr> |
111 | 122 | <td class="paramkey"></td> |
112 | 123 | <td></td> |
113 | 124 | <td class="paramtype">unsigned </td> |
114 | <td class="paramname"> <em>depth</em> </td> | |
125 | <td class="paramname"><em>depth</em> </td> | |
115 | 126 | </tr> |
116 | 127 | <tr> |
117 | 128 | <td></td> |
134 | 145 | <td class="memname">static inline int hwloc_get_nbobjs_by_type </td> |
135 | 146 | <td>(</td> |
136 | 147 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
137 | <td class="paramname"> <em>topology</em>, </td> | |
148 | <td class="paramname"><em>topology</em>, </td> | |
138 | 149 | </tr> |
139 | 150 | <tr> |
140 | 151 | <td class="paramkey"></td> |
141 | 152 | <td></td> |
142 | 153 | <td class="paramtype"><a class="el" href="a00035.html#gacd37bb612667dc437d66bfb175a8dc55">hwloc_obj_type_t</a> </td> |
143 | <td class="paramname"> <em>type</em> </td> | |
154 | <td class="paramname"><em>type</em> </td> | |
144 | 155 | </tr> |
145 | 156 | <tr> |
146 | 157 | <td></td> |
164 | 175 | <td class="memname"> int hwloc_get_type_depth </td> |
165 | 176 | <td>(</td> |
166 | 177 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
167 | <td class="paramname"> <em>topology</em>, </td> | |
178 | <td class="paramname"><em>topology</em>, </td> | |
168 | 179 | </tr> |
169 | 180 | <tr> |
170 | 181 | <td class="paramkey"></td> |
171 | 182 | <td></td> |
172 | 183 | <td class="paramtype"><a class="el" href="a00035.html#gacd37bb612667dc437d66bfb175a8dc55">hwloc_obj_type_t</a> </td> |
173 | <td class="paramname"> <em>type</em> </td> | |
184 | <td class="paramname"><em>type</em> </td> | |
174 | 185 | </tr> |
175 | 186 | <tr> |
176 | 187 | <td></td> |
183 | 194 | |
184 | 195 | <p>Returns the depth of objects of type <code>type</code>. </p> |
185 | 196 | <p>If no object of this type is present on the underlying architecture, or if the OS doesn't provide this kind of information, the function returns HWLOC_TYPE_DEPTH_UNKNOWN.</p> |
186 | <p>If type is absent but a similar type is acceptable, see also <a class="el" href="a00045.html#ga0ffafb4c0ae13b9a7541ca820ca34883" title="Returns the depth of objects of type type or below.">hwloc_get_type_or_below_depth()</a> and <a class="el" href="a00045.html#ga24b9cd5917fcebac6e45ae38d0a6cda4" title="Returns the depth of objects of type type or above.">hwloc_get_type_or_above_depth()</a>. </p> | |
197 | <p>If type is absent but a similar type is acceptable, see also <a class="el" href="a00045.html#ga0ffafb4c0ae13b9a7541ca820ca34883" title="Returns the depth of objects of type type or below.">hwloc_get_type_or_below_depth()</a> and <a class="el" href="a00045.html#ga24b9cd5917fcebac6e45ae38d0a6cda4" title="Returns the depth of objects of type type or above.">hwloc_get_type_or_above_depth()</a>.</p> | |
198 | <p>If some objects of the given type exist in different levels, for instance L1 and L2 caches, the function returns HWLOC_TYPE_DEPTH_MULTIPLE. </p> | |
187 | 199 | |
188 | 200 | </div> |
189 | 201 | </div> |
195 | 207 | <td class="memname"> unsigned hwloc_topology_get_depth </td> |
196 | 208 | <td>(</td> |
197 | 209 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> restrict </td> |
198 | <td class="paramname"> <em>topology</em> )</td> | |
210 | <td class="paramname"><em>topology</em></td><td>)</td> | |
199 | 211 | <td></td> |
200 | 212 | </tr> |
201 | 213 | </table> |
215 | 227 | <td class="memname"> int hwloc_topology_is_thissystem </td> |
216 | 228 | <td>(</td> |
217 | 229 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> restrict </td> |
218 | <td class="paramname"> <em>topology</em> )</td> | |
230 | <td class="paramname"><em>topology</em></td><td>)</td> | |
219 | 231 | <td></td> |
220 | 232 | </tr> |
221 | 233 | </table> |
230 | 242 | </div> |
231 | 243 | </div> |
232 | 244 | </div> |
233 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
245 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
234 | 246 | <a href="http://www.doxygen.org/index.html"> |
235 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
247 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
236 | 248 | </body> |
237 | 249 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
42 | 53 | <td class="memname"> <a class="el" href="a00012.html">hwloc_obj_t</a> hwloc_get_obj_by_depth </td> |
43 | 54 | <td>(</td> |
44 | 55 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
45 | <td class="paramname"> <em>topology</em>, </td> | |
56 | <td class="paramname"><em>topology</em>, </td> | |
46 | 57 | </tr> |
47 | 58 | <tr> |
48 | 59 | <td class="paramkey"></td> |
49 | 60 | <td></td> |
50 | 61 | <td class="paramtype">unsigned </td> |
51 | <td class="paramname"> <em>depth</em>, </td> | |
62 | <td class="paramname"><em>depth</em>, </td> | |
52 | 63 | </tr> |
53 | 64 | <tr> |
54 | 65 | <td class="paramkey"></td> |
55 | 66 | <td></td> |
56 | 67 | <td class="paramtype">unsigned </td> |
57 | <td class="paramname"> <em>idx</em> </td> | |
68 | <td class="paramname"><em>idx</em> </td> | |
58 | 69 | </tr> |
59 | 70 | <tr> |
60 | 71 | <td></td> |
77 | 88 | <td class="memname">static inline <a class="el" href="a00012.html">hwloc_obj_t</a> hwloc_get_obj_by_type </td> |
78 | 89 | <td>(</td> |
79 | 90 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
80 | <td class="paramname"> <em>topology</em>, </td> | |
91 | <td class="paramname"><em>topology</em>, </td> | |
81 | 92 | </tr> |
82 | 93 | <tr> |
83 | 94 | <td class="paramkey"></td> |
84 | 95 | <td></td> |
85 | 96 | <td class="paramtype"><a class="el" href="a00035.html#gacd37bb612667dc437d66bfb175a8dc55">hwloc_obj_type_t</a> </td> |
86 | <td class="paramname"> <em>type</em>, </td> | |
97 | <td class="paramname"><em>type</em>, </td> | |
87 | 98 | </tr> |
88 | 99 | <tr> |
89 | 100 | <td class="paramkey"></td> |
90 | 101 | <td></td> |
91 | 102 | <td class="paramtype">unsigned </td> |
92 | <td class="paramname"> <em>idx</em> </td> | |
103 | <td class="paramname"><em>idx</em> </td> | |
93 | 104 | </tr> |
94 | 105 | <tr> |
95 | 106 | <td></td> |
106 | 117 | </div> |
107 | 118 | </div> |
108 | 119 | </div> |
109 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
120 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
110 | 121 | <a href="http://www.doxygen.org/index.html"> |
111 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
122 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
112 | 123 | </body> |
113 | 124 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
46 | 57 | <td class="memname"> int hwloc_obj_attr_snprintf </td> |
47 | 58 | <td>(</td> |
48 | 59 | <td class="paramtype">char *restrict </td> |
49 | <td class="paramname"> <em>string</em>, </td> | |
50 | </tr> | |
51 | <tr> | |
52 | <td class="paramkey"></td> | |
53 | <td></td> | |
54 | <td class="paramtype">size_t </td> | |
55 | <td class="paramname"> <em>size</em>, </td> | |
60 | <td class="paramname"><em>string</em>, </td> | |
61 | </tr> | |
62 | <tr> | |
63 | <td class="paramkey"></td> | |
64 | <td></td> | |
65 | <td class="paramtype">size_t </td> | |
66 | <td class="paramname"><em>size</em>, </td> | |
56 | 67 | </tr> |
57 | 68 | <tr> |
58 | 69 | <td class="paramkey"></td> |
59 | 70 | <td></td> |
60 | 71 | <td class="paramtype"><a class="el" href="a00012.html">hwloc_obj_t</a> </td> |
61 | <td class="paramname"> <em>obj</em>, </td> | |
72 | <td class="paramname"><em>obj</em>, </td> | |
62 | 73 | </tr> |
63 | 74 | <tr> |
64 | 75 | <td class="paramkey"></td> |
65 | 76 | <td></td> |
66 | 77 | <td class="paramtype">const char *restrict </td> |
67 | <td class="paramname"> <em>separator</em>, </td> | |
78 | <td class="paramname"><em>separator</em>, </td> | |
68 | 79 | </tr> |
69 | 80 | <tr> |
70 | 81 | <td class="paramkey"></td> |
71 | 82 | <td></td> |
72 | 83 | <td class="paramtype">int </td> |
73 | <td class="paramname"> <em>verbose</em> </td> | |
84 | <td class="paramname"><em>verbose</em> </td> | |
74 | 85 | </tr> |
75 | 86 | <tr> |
76 | 87 | <td></td> |
97 | 108 | <td class="memname"> int hwloc_obj_cpuset_snprintf </td> |
98 | 109 | <td>(</td> |
99 | 110 | <td class="paramtype">char *restrict </td> |
100 | <td class="paramname"> <em>str</em>, </td> | |
101 | </tr> | |
102 | <tr> | |
103 | <td class="paramkey"></td> | |
104 | <td></td> | |
105 | <td class="paramtype">size_t </td> | |
106 | <td class="paramname"> <em>size</em>, </td> | |
107 | </tr> | |
108 | <tr> | |
109 | <td class="paramkey"></td> | |
110 | <td></td> | |
111 | <td class="paramtype">size_t </td> | |
112 | <td class="paramname"> <em>nobj</em>, </td> | |
111 | <td class="paramname"><em>str</em>, </td> | |
112 | </tr> | |
113 | <tr> | |
114 | <td class="paramkey"></td> | |
115 | <td></td> | |
116 | <td class="paramtype">size_t </td> | |
117 | <td class="paramname"><em>size</em>, </td> | |
118 | </tr> | |
119 | <tr> | |
120 | <td class="paramkey"></td> | |
121 | <td></td> | |
122 | <td class="paramtype">size_t </td> | |
123 | <td class="paramname"><em>nobj</em>, </td> | |
113 | 124 | </tr> |
114 | 125 | <tr> |
115 | 126 | <td class="paramkey"></td> |
116 | 127 | <td></td> |
117 | 128 | <td class="paramtype">const <a class="el" href="a00012.html">hwloc_obj_t</a> *restrict </td> |
118 | <td class="paramname"> <em>objs</em> </td> | |
129 | <td class="paramname"><em>objs</em> </td> | |
119 | 130 | </tr> |
120 | 131 | <tr> |
121 | 132 | <td></td> |
140 | 151 | <td class="memname">static inline char* hwloc_obj_get_info_by_name </td> |
141 | 152 | <td>(</td> |
142 | 153 | <td class="paramtype"><a class="el" href="a00012.html">hwloc_obj_t</a> </td> |
143 | <td class="paramname"> <em>obj</em>, </td> | |
154 | <td class="paramname"><em>obj</em>, </td> | |
144 | 155 | </tr> |
145 | 156 | <tr> |
146 | 157 | <td class="paramkey"></td> |
147 | 158 | <td></td> |
148 | 159 | <td class="paramtype">const char * </td> |
149 | <td class="paramname"> <em>name</em> </td> | |
160 | <td class="paramname"><em>name</em> </td> | |
150 | 161 | </tr> |
151 | 162 | <tr> |
152 | 163 | <td></td> |
170 | 181 | <td class="memname"> int hwloc_obj_snprintf </td> |
171 | 182 | <td>(</td> |
172 | 183 | <td class="paramtype">char *restrict </td> |
173 | <td class="paramname"> <em>string</em>, </td> | |
174 | </tr> | |
175 | <tr> | |
176 | <td class="paramkey"></td> | |
177 | <td></td> | |
178 | <td class="paramtype">size_t </td> | |
179 | <td class="paramname"> <em>size</em>, </td> | |
184 | <td class="paramname"><em>string</em>, </td> | |
185 | </tr> | |
186 | <tr> | |
187 | <td class="paramkey"></td> | |
188 | <td></td> | |
189 | <td class="paramtype">size_t </td> | |
190 | <td class="paramname"><em>size</em>, </td> | |
180 | 191 | </tr> |
181 | 192 | <tr> |
182 | 193 | <td class="paramkey"></td> |
183 | 194 | <td></td> |
184 | 195 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
185 | <td class="paramname"> <em>topology</em>, </td> | |
196 | <td class="paramname"><em>topology</em>, </td> | |
186 | 197 | </tr> |
187 | 198 | <tr> |
188 | 199 | <td class="paramkey"></td> |
189 | 200 | <td></td> |
190 | 201 | <td class="paramtype"><a class="el" href="a00012.html">hwloc_obj_t</a> </td> |
191 | <td class="paramname"> <em>obj</em>, </td> | |
202 | <td class="paramname"><em>obj</em>, </td> | |
192 | 203 | </tr> |
193 | 204 | <tr> |
194 | 205 | <td class="paramkey"></td> |
195 | 206 | <td></td> |
196 | 207 | <td class="paramtype">const char *restrict </td> |
197 | <td class="paramname"> <em>indexprefix</em>, </td> | |
208 | <td class="paramname"><em>indexprefix</em>, </td> | |
198 | 209 | </tr> |
199 | 210 | <tr> |
200 | 211 | <td class="paramkey"></td> |
201 | 212 | <td></td> |
202 | 213 | <td class="paramtype">int </td> |
203 | <td class="paramname"> <em>verbose</em> </td> | |
214 | <td class="paramname"><em>verbose</em> </td> | |
204 | 215 | </tr> |
205 | 216 | <tr> |
206 | 217 | <td></td> |
229 | 240 | <td class="memname"> <a class="el" href="a00035.html#gacd37bb612667dc437d66bfb175a8dc55">hwloc_obj_type_t</a> hwloc_obj_type_of_string </td> |
230 | 241 | <td>(</td> |
231 | 242 | <td class="paramtype">const char * </td> |
232 | <td class="paramname"> <em>string</em> )</td> | |
243 | <td class="paramname"><em>string</em></td><td>)</td> | |
233 | 244 | <td></td> |
234 | 245 | </tr> |
235 | 246 | </table> |
249 | 260 | <td class="memname"> int hwloc_obj_type_snprintf </td> |
250 | 261 | <td>(</td> |
251 | 262 | <td class="paramtype">char *restrict </td> |
252 | <td class="paramname"> <em>string</em>, </td> | |
253 | </tr> | |
254 | <tr> | |
255 | <td class="paramkey"></td> | |
256 | <td></td> | |
257 | <td class="paramtype">size_t </td> | |
258 | <td class="paramname"> <em>size</em>, </td> | |
263 | <td class="paramname"><em>string</em>, </td> | |
264 | </tr> | |
265 | <tr> | |
266 | <td class="paramkey"></td> | |
267 | <td></td> | |
268 | <td class="paramtype">size_t </td> | |
269 | <td class="paramname"><em>size</em>, </td> | |
259 | 270 | </tr> |
260 | 271 | <tr> |
261 | 272 | <td class="paramkey"></td> |
262 | 273 | <td></td> |
263 | 274 | <td class="paramtype"><a class="el" href="a00012.html">hwloc_obj_t</a> </td> |
264 | <td class="paramname"> <em>obj</em>, </td> | |
275 | <td class="paramname"><em>obj</em>, </td> | |
265 | 276 | </tr> |
266 | 277 | <tr> |
267 | 278 | <td class="paramkey"></td> |
268 | 279 | <td></td> |
269 | 280 | <td class="paramtype">int </td> |
270 | <td class="paramname"> <em>verbose</em> </td> | |
281 | <td class="paramname"><em>verbose</em> </td> | |
271 | 282 | </tr> |
272 | 283 | <tr> |
273 | 284 | <td></td> |
293 | 304 | <td class="memname"> const char* hwloc_obj_type_string </td> |
294 | 305 | <td>(</td> |
295 | 306 | <td class="paramtype"><a class="el" href="a00035.html#gacd37bb612667dc437d66bfb175a8dc55">hwloc_obj_type_t</a> </td> |
296 | <td class="paramname"> <em>type</em> )</td> | |
307 | <td class="paramname"><em>type</em></td><td>)</td> | |
297 | 308 | <td> const</td> |
298 | 309 | </tr> |
299 | 310 | </table> |
305 | 316 | </div> |
306 | 317 | </div> |
307 | 318 | </div> |
308 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
319 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
309 | 320 | <a href="http://www.doxygen.org/index.html"> |
310 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
321 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
311 | 322 | </body> |
312 | 323 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
103 | 114 | <td class="memname"> int hwloc_get_cpubind </td> |
104 | 115 | <td>(</td> |
105 | 116 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
106 | <td class="paramname"> <em>topology</em>, </td> | |
117 | <td class="paramname"><em>topology</em>, </td> | |
107 | 118 | </tr> |
108 | 119 | <tr> |
109 | 120 | <td class="paramkey"></td> |
110 | 121 | <td></td> |
111 | 122 | <td class="paramtype"><a class="el" href="a00034.html#ga4bbf39b68b6f568fb92739e7c0ea7801">hwloc_cpuset_t</a> </td> |
112 | <td class="paramname"> <em>set</em>, </td> | |
113 | </tr> | |
114 | <tr> | |
115 | <td class="paramkey"></td> | |
116 | <td></td> | |
117 | <td class="paramtype">int </td> | |
118 | <td class="paramname"> <em>flags</em> </td> | |
123 | <td class="paramname"><em>set</em>, </td> | |
124 | </tr> | |
125 | <tr> | |
126 | <td class="paramkey"></td> | |
127 | <td></td> | |
128 | <td class="paramtype">int </td> | |
129 | <td class="paramname"><em>flags</em> </td> | |
119 | 130 | </tr> |
120 | 131 | <tr> |
121 | 132 | <td></td> |
138 | 149 | <td class="memname"> int hwloc_get_proc_cpubind </td> |
139 | 150 | <td>(</td> |
140 | 151 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
141 | <td class="paramname"> <em>topology</em>, </td> | |
152 | <td class="paramname"><em>topology</em>, </td> | |
142 | 153 | </tr> |
143 | 154 | <tr> |
144 | 155 | <td class="paramkey"></td> |
145 | 156 | <td></td> |
146 | 157 | <td class="paramtype">hwloc_pid_t </td> |
147 | <td class="paramname"> <em>pid</em>, </td> | |
158 | <td class="paramname"><em>pid</em>, </td> | |
148 | 159 | </tr> |
149 | 160 | <tr> |
150 | 161 | <td class="paramkey"></td> |
151 | 162 | <td></td> |
152 | 163 | <td class="paramtype"><a class="el" href="a00034.html#ga4bbf39b68b6f568fb92739e7c0ea7801">hwloc_cpuset_t</a> </td> |
153 | <td class="paramname"> <em>set</em>, </td> | |
154 | </tr> | |
155 | <tr> | |
156 | <td class="paramkey"></td> | |
157 | <td></td> | |
158 | <td class="paramtype">int </td> | |
159 | <td class="paramname"> <em>flags</em> </td> | |
164 | <td class="paramname"><em>set</em>, </td> | |
165 | </tr> | |
166 | <tr> | |
167 | <td class="paramkey"></td> | |
168 | <td></td> | |
169 | <td class="paramtype">int </td> | |
170 | <td class="paramname"><em>flags</em> </td> | |
160 | 171 | </tr> |
161 | 172 | <tr> |
162 | 173 | <td></td> |
182 | 193 | <td class="memname"> int hwloc_get_thread_cpubind </td> |
183 | 194 | <td>(</td> |
184 | 195 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
185 | <td class="paramname"> <em>topology</em>, </td> | |
196 | <td class="paramname"><em>topology</em>, </td> | |
186 | 197 | </tr> |
187 | 198 | <tr> |
188 | 199 | <td class="paramkey"></td> |
189 | 200 | <td></td> |
190 | 201 | <td class="paramtype">hwloc_thread_t </td> |
191 | <td class="paramname"> <em>tid</em>, </td> | |
202 | <td class="paramname"><em>tid</em>, </td> | |
192 | 203 | </tr> |
193 | 204 | <tr> |
194 | 205 | <td class="paramkey"></td> |
195 | 206 | <td></td> |
196 | 207 | <td class="paramtype"><a class="el" href="a00034.html#ga4bbf39b68b6f568fb92739e7c0ea7801">hwloc_cpuset_t</a> </td> |
197 | <td class="paramname"> <em>set</em>, </td> | |
198 | </tr> | |
199 | <tr> | |
200 | <td class="paramkey"></td> | |
201 | <td></td> | |
202 | <td class="paramtype">int </td> | |
203 | <td class="paramname"> <em>flags</em> </td> | |
208 | <td class="paramname"><em>set</em>, </td> | |
209 | </tr> | |
210 | <tr> | |
211 | <td class="paramkey"></td> | |
212 | <td></td> | |
213 | <td class="paramtype">int </td> | |
214 | <td class="paramname"><em>flags</em> </td> | |
204 | 215 | </tr> |
205 | 216 | <tr> |
206 | 217 | <td></td> |
226 | 237 | <td class="memname"> int hwloc_set_cpubind </td> |
227 | 238 | <td>(</td> |
228 | 239 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
229 | <td class="paramname"> <em>topology</em>, </td> | |
240 | <td class="paramname"><em>topology</em>, </td> | |
230 | 241 | </tr> |
231 | 242 | <tr> |
232 | 243 | <td class="paramkey"></td> |
233 | 244 | <td></td> |
234 | 245 | <td class="paramtype"><a class="el" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25">hwloc_const_cpuset_t</a> </td> |
235 | <td class="paramname"> <em>set</em>, </td> | |
236 | </tr> | |
237 | <tr> | |
238 | <td class="paramkey"></td> | |
239 | <td></td> | |
240 | <td class="paramtype">int </td> | |
241 | <td class="paramname"> <em>flags</em> </td> | |
246 | <td class="paramname"><em>set</em>, </td> | |
247 | </tr> | |
248 | <tr> | |
249 | <td class="paramkey"></td> | |
250 | <td></td> | |
251 | <td class="paramtype">int </td> | |
252 | <td class="paramname"><em>flags</em> </td> | |
242 | 253 | </tr> |
243 | 254 | <tr> |
244 | 255 | <td></td> |
264 | 275 | <td class="memname"> int hwloc_set_proc_cpubind </td> |
265 | 276 | <td>(</td> |
266 | 277 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
267 | <td class="paramname"> <em>topology</em>, </td> | |
278 | <td class="paramname"><em>topology</em>, </td> | |
268 | 279 | </tr> |
269 | 280 | <tr> |
270 | 281 | <td class="paramkey"></td> |
271 | 282 | <td></td> |
272 | 283 | <td class="paramtype">hwloc_pid_t </td> |
273 | <td class="paramname"> <em>pid</em>, </td> | |
284 | <td class="paramname"><em>pid</em>, </td> | |
274 | 285 | </tr> |
275 | 286 | <tr> |
276 | 287 | <td class="paramkey"></td> |
277 | 288 | <td></td> |
278 | 289 | <td class="paramtype"><a class="el" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25">hwloc_const_cpuset_t</a> </td> |
279 | <td class="paramname"> <em>set</em>, </td> | |
280 | </tr> | |
281 | <tr> | |
282 | <td class="paramkey"></td> | |
283 | <td></td> | |
284 | <td class="paramtype">int </td> | |
285 | <td class="paramname"> <em>flags</em> </td> | |
290 | <td class="paramname"><em>set</em>, </td> | |
291 | </tr> | |
292 | <tr> | |
293 | <td class="paramkey"></td> | |
294 | <td></td> | |
295 | <td class="paramtype">int </td> | |
296 | <td class="paramname"><em>flags</em> </td> | |
286 | 297 | </tr> |
287 | 298 | <tr> |
288 | 299 | <td></td> |
308 | 319 | <td class="memname"> int hwloc_set_thread_cpubind </td> |
309 | 320 | <td>(</td> |
310 | 321 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
311 | <td class="paramname"> <em>topology</em>, </td> | |
322 | <td class="paramname"><em>topology</em>, </td> | |
312 | 323 | </tr> |
313 | 324 | <tr> |
314 | 325 | <td class="paramkey"></td> |
315 | 326 | <td></td> |
316 | 327 | <td class="paramtype">hwloc_thread_t </td> |
317 | <td class="paramname"> <em>tid</em>, </td> | |
328 | <td class="paramname"><em>tid</em>, </td> | |
318 | 329 | </tr> |
319 | 330 | <tr> |
320 | 331 | <td class="paramkey"></td> |
321 | 332 | <td></td> |
322 | 333 | <td class="paramtype"><a class="el" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25">hwloc_const_cpuset_t</a> </td> |
323 | <td class="paramname"> <em>set</em>, </td> | |
324 | </tr> | |
325 | <tr> | |
326 | <td class="paramkey"></td> | |
327 | <td></td> | |
328 | <td class="paramtype">int </td> | |
329 | <td class="paramname"> <em>flags</em> </td> | |
334 | <td class="paramname"><em>set</em>, </td> | |
335 | </tr> | |
336 | <tr> | |
337 | <td class="paramkey"></td> | |
338 | <td></td> | |
339 | <td class="paramtype">int </td> | |
340 | <td class="paramname"><em>flags</em> </td> | |
330 | 341 | </tr> |
331 | 342 | <tr> |
332 | 343 | <td></td> |
345 | 356 | </div> |
346 | 357 | </div> |
347 | 358 | </div> |
348 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
359 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
349 | 360 | <a href="http://www.doxygen.org/index.html"> |
350 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
361 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
351 | 362 | </body> |
352 | 363 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
167 | 178 | <td class="memname"> void* hwloc_alloc </td> |
168 | 179 | <td>(</td> |
169 | 180 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
170 | <td class="paramname"> <em>topology</em>, </td> | |
181 | <td class="paramname"><em>topology</em>, </td> | |
171 | 182 | </tr> |
172 | 183 | <tr> |
173 | 184 | <td class="paramkey"></td> |
174 | 185 | <td></td> |
175 | 186 | <td class="paramtype">size_t </td> |
176 | <td class="paramname"> <em>len</em> </td> | |
187 | <td class="paramname"><em>len</em> </td> | |
177 | 188 | </tr> |
178 | 189 | <tr> |
179 | 190 | <td></td> |
198 | 209 | <td class="memname"> void* hwloc_alloc_membind </td> |
199 | 210 | <td>(</td> |
200 | 211 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
201 | <td class="paramname"> <em>topology</em>, </td> | |
212 | <td class="paramname"><em>topology</em>, </td> | |
202 | 213 | </tr> |
203 | 214 | <tr> |
204 | 215 | <td class="paramkey"></td> |
205 | 216 | <td></td> |
206 | 217 | <td class="paramtype">size_t </td> |
207 | <td class="paramname"> <em>len</em>, </td> | |
218 | <td class="paramname"><em>len</em>, </td> | |
208 | 219 | </tr> |
209 | 220 | <tr> |
210 | 221 | <td class="paramkey"></td> |
211 | 222 | <td></td> |
212 | 223 | <td class="paramtype"><a class="el" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25">hwloc_const_cpuset_t</a> </td> |
213 | <td class="paramname"> <em>cpuset</em>, </td> | |
224 | <td class="paramname"><em>cpuset</em>, </td> | |
214 | 225 | </tr> |
215 | 226 | <tr> |
216 | 227 | <td class="paramkey"></td> |
217 | 228 | <td></td> |
218 | 229 | <td class="paramtype"><a class="el" href="a00044.html#gac9764f79505775d06407b40f5e4661e8">hwloc_membind_policy_t</a> </td> |
219 | <td class="paramname"> <em>policy</em>, </td> | |
220 | </tr> | |
221 | <tr> | |
222 | <td class="paramkey"></td> | |
223 | <td></td> | |
224 | <td class="paramtype">int </td> | |
225 | <td class="paramname"> <em>flags</em> </td> | |
230 | <td class="paramname"><em>policy</em>, </td> | |
231 | </tr> | |
232 | <tr> | |
233 | <td class="paramkey"></td> | |
234 | <td></td> | |
235 | <td class="paramtype">int </td> | |
236 | <td class="paramname"><em>flags</em> </td> | |
226 | 237 | </tr> |
227 | 238 | <tr> |
228 | 239 | <td></td> |
249 | 260 | <td class="memname"> void* hwloc_alloc_membind_nodeset </td> |
250 | 261 | <td>(</td> |
251 | 262 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
252 | <td class="paramname"> <em>topology</em>, </td> | |
263 | <td class="paramname"><em>topology</em>, </td> | |
253 | 264 | </tr> |
254 | 265 | <tr> |
255 | 266 | <td class="paramkey"></td> |
256 | 267 | <td></td> |
257 | 268 | <td class="paramtype">size_t </td> |
258 | <td class="paramname"> <em>len</em>, </td> | |
269 | <td class="paramname"><em>len</em>, </td> | |
259 | 270 | </tr> |
260 | 271 | <tr> |
261 | 272 | <td class="paramkey"></td> |
262 | 273 | <td></td> |
263 | 274 | <td class="paramtype"><a class="el" href="a00034.html#ga2f5276235841ad66a79bedad16a5a10c">hwloc_const_nodeset_t</a> </td> |
264 | <td class="paramname"> <em>nodeset</em>, </td> | |
275 | <td class="paramname"><em>nodeset</em>, </td> | |
265 | 276 | </tr> |
266 | 277 | <tr> |
267 | 278 | <td class="paramkey"></td> |
268 | 279 | <td></td> |
269 | 280 | <td class="paramtype"><a class="el" href="a00044.html#gac9764f79505775d06407b40f5e4661e8">hwloc_membind_policy_t</a> </td> |
270 | <td class="paramname"> <em>policy</em>, </td> | |
271 | </tr> | |
272 | <tr> | |
273 | <td class="paramkey"></td> | |
274 | <td></td> | |
275 | <td class="paramtype">int </td> | |
276 | <td class="paramname"> <em>flags</em> </td> | |
281 | <td class="paramname"><em>policy</em>, </td> | |
282 | </tr> | |
283 | <tr> | |
284 | <td class="paramkey"></td> | |
285 | <td></td> | |
286 | <td class="paramtype">int </td> | |
287 | <td class="paramname"><em>flags</em> </td> | |
277 | 288 | </tr> |
278 | 289 | <tr> |
279 | 290 | <td></td> |
300 | 311 | <td class="memname"> int hwloc_free </td> |
301 | 312 | <td>(</td> |
302 | 313 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
303 | <td class="paramname"> <em>topology</em>, </td> | |
314 | <td class="paramname"><em>topology</em>, </td> | |
304 | 315 | </tr> |
305 | 316 | <tr> |
306 | 317 | <td class="paramkey"></td> |
307 | 318 | <td></td> |
308 | 319 | <td class="paramtype">void * </td> |
309 | <td class="paramname"> <em>addr</em>, </td> | |
320 | <td class="paramname"><em>addr</em>, </td> | |
310 | 321 | </tr> |
311 | 322 | <tr> |
312 | 323 | <td class="paramkey"></td> |
313 | 324 | <td></td> |
314 | 325 | <td class="paramtype">size_t </td> |
315 | <td class="paramname"> <em>len</em> </td> | |
326 | <td class="paramname"><em>len</em> </td> | |
316 | 327 | </tr> |
317 | 328 | <tr> |
318 | 329 | <td></td> |
335 | 346 | <td class="memname"> int hwloc_get_area_membind </td> |
336 | 347 | <td>(</td> |
337 | 348 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
338 | <td class="paramname"> <em>topology</em>, </td> | |
349 | <td class="paramname"><em>topology</em>, </td> | |
339 | 350 | </tr> |
340 | 351 | <tr> |
341 | 352 | <td class="paramkey"></td> |
342 | 353 | <td></td> |
343 | 354 | <td class="paramtype">const void * </td> |
344 | <td class="paramname"> <em>addr</em>, </td> | |
355 | <td class="paramname"><em>addr</em>, </td> | |
345 | 356 | </tr> |
346 | 357 | <tr> |
347 | 358 | <td class="paramkey"></td> |
348 | 359 | <td></td> |
349 | 360 | <td class="paramtype">size_t </td> |
350 | <td class="paramname"> <em>len</em>, </td> | |
361 | <td class="paramname"><em>len</em>, </td> | |
351 | 362 | </tr> |
352 | 363 | <tr> |
353 | 364 | <td class="paramkey"></td> |
354 | 365 | <td></td> |
355 | 366 | <td class="paramtype"><a class="el" href="a00034.html#ga4bbf39b68b6f568fb92739e7c0ea7801">hwloc_cpuset_t</a> </td> |
356 | <td class="paramname"> <em>cpuset</em>, </td> | |
367 | <td class="paramname"><em>cpuset</em>, </td> | |
357 | 368 | </tr> |
358 | 369 | <tr> |
359 | 370 | <td class="paramkey"></td> |
360 | 371 | <td></td> |
361 | 372 | <td class="paramtype"><a class="el" href="a00044.html#gac9764f79505775d06407b40f5e4661e8">hwloc_membind_policy_t</a> * </td> |
362 | <td class="paramname"> <em>policy</em>, </td> | |
363 | </tr> | |
364 | <tr> | |
365 | <td class="paramkey"></td> | |
366 | <td></td> | |
367 | <td class="paramtype">int </td> | |
368 | <td class="paramname"> <em>flags</em> </td> | |
373 | <td class="paramname"><em>policy</em>, </td> | |
374 | </tr> | |
375 | <tr> | |
376 | <td class="paramkey"></td> | |
377 | <td></td> | |
378 | <td class="paramtype">int </td> | |
379 | <td class="paramname"><em>flags</em> </td> | |
369 | 380 | </tr> |
370 | 381 | <tr> |
371 | 382 | <td></td> |
392 | 403 | <td class="memname"> int hwloc_get_area_membind_nodeset </td> |
393 | 404 | <td>(</td> |
394 | 405 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
395 | <td class="paramname"> <em>topology</em>, </td> | |
406 | <td class="paramname"><em>topology</em>, </td> | |
396 | 407 | </tr> |
397 | 408 | <tr> |
398 | 409 | <td class="paramkey"></td> |
399 | 410 | <td></td> |
400 | 411 | <td class="paramtype">const void * </td> |
401 | <td class="paramname"> <em>addr</em>, </td> | |
412 | <td class="paramname"><em>addr</em>, </td> | |
402 | 413 | </tr> |
403 | 414 | <tr> |
404 | 415 | <td class="paramkey"></td> |
405 | 416 | <td></td> |
406 | 417 | <td class="paramtype">size_t </td> |
407 | <td class="paramname"> <em>len</em>, </td> | |
418 | <td class="paramname"><em>len</em>, </td> | |
408 | 419 | </tr> |
409 | 420 | <tr> |
410 | 421 | <td class="paramkey"></td> |
411 | 422 | <td></td> |
412 | 423 | <td class="paramtype"><a class="el" href="a00034.html#ga37e35730fa7e775b5bb0afe893d6d508">hwloc_nodeset_t</a> </td> |
413 | <td class="paramname"> <em>nodeset</em>, </td> | |
424 | <td class="paramname"><em>nodeset</em>, </td> | |
414 | 425 | </tr> |
415 | 426 | <tr> |
416 | 427 | <td class="paramkey"></td> |
417 | 428 | <td></td> |
418 | 429 | <td class="paramtype"><a class="el" href="a00044.html#gac9764f79505775d06407b40f5e4661e8">hwloc_membind_policy_t</a> * </td> |
419 | <td class="paramname"> <em>policy</em>, </td> | |
420 | </tr> | |
421 | <tr> | |
422 | <td class="paramkey"></td> | |
423 | <td></td> | |
424 | <td class="paramtype">int </td> | |
425 | <td class="paramname"> <em>flags</em> </td> | |
430 | <td class="paramname"><em>policy</em>, </td> | |
431 | </tr> | |
432 | <tr> | |
433 | <td class="paramkey"></td> | |
434 | <td></td> | |
435 | <td class="paramtype">int </td> | |
436 | <td class="paramname"><em>flags</em> </td> | |
426 | 437 | </tr> |
427 | 438 | <tr> |
428 | 439 | <td></td> |
449 | 460 | <td class="memname"> int hwloc_get_membind </td> |
450 | 461 | <td>(</td> |
451 | 462 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
452 | <td class="paramname"> <em>topology</em>, </td> | |
463 | <td class="paramname"><em>topology</em>, </td> | |
453 | 464 | </tr> |
454 | 465 | <tr> |
455 | 466 | <td class="paramkey"></td> |
456 | 467 | <td></td> |
457 | 468 | <td class="paramtype"><a class="el" href="a00034.html#ga4bbf39b68b6f568fb92739e7c0ea7801">hwloc_cpuset_t</a> </td> |
458 | <td class="paramname"> <em>cpuset</em>, </td> | |
469 | <td class="paramname"><em>cpuset</em>, </td> | |
459 | 470 | </tr> |
460 | 471 | <tr> |
461 | 472 | <td class="paramkey"></td> |
462 | 473 | <td></td> |
463 | 474 | <td class="paramtype"><a class="el" href="a00044.html#gac9764f79505775d06407b40f5e4661e8">hwloc_membind_policy_t</a> * </td> |
464 | <td class="paramname"> <em>policy</em>, </td> | |
465 | </tr> | |
466 | <tr> | |
467 | <td class="paramkey"></td> | |
468 | <td></td> | |
469 | <td class="paramtype">int </td> | |
470 | <td class="paramname"> <em>flags</em> </td> | |
475 | <td class="paramname"><em>policy</em>, </td> | |
476 | </tr> | |
477 | <tr> | |
478 | <td class="paramkey"></td> | |
479 | <td></td> | |
480 | <td class="paramtype">int </td> | |
481 | <td class="paramname"><em>flags</em> </td> | |
471 | 482 | </tr> |
472 | 483 | <tr> |
473 | 484 | <td></td> |
497 | 508 | <td class="memname"> int hwloc_get_membind_nodeset </td> |
498 | 509 | <td>(</td> |
499 | 510 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
500 | <td class="paramname"> <em>topology</em>, </td> | |
511 | <td class="paramname"><em>topology</em>, </td> | |
501 | 512 | </tr> |
502 | 513 | <tr> |
503 | 514 | <td class="paramkey"></td> |
504 | 515 | <td></td> |
505 | 516 | <td class="paramtype"><a class="el" href="a00034.html#ga37e35730fa7e775b5bb0afe893d6d508">hwloc_nodeset_t</a> </td> |
506 | <td class="paramname"> <em>nodeset</em>, </td> | |
517 | <td class="paramname"><em>nodeset</em>, </td> | |
507 | 518 | </tr> |
508 | 519 | <tr> |
509 | 520 | <td class="paramkey"></td> |
510 | 521 | <td></td> |
511 | 522 | <td class="paramtype"><a class="el" href="a00044.html#gac9764f79505775d06407b40f5e4661e8">hwloc_membind_policy_t</a> * </td> |
512 | <td class="paramname"> <em>policy</em>, </td> | |
513 | </tr> | |
514 | <tr> | |
515 | <td class="paramkey"></td> | |
516 | <td></td> | |
517 | <td class="paramtype">int </td> | |
518 | <td class="paramname"> <em>flags</em> </td> | |
523 | <td class="paramname"><em>policy</em>, </td> | |
524 | </tr> | |
525 | <tr> | |
526 | <td class="paramkey"></td> | |
527 | <td></td> | |
528 | <td class="paramtype">int </td> | |
529 | <td class="paramname"><em>flags</em> </td> | |
519 | 530 | </tr> |
520 | 531 | <tr> |
521 | 532 | <td></td> |
545 | 556 | <td class="memname"> int hwloc_get_proc_membind </td> |
546 | 557 | <td>(</td> |
547 | 558 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
548 | <td class="paramname"> <em>topology</em>, </td> | |
559 | <td class="paramname"><em>topology</em>, </td> | |
549 | 560 | </tr> |
550 | 561 | <tr> |
551 | 562 | <td class="paramkey"></td> |
552 | 563 | <td></td> |
553 | 564 | <td class="paramtype">hwloc_pid_t </td> |
554 | <td class="paramname"> <em>pid</em>, </td> | |
565 | <td class="paramname"><em>pid</em>, </td> | |
555 | 566 | </tr> |
556 | 567 | <tr> |
557 | 568 | <td class="paramkey"></td> |
558 | 569 | <td></td> |
559 | 570 | <td class="paramtype"><a class="el" href="a00034.html#ga4bbf39b68b6f568fb92739e7c0ea7801">hwloc_cpuset_t</a> </td> |
560 | <td class="paramname"> <em>cpuset</em>, </td> | |
571 | <td class="paramname"><em>cpuset</em>, </td> | |
561 | 572 | </tr> |
562 | 573 | <tr> |
563 | 574 | <td class="paramkey"></td> |
564 | 575 | <td></td> |
565 | 576 | <td class="paramtype"><a class="el" href="a00044.html#gac9764f79505775d06407b40f5e4661e8">hwloc_membind_policy_t</a> * </td> |
566 | <td class="paramname"> <em>policy</em>, </td> | |
567 | </tr> | |
568 | <tr> | |
569 | <td class="paramkey"></td> | |
570 | <td></td> | |
571 | <td class="paramtype">int </td> | |
572 | <td class="paramname"> <em>flags</em> </td> | |
577 | <td class="paramname"><em>policy</em>, </td> | |
578 | </tr> | |
579 | <tr> | |
580 | <td class="paramkey"></td> | |
581 | <td></td> | |
582 | <td class="paramtype">int </td> | |
583 | <td class="paramname"><em>flags</em> </td> | |
573 | 584 | </tr> |
574 | 585 | <tr> |
575 | 586 | <td></td> |
598 | 609 | <td class="memname"> int hwloc_get_proc_membind_nodeset </td> |
599 | 610 | <td>(</td> |
600 | 611 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
601 | <td class="paramname"> <em>topology</em>, </td> | |
612 | <td class="paramname"><em>topology</em>, </td> | |
602 | 613 | </tr> |
603 | 614 | <tr> |
604 | 615 | <td class="paramkey"></td> |
605 | 616 | <td></td> |
606 | 617 | <td class="paramtype">hwloc_pid_t </td> |
607 | <td class="paramname"> <em>pid</em>, </td> | |
618 | <td class="paramname"><em>pid</em>, </td> | |
608 | 619 | </tr> |
609 | 620 | <tr> |
610 | 621 | <td class="paramkey"></td> |
611 | 622 | <td></td> |
612 | 623 | <td class="paramtype"><a class="el" href="a00034.html#ga37e35730fa7e775b5bb0afe893d6d508">hwloc_nodeset_t</a> </td> |
613 | <td class="paramname"> <em>nodeset</em>, </td> | |
624 | <td class="paramname"><em>nodeset</em>, </td> | |
614 | 625 | </tr> |
615 | 626 | <tr> |
616 | 627 | <td class="paramkey"></td> |
617 | 628 | <td></td> |
618 | 629 | <td class="paramtype"><a class="el" href="a00044.html#gac9764f79505775d06407b40f5e4661e8">hwloc_membind_policy_t</a> * </td> |
619 | <td class="paramname"> <em>policy</em>, </td> | |
620 | </tr> | |
621 | <tr> | |
622 | <td class="paramkey"></td> | |
623 | <td></td> | |
624 | <td class="paramtype">int </td> | |
625 | <td class="paramname"> <em>flags</em> </td> | |
630 | <td class="paramname"><em>policy</em>, </td> | |
631 | </tr> | |
632 | <tr> | |
633 | <td class="paramkey"></td> | |
634 | <td></td> | |
635 | <td class="paramtype">int </td> | |
636 | <td class="paramname"><em>flags</em> </td> | |
626 | 637 | </tr> |
627 | 638 | <tr> |
628 | 639 | <td></td> |
651 | 662 | <td class="memname"> int hwloc_set_area_membind </td> |
652 | 663 | <td>(</td> |
653 | 664 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
654 | <td class="paramname"> <em>topology</em>, </td> | |
665 | <td class="paramname"><em>topology</em>, </td> | |
655 | 666 | </tr> |
656 | 667 | <tr> |
657 | 668 | <td class="paramkey"></td> |
658 | 669 | <td></td> |
659 | 670 | <td class="paramtype">const void * </td> |
660 | <td class="paramname"> <em>addr</em>, </td> | |
671 | <td class="paramname"><em>addr</em>, </td> | |
661 | 672 | </tr> |
662 | 673 | <tr> |
663 | 674 | <td class="paramkey"></td> |
664 | 675 | <td></td> |
665 | 676 | <td class="paramtype">size_t </td> |
666 | <td class="paramname"> <em>len</em>, </td> | |
677 | <td class="paramname"><em>len</em>, </td> | |
667 | 678 | </tr> |
668 | 679 | <tr> |
669 | 680 | <td class="paramkey"></td> |
670 | 681 | <td></td> |
671 | 682 | <td class="paramtype"><a class="el" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25">hwloc_const_cpuset_t</a> </td> |
672 | <td class="paramname"> <em>cpuset</em>, </td> | |
683 | <td class="paramname"><em>cpuset</em>, </td> | |
673 | 684 | </tr> |
674 | 685 | <tr> |
675 | 686 | <td class="paramkey"></td> |
676 | 687 | <td></td> |
677 | 688 | <td class="paramtype"><a class="el" href="a00044.html#gac9764f79505775d06407b40f5e4661e8">hwloc_membind_policy_t</a> </td> |
678 | <td class="paramname"> <em>policy</em>, </td> | |
679 | </tr> | |
680 | <tr> | |
681 | <td class="paramkey"></td> | |
682 | <td></td> | |
683 | <td class="paramtype">int </td> | |
684 | <td class="paramname"> <em>flags</em> </td> | |
689 | <td class="paramname"><em>policy</em>, </td> | |
690 | </tr> | |
691 | <tr> | |
692 | <td class="paramkey"></td> | |
693 | <td></td> | |
694 | <td class="paramtype">int </td> | |
695 | <td class="paramname"><em>flags</em> </td> | |
685 | 696 | </tr> |
686 | 697 | <tr> |
687 | 698 | <td></td> |
707 | 718 | <td class="memname"> int hwloc_set_area_membind_nodeset </td> |
708 | 719 | <td>(</td> |
709 | 720 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
710 | <td class="paramname"> <em>topology</em>, </td> | |
721 | <td class="paramname"><em>topology</em>, </td> | |
711 | 722 | </tr> |
712 | 723 | <tr> |
713 | 724 | <td class="paramkey"></td> |
714 | 725 | <td></td> |
715 | 726 | <td class="paramtype">const void * </td> |
716 | <td class="paramname"> <em>addr</em>, </td> | |
727 | <td class="paramname"><em>addr</em>, </td> | |
717 | 728 | </tr> |
718 | 729 | <tr> |
719 | 730 | <td class="paramkey"></td> |
720 | 731 | <td></td> |
721 | 732 | <td class="paramtype">size_t </td> |
722 | <td class="paramname"> <em>len</em>, </td> | |
733 | <td class="paramname"><em>len</em>, </td> | |
723 | 734 | </tr> |
724 | 735 | <tr> |
725 | 736 | <td class="paramkey"></td> |
726 | 737 | <td></td> |
727 | 738 | <td class="paramtype"><a class="el" href="a00034.html#ga2f5276235841ad66a79bedad16a5a10c">hwloc_const_nodeset_t</a> </td> |
728 | <td class="paramname"> <em>nodeset</em>, </td> | |
739 | <td class="paramname"><em>nodeset</em>, </td> | |
729 | 740 | </tr> |
730 | 741 | <tr> |
731 | 742 | <td class="paramkey"></td> |
732 | 743 | <td></td> |
733 | 744 | <td class="paramtype"><a class="el" href="a00044.html#gac9764f79505775d06407b40f5e4661e8">hwloc_membind_policy_t</a> </td> |
734 | <td class="paramname"> <em>policy</em>, </td> | |
735 | </tr> | |
736 | <tr> | |
737 | <td class="paramkey"></td> | |
738 | <td></td> | |
739 | <td class="paramtype">int </td> | |
740 | <td class="paramname"> <em>flags</em> </td> | |
745 | <td class="paramname"><em>policy</em>, </td> | |
746 | </tr> | |
747 | <tr> | |
748 | <td class="paramkey"></td> | |
749 | <td></td> | |
750 | <td class="paramtype">int </td> | |
751 | <td class="paramname"><em>flags</em> </td> | |
741 | 752 | </tr> |
742 | 753 | <tr> |
743 | 754 | <td></td> |
763 | 774 | <td class="memname"> int hwloc_set_membind </td> |
764 | 775 | <td>(</td> |
765 | 776 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
766 | <td class="paramname"> <em>topology</em>, </td> | |
777 | <td class="paramname"><em>topology</em>, </td> | |
767 | 778 | </tr> |
768 | 779 | <tr> |
769 | 780 | <td class="paramkey"></td> |
770 | 781 | <td></td> |
771 | 782 | <td class="paramtype"><a class="el" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25">hwloc_const_cpuset_t</a> </td> |
772 | <td class="paramname"> <em>cpuset</em>, </td> | |
783 | <td class="paramname"><em>cpuset</em>, </td> | |
773 | 784 | </tr> |
774 | 785 | <tr> |
775 | 786 | <td class="paramkey"></td> |
776 | 787 | <td></td> |
777 | 788 | <td class="paramtype"><a class="el" href="a00044.html#gac9764f79505775d06407b40f5e4661e8">hwloc_membind_policy_t</a> </td> |
778 | <td class="paramname"> <em>policy</em>, </td> | |
779 | </tr> | |
780 | <tr> | |
781 | <td class="paramkey"></td> | |
782 | <td></td> | |
783 | <td class="paramtype">int </td> | |
784 | <td class="paramname"> <em>flags</em> </td> | |
789 | <td class="paramname"><em>policy</em>, </td> | |
790 | </tr> | |
791 | <tr> | |
792 | <td class="paramkey"></td> | |
793 | <td></td> | |
794 | <td class="paramtype">int </td> | |
795 | <td class="paramname"><em>flags</em> </td> | |
785 | 796 | </tr> |
786 | 797 | <tr> |
787 | 798 | <td></td> |
808 | 819 | <td class="memname"> int hwloc_set_membind_nodeset </td> |
809 | 820 | <td>(</td> |
810 | 821 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
811 | <td class="paramname"> <em>topology</em>, </td> | |
822 | <td class="paramname"><em>topology</em>, </td> | |
812 | 823 | </tr> |
813 | 824 | <tr> |
814 | 825 | <td class="paramkey"></td> |
815 | 826 | <td></td> |
816 | 827 | <td class="paramtype"><a class="el" href="a00034.html#ga2f5276235841ad66a79bedad16a5a10c">hwloc_const_nodeset_t</a> </td> |
817 | <td class="paramname"> <em>nodeset</em>, </td> | |
828 | <td class="paramname"><em>nodeset</em>, </td> | |
818 | 829 | </tr> |
819 | 830 | <tr> |
820 | 831 | <td class="paramkey"></td> |
821 | 832 | <td></td> |
822 | 833 | <td class="paramtype"><a class="el" href="a00044.html#gac9764f79505775d06407b40f5e4661e8">hwloc_membind_policy_t</a> </td> |
823 | <td class="paramname"> <em>policy</em>, </td> | |
824 | </tr> | |
825 | <tr> | |
826 | <td class="paramkey"></td> | |
827 | <td></td> | |
828 | <td class="paramtype">int </td> | |
829 | <td class="paramname"> <em>flags</em> </td> | |
834 | <td class="paramname"><em>policy</em>, </td> | |
835 | </tr> | |
836 | <tr> | |
837 | <td class="paramkey"></td> | |
838 | <td></td> | |
839 | <td class="paramtype">int </td> | |
840 | <td class="paramname"><em>flags</em> </td> | |
830 | 841 | </tr> |
831 | 842 | <tr> |
832 | 843 | <td></td> |
853 | 864 | <td class="memname"> int hwloc_set_proc_membind </td> |
854 | 865 | <td>(</td> |
855 | 866 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
856 | <td class="paramname"> <em>topology</em>, </td> | |
867 | <td class="paramname"><em>topology</em>, </td> | |
857 | 868 | </tr> |
858 | 869 | <tr> |
859 | 870 | <td class="paramkey"></td> |
860 | 871 | <td></td> |
861 | 872 | <td class="paramtype">hwloc_pid_t </td> |
862 | <td class="paramname"> <em>pid</em>, </td> | |
873 | <td class="paramname"><em>pid</em>, </td> | |
863 | 874 | </tr> |
864 | 875 | <tr> |
865 | 876 | <td class="paramkey"></td> |
866 | 877 | <td></td> |
867 | 878 | <td class="paramtype"><a class="el" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25">hwloc_const_cpuset_t</a> </td> |
868 | <td class="paramname"> <em>cpuset</em>, </td> | |
879 | <td class="paramname"><em>cpuset</em>, </td> | |
869 | 880 | </tr> |
870 | 881 | <tr> |
871 | 882 | <td class="paramkey"></td> |
872 | 883 | <td></td> |
873 | 884 | <td class="paramtype"><a class="el" href="a00044.html#gac9764f79505775d06407b40f5e4661e8">hwloc_membind_policy_t</a> </td> |
874 | <td class="paramname"> <em>policy</em>, </td> | |
875 | </tr> | |
876 | <tr> | |
877 | <td class="paramkey"></td> | |
878 | <td></td> | |
879 | <td class="paramtype">int </td> | |
880 | <td class="paramname"> <em>flags</em> </td> | |
885 | <td class="paramname"><em>policy</em>, </td> | |
886 | </tr> | |
887 | <tr> | |
888 | <td class="paramkey"></td> | |
889 | <td></td> | |
890 | <td class="paramtype">int </td> | |
891 | <td class="paramname"><em>flags</em> </td> | |
881 | 892 | </tr> |
882 | 893 | <tr> |
883 | 894 | <td></td> |
903 | 914 | <td class="memname"> int hwloc_set_proc_membind_nodeset </td> |
904 | 915 | <td>(</td> |
905 | 916 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
906 | <td class="paramname"> <em>topology</em>, </td> | |
917 | <td class="paramname"><em>topology</em>, </td> | |
907 | 918 | </tr> |
908 | 919 | <tr> |
909 | 920 | <td class="paramkey"></td> |
910 | 921 | <td></td> |
911 | 922 | <td class="paramtype">hwloc_pid_t </td> |
912 | <td class="paramname"> <em>pid</em>, </td> | |
923 | <td class="paramname"><em>pid</em>, </td> | |
913 | 924 | </tr> |
914 | 925 | <tr> |
915 | 926 | <td class="paramkey"></td> |
916 | 927 | <td></td> |
917 | 928 | <td class="paramtype"><a class="el" href="a00034.html#ga2f5276235841ad66a79bedad16a5a10c">hwloc_const_nodeset_t</a> </td> |
918 | <td class="paramname"> <em>nodeset</em>, </td> | |
929 | <td class="paramname"><em>nodeset</em>, </td> | |
919 | 930 | </tr> |
920 | 931 | <tr> |
921 | 932 | <td class="paramkey"></td> |
922 | 933 | <td></td> |
923 | 934 | <td class="paramtype"><a class="el" href="a00044.html#gac9764f79505775d06407b40f5e4661e8">hwloc_membind_policy_t</a> </td> |
924 | <td class="paramname"> <em>policy</em>, </td> | |
925 | </tr> | |
926 | <tr> | |
927 | <td class="paramkey"></td> | |
928 | <td></td> | |
929 | <td class="paramtype">int </td> | |
930 | <td class="paramname"> <em>flags</em> </td> | |
935 | <td class="paramname"><em>policy</em>, </td> | |
936 | </tr> | |
937 | <tr> | |
938 | <td class="paramkey"></td> | |
939 | <td></td> | |
940 | <td class="paramtype">int </td> | |
941 | <td class="paramname"><em>flags</em> </td> | |
931 | 942 | </tr> |
932 | 943 | <tr> |
933 | 944 | <td></td> |
946 | 957 | </div> |
947 | 958 | </div> |
948 | 959 | </div> |
949 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
960 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
950 | 961 | <a href="http://www.doxygen.org/index.html"> |
951 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
962 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
952 | 963 | </body> |
953 | 964 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
42 | 53 | <td class="memname">static inline int hwloc_get_type_or_above_depth </td> |
43 | 54 | <td>(</td> |
44 | 55 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
45 | <td class="paramname"> <em>topology</em>, </td> | |
56 | <td class="paramname"><em>topology</em>, </td> | |
46 | 57 | </tr> |
47 | 58 | <tr> |
48 | 59 | <td class="paramkey"></td> |
49 | 60 | <td></td> |
50 | 61 | <td class="paramtype"><a class="el" href="a00035.html#gacd37bb612667dc437d66bfb175a8dc55">hwloc_obj_type_t</a> </td> |
51 | <td class="paramname"> <em>type</em> </td> | |
62 | <td class="paramname"><em>type</em> </td> | |
52 | 63 | </tr> |
53 | 64 | <tr> |
54 | 65 | <td></td> |
72 | 83 | <td class="memname">static inline int hwloc_get_type_or_below_depth </td> |
73 | 84 | <td>(</td> |
74 | 85 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
75 | <td class="paramname"> <em>topology</em>, </td> | |
86 | <td class="paramname"><em>topology</em>, </td> | |
76 | 87 | </tr> |
77 | 88 | <tr> |
78 | 89 | <td class="paramkey"></td> |
79 | 90 | <td></td> |
80 | 91 | <td class="paramtype"><a class="el" href="a00035.html#gacd37bb612667dc437d66bfb175a8dc55">hwloc_obj_type_t</a> </td> |
81 | <td class="paramname"> <em>type</em> </td> | |
92 | <td class="paramname"><em>type</em> </td> | |
82 | 93 | </tr> |
83 | 94 | <tr> |
84 | 95 | <td></td> |
95 | 106 | </div> |
96 | 107 | </div> |
97 | 108 | </div> |
98 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
109 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
99 | 110 | <a href="http://www.doxygen.org/index.html"> |
100 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
111 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
101 | 112 | </body> |
102 | 113 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
58 | 69 | <td class="memname">static inline <a class="el" href="a00012.html">hwloc_obj_t</a> hwloc_get_ancestor_obj_by_depth </td> |
59 | 70 | <td>(</td> |
60 | 71 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> topology </td> |
61 | <td class="paramname"> <em></em>, </td> | |
72 | <td class="paramname"><em></em>, </td> | |
62 | 73 | </tr> |
63 | 74 | <tr> |
64 | 75 | <td class="paramkey"></td> |
65 | 76 | <td></td> |
66 | 77 | <td class="paramtype">unsigned </td> |
67 | <td class="paramname"> <em>depth</em>, </td> | |
68 | </tr> | |
69 | <tr> | |
70 | <td class="paramkey"></td> | |
71 | <td></td> | |
72 | <td class="paramtype"><a class="el" href="a00012.html">hwloc_obj_t</a> </td> | |
73 | <td class="paramname"> <em>obj</em> </td> | |
78 | <td class="paramname"><em>depth</em>, </td> | |
79 | </tr> | |
80 | <tr> | |
81 | <td class="paramkey"></td> | |
82 | <td></td> | |
83 | <td class="paramtype"><a class="el" href="a00012.html">hwloc_obj_t</a> </td> | |
84 | <td class="paramname"><em>obj</em> </td> | |
74 | 85 | </tr> |
75 | 86 | <tr> |
76 | 87 | <td></td> |
93 | 104 | <td class="memname">static inline <a class="el" href="a00012.html">hwloc_obj_t</a> hwloc_get_ancestor_obj_by_type </td> |
94 | 105 | <td>(</td> |
95 | 106 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> topology </td> |
96 | <td class="paramname"> <em></em>, </td> | |
107 | <td class="paramname"><em></em>, </td> | |
97 | 108 | </tr> |
98 | 109 | <tr> |
99 | 110 | <td class="paramkey"></td> |
100 | 111 | <td></td> |
101 | 112 | <td class="paramtype"><a class="el" href="a00035.html#gacd37bb612667dc437d66bfb175a8dc55">hwloc_obj_type_t</a> </td> |
102 | <td class="paramname"> <em>type</em>, </td> | |
103 | </tr> | |
104 | <tr> | |
105 | <td class="paramkey"></td> | |
106 | <td></td> | |
107 | <td class="paramtype"><a class="el" href="a00012.html">hwloc_obj_t</a> </td> | |
108 | <td class="paramname"> <em>obj</em> </td> | |
113 | <td class="paramname"><em>type</em>, </td> | |
114 | </tr> | |
115 | <tr> | |
116 | <td class="paramkey"></td> | |
117 | <td></td> | |
118 | <td class="paramtype"><a class="el" href="a00012.html">hwloc_obj_t</a> </td> | |
119 | <td class="paramname"><em>obj</em> </td> | |
109 | 120 | </tr> |
110 | 121 | <tr> |
111 | 122 | <td></td> |
128 | 139 | <td class="memname">static inline <a class="el" href="a00012.html">hwloc_obj_t</a> hwloc_get_common_ancestor_obj </td> |
129 | 140 | <td>(</td> |
130 | 141 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> topology </td> |
131 | <td class="paramname"> <em></em>, </td> | |
132 | </tr> | |
133 | <tr> | |
134 | <td class="paramkey"></td> | |
135 | <td></td> | |
136 | <td class="paramtype"><a class="el" href="a00012.html">hwloc_obj_t</a> </td> | |
137 | <td class="paramname"> <em>obj1</em>, </td> | |
138 | </tr> | |
139 | <tr> | |
140 | <td class="paramkey"></td> | |
141 | <td></td> | |
142 | <td class="paramtype"><a class="el" href="a00012.html">hwloc_obj_t</a> </td> | |
143 | <td class="paramname"> <em>obj2</em> </td> | |
142 | <td class="paramname"><em></em>, </td> | |
143 | </tr> | |
144 | <tr> | |
145 | <td class="paramkey"></td> | |
146 | <td></td> | |
147 | <td class="paramtype"><a class="el" href="a00012.html">hwloc_obj_t</a> </td> | |
148 | <td class="paramname"><em>obj1</em>, </td> | |
149 | </tr> | |
150 | <tr> | |
151 | <td class="paramkey"></td> | |
152 | <td></td> | |
153 | <td class="paramtype"><a class="el" href="a00012.html">hwloc_obj_t</a> </td> | |
154 | <td class="paramname"><em>obj2</em> </td> | |
144 | 155 | </tr> |
145 | 156 | <tr> |
146 | 157 | <td></td> |
163 | 174 | <td class="memname">static inline <a class="el" href="a00012.html">hwloc_obj_t</a> hwloc_get_next_child </td> |
164 | 175 | <td>(</td> |
165 | 176 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> topology </td> |
166 | <td class="paramname"> <em></em>, </td> | |
167 | </tr> | |
168 | <tr> | |
169 | <td class="paramkey"></td> | |
170 | <td></td> | |
171 | <td class="paramtype"><a class="el" href="a00012.html">hwloc_obj_t</a> </td> | |
172 | <td class="paramname"> <em>parent</em>, </td> | |
173 | </tr> | |
174 | <tr> | |
175 | <td class="paramkey"></td> | |
176 | <td></td> | |
177 | <td class="paramtype"><a class="el" href="a00012.html">hwloc_obj_t</a> </td> | |
178 | <td class="paramname"> <em>prev</em> </td> | |
177 | <td class="paramname"><em></em>, </td> | |
178 | </tr> | |
179 | <tr> | |
180 | <td class="paramkey"></td> | |
181 | <td></td> | |
182 | <td class="paramtype"><a class="el" href="a00012.html">hwloc_obj_t</a> </td> | |
183 | <td class="paramname"><em>parent</em>, </td> | |
184 | </tr> | |
185 | <tr> | |
186 | <td class="paramkey"></td> | |
187 | <td></td> | |
188 | <td class="paramtype"><a class="el" href="a00012.html">hwloc_obj_t</a> </td> | |
189 | <td class="paramname"><em>prev</em> </td> | |
179 | 190 | </tr> |
180 | 191 | <tr> |
181 | 192 | <td></td> |
199 | 210 | <td class="memname">static inline <a class="el" href="a00012.html">hwloc_obj_t</a> hwloc_get_next_obj_by_depth </td> |
200 | 211 | <td>(</td> |
201 | 212 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
202 | <td class="paramname"> <em>topology</em>, </td> | |
213 | <td class="paramname"><em>topology</em>, </td> | |
203 | 214 | </tr> |
204 | 215 | <tr> |
205 | 216 | <td class="paramkey"></td> |
206 | 217 | <td></td> |
207 | 218 | <td class="paramtype">unsigned </td> |
208 | <td class="paramname"> <em>depth</em>, </td> | |
209 | </tr> | |
210 | <tr> | |
211 | <td class="paramkey"></td> | |
212 | <td></td> | |
213 | <td class="paramtype"><a class="el" href="a00012.html">hwloc_obj_t</a> </td> | |
214 | <td class="paramname"> <em>prev</em> </td> | |
219 | <td class="paramname"><em>depth</em>, </td> | |
220 | </tr> | |
221 | <tr> | |
222 | <td class="paramkey"></td> | |
223 | <td></td> | |
224 | <td class="paramtype"><a class="el" href="a00012.html">hwloc_obj_t</a> </td> | |
225 | <td class="paramname"><em>prev</em> </td> | |
215 | 226 | </tr> |
216 | 227 | <tr> |
217 | 228 | <td></td> |
235 | 246 | <td class="memname">static inline <a class="el" href="a00012.html">hwloc_obj_t</a> hwloc_get_next_obj_by_type </td> |
236 | 247 | <td>(</td> |
237 | 248 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
238 | <td class="paramname"> <em>topology</em>, </td> | |
249 | <td class="paramname"><em>topology</em>, </td> | |
239 | 250 | </tr> |
240 | 251 | <tr> |
241 | 252 | <td class="paramkey"></td> |
242 | 253 | <td></td> |
243 | 254 | <td class="paramtype"><a class="el" href="a00035.html#gacd37bb612667dc437d66bfb175a8dc55">hwloc_obj_type_t</a> </td> |
244 | <td class="paramname"> <em>type</em>, </td> | |
245 | </tr> | |
246 | <tr> | |
247 | <td class="paramkey"></td> | |
248 | <td></td> | |
249 | <td class="paramtype"><a class="el" href="a00012.html">hwloc_obj_t</a> </td> | |
250 | <td class="paramname"> <em>prev</em> </td> | |
255 | <td class="paramname"><em>type</em>, </td> | |
256 | </tr> | |
257 | <tr> | |
258 | <td class="paramkey"></td> | |
259 | <td></td> | |
260 | <td class="paramtype"><a class="el" href="a00012.html">hwloc_obj_t</a> </td> | |
261 | <td class="paramname"><em>prev</em> </td> | |
251 | 262 | </tr> |
252 | 263 | <tr> |
253 | 264 | <td></td> |
271 | 282 | <td class="memname">static inline <a class="el" href="a00012.html">hwloc_obj_t</a> hwloc_get_pu_obj_by_os_index </td> |
272 | 283 | <td>(</td> |
273 | 284 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
274 | <td class="paramname"> <em>topology</em>, </td> | |
285 | <td class="paramname"><em>topology</em>, </td> | |
275 | 286 | </tr> |
276 | 287 | <tr> |
277 | 288 | <td class="paramkey"></td> |
278 | 289 | <td></td> |
279 | 290 | <td class="paramtype">unsigned </td> |
280 | <td class="paramname"> <em>os_index</em> </td> | |
291 | <td class="paramname"><em>os_index</em> </td> | |
281 | 292 | </tr> |
282 | 293 | <tr> |
283 | 294 | <td></td> |
301 | 312 | <td class="memname">static inline <a class="el" href="a00012.html">hwloc_obj_t</a> hwloc_get_root_obj </td> |
302 | 313 | <td>(</td> |
303 | 314 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
304 | <td class="paramname"> <em>topology</em> )</td> | |
315 | <td class="paramname"><em>topology</em></td><td>)</td> | |
305 | 316 | <td><code> [static]</code></td> |
306 | 317 | </tr> |
307 | 318 | </table> |
321 | 332 | <td class="memname">static inline int hwloc_obj_is_in_subtree </td> |
322 | 333 | <td>(</td> |
323 | 334 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> topology </td> |
324 | <td class="paramname"> <em></em>, </td> | |
325 | </tr> | |
326 | <tr> | |
327 | <td class="paramkey"></td> | |
328 | <td></td> | |
329 | <td class="paramtype"><a class="el" href="a00012.html">hwloc_obj_t</a> </td> | |
330 | <td class="paramname"> <em>obj</em>, </td> | |
331 | </tr> | |
332 | <tr> | |
333 | <td class="paramkey"></td> | |
334 | <td></td> | |
335 | <td class="paramtype"><a class="el" href="a00012.html">hwloc_obj_t</a> </td> | |
336 | <td class="paramname"> <em>subtree_root</em> </td> | |
337 | </tr> | |
338 | <tr> | |
339 | <td></td> | |
340 | <td>)</td> | |
341 | <td></td><td><code> [static]</code></td> | |
342 | </tr> | |
343 | </table> | |
344 | </div> | |
345 | <div class="memdoc"> | |
346 | ||
347 | <p>Returns true if _obj_ is inside the subtree beginning with <code>subtree_root</code>. </p> | |
348 | ||
349 | </div> | |
350 | </div> | |
351 | </div> | |
352 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
335 | <td class="paramname"><em></em>, </td> | |
336 | </tr> | |
337 | <tr> | |
338 | <td class="paramkey"></td> | |
339 | <td></td> | |
340 | <td class="paramtype"><a class="el" href="a00012.html">hwloc_obj_t</a> </td> | |
341 | <td class="paramname"><em>obj</em>, </td> | |
342 | </tr> | |
343 | <tr> | |
344 | <td class="paramkey"></td> | |
345 | <td></td> | |
346 | <td class="paramtype"><a class="el" href="a00012.html">hwloc_obj_t</a> </td> | |
347 | <td class="paramname"><em>subtree_root</em> </td> | |
348 | </tr> | |
349 | <tr> | |
350 | <td></td> | |
351 | <td>)</td> | |
352 | <td></td><td><code> [static]</code></td> | |
353 | </tr> | |
354 | </table> | |
355 | </div> | |
356 | <div class="memdoc"> | |
357 | ||
358 | <p>Returns true if <code>obj</code> is inside the subtree beginning with <code>subtree_root</code>. </p> | |
359 | <dl class="note"><dt><b>Note:</b></dt><dd>This function assumes that both <code>obj</code> and <code>subtree_root</code> have a <code>cpuset</code>. </dd></dl> | |
360 | ||
361 | </div> | |
362 | </div> | |
363 | </div> | |
364 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
353 | 365 | <a href="http://www.doxygen.org/index.html"> |
354 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
366 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
355 | 367 | </body> |
356 | 368 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
52 | 63 | <td class="memname">static inline <a class="el" href="a00012.html">hwloc_obj_t</a> hwloc_get_first_largest_obj_inside_cpuset </td> |
53 | 64 | <td>(</td> |
54 | 65 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
55 | <td class="paramname"> <em>topology</em>, </td> | |
56 | </tr> | |
57 | <tr> | |
58 | <td class="paramkey"></td> | |
59 | <td></td> | |
60 | <td class="paramtype"><a class="el" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25">hwloc_const_cpuset_t</a> </td> | |
61 | <td class="paramname"> <em>set</em> </td> | |
66 | <td class="paramname"><em>topology</em>, </td> | |
67 | </tr> | |
68 | <tr> | |
69 | <td class="paramkey"></td> | |
70 | <td></td> | |
71 | <td class="paramtype"><a class="el" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25">hwloc_const_cpuset_t</a> </td> | |
72 | <td class="paramname"><em>set</em> </td> | |
62 | 73 | </tr> |
63 | 74 | <tr> |
64 | 75 | <td></td> |
83 | 94 | <td class="memname"> int hwloc_get_largest_objs_inside_cpuset </td> |
84 | 95 | <td>(</td> |
85 | 96 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
86 | <td class="paramname"> <em>topology</em>, </td> | |
87 | </tr> | |
88 | <tr> | |
89 | <td class="paramkey"></td> | |
90 | <td></td> | |
91 | <td class="paramtype"><a class="el" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25">hwloc_const_cpuset_t</a> </td> | |
92 | <td class="paramname"> <em>set</em>, </td> | |
97 | <td class="paramname"><em>topology</em>, </td> | |
98 | </tr> | |
99 | <tr> | |
100 | <td class="paramkey"></td> | |
101 | <td></td> | |
102 | <td class="paramtype"><a class="el" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25">hwloc_const_cpuset_t</a> </td> | |
103 | <td class="paramname"><em>set</em>, </td> | |
93 | 104 | </tr> |
94 | 105 | <tr> |
95 | 106 | <td class="paramkey"></td> |
96 | 107 | <td></td> |
97 | 108 | <td class="paramtype"><a class="el" href="a00012.html">hwloc_obj_t</a> *restrict </td> |
98 | <td class="paramname"> <em>objs</em>, </td> | |
109 | <td class="paramname"><em>objs</em>, </td> | |
99 | 110 | </tr> |
100 | 111 | <tr> |
101 | 112 | <td class="paramkey"></td> |
102 | 113 | <td></td> |
103 | 114 | <td class="paramtype">int </td> |
104 | <td class="paramname"> <em>max</em> </td> | |
115 | <td class="paramname"><em>max</em> </td> | |
105 | 116 | </tr> |
106 | 117 | <tr> |
107 | 118 | <td></td> |
125 | 136 | <td class="memname">static inline unsigned hwloc_get_nbobjs_inside_cpuset_by_depth </td> |
126 | 137 | <td>(</td> |
127 | 138 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
128 | <td class="paramname"> <em>topology</em>, </td> | |
129 | </tr> | |
130 | <tr> | |
131 | <td class="paramkey"></td> | |
132 | <td></td> | |
133 | <td class="paramtype"><a class="el" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25">hwloc_const_cpuset_t</a> </td> | |
134 | <td class="paramname"> <em>set</em>, </td> | |
135 | </tr> | |
136 | <tr> | |
137 | <td class="paramkey"></td> | |
138 | <td></td> | |
139 | <td class="paramtype">unsigned </td> | |
140 | <td class="paramname"> <em>depth</em> </td> | |
139 | <td class="paramname"><em>topology</em>, </td> | |
140 | </tr> | |
141 | <tr> | |
142 | <td class="paramkey"></td> | |
143 | <td></td> | |
144 | <td class="paramtype"><a class="el" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25">hwloc_const_cpuset_t</a> </td> | |
145 | <td class="paramname"><em>set</em>, </td> | |
146 | </tr> | |
147 | <tr> | |
148 | <td class="paramkey"></td> | |
149 | <td></td> | |
150 | <td class="paramtype">unsigned </td> | |
151 | <td class="paramname"><em>depth</em> </td> | |
141 | 152 | </tr> |
142 | 153 | <tr> |
143 | 154 | <td></td> |
160 | 171 | <td class="memname">static inline int hwloc_get_nbobjs_inside_cpuset_by_type </td> |
161 | 172 | <td>(</td> |
162 | 173 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
163 | <td class="paramname"> <em>topology</em>, </td> | |
164 | </tr> | |
165 | <tr> | |
166 | <td class="paramkey"></td> | |
167 | <td></td> | |
168 | <td class="paramtype"><a class="el" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25">hwloc_const_cpuset_t</a> </td> | |
169 | <td class="paramname"> <em>set</em>, </td> | |
174 | <td class="paramname"><em>topology</em>, </td> | |
175 | </tr> | |
176 | <tr> | |
177 | <td class="paramkey"></td> | |
178 | <td></td> | |
179 | <td class="paramtype"><a class="el" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25">hwloc_const_cpuset_t</a> </td> | |
180 | <td class="paramname"><em>set</em>, </td> | |
170 | 181 | </tr> |
171 | 182 | <tr> |
172 | 183 | <td class="paramkey"></td> |
173 | 184 | <td></td> |
174 | 185 | <td class="paramtype"><a class="el" href="a00035.html#gacd37bb612667dc437d66bfb175a8dc55">hwloc_obj_type_t</a> </td> |
175 | <td class="paramname"> <em>type</em> </td> | |
186 | <td class="paramname"><em>type</em> </td> | |
176 | 187 | </tr> |
177 | 188 | <tr> |
178 | 189 | <td></td> |
196 | 207 | <td class="memname">static inline <a class="el" href="a00012.html">hwloc_obj_t</a> hwloc_get_next_obj_inside_cpuset_by_depth </td> |
197 | 208 | <td>(</td> |
198 | 209 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
199 | <td class="paramname"> <em>topology</em>, </td> | |
200 | </tr> | |
201 | <tr> | |
202 | <td class="paramkey"></td> | |
203 | <td></td> | |
204 | <td class="paramtype"><a class="el" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25">hwloc_const_cpuset_t</a> </td> | |
205 | <td class="paramname"> <em>set</em>, </td> | |
206 | </tr> | |
207 | <tr> | |
208 | <td class="paramkey"></td> | |
209 | <td></td> | |
210 | <td class="paramtype">unsigned </td> | |
211 | <td class="paramname"> <em>depth</em>, </td> | |
210 | <td class="paramname"><em>topology</em>, </td> | |
211 | </tr> | |
212 | <tr> | |
213 | <td class="paramkey"></td> | |
214 | <td></td> | |
215 | <td class="paramtype"><a class="el" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25">hwloc_const_cpuset_t</a> </td> | |
216 | <td class="paramname"><em>set</em>, </td> | |
217 | </tr> | |
218 | <tr> | |
219 | <td class="paramkey"></td> | |
220 | <td></td> | |
221 | <td class="paramtype">unsigned </td> | |
222 | <td class="paramname"><em>depth</em>, </td> | |
212 | 223 | </tr> |
213 | 224 | <tr> |
214 | 225 | <td class="paramkey"></td> |
215 | 226 | <td></td> |
216 | 227 | <td class="paramtype"><a class="el" href="a00012.html">hwloc_obj_t</a> </td> |
217 | <td class="paramname"> <em>prev</em> </td> | |
228 | <td class="paramname"><em>prev</em> </td> | |
218 | 229 | </tr> |
219 | 230 | <tr> |
220 | 231 | <td></td> |
238 | 249 | <td class="memname">static inline <a class="el" href="a00012.html">hwloc_obj_t</a> hwloc_get_next_obj_inside_cpuset_by_type </td> |
239 | 250 | <td>(</td> |
240 | 251 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
241 | <td class="paramname"> <em>topology</em>, </td> | |
242 | </tr> | |
243 | <tr> | |
244 | <td class="paramkey"></td> | |
245 | <td></td> | |
246 | <td class="paramtype"><a class="el" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25">hwloc_const_cpuset_t</a> </td> | |
247 | <td class="paramname"> <em>set</em>, </td> | |
252 | <td class="paramname"><em>topology</em>, </td> | |
253 | </tr> | |
254 | <tr> | |
255 | <td class="paramkey"></td> | |
256 | <td></td> | |
257 | <td class="paramtype"><a class="el" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25">hwloc_const_cpuset_t</a> </td> | |
258 | <td class="paramname"><em>set</em>, </td> | |
248 | 259 | </tr> |
249 | 260 | <tr> |
250 | 261 | <td class="paramkey"></td> |
251 | 262 | <td></td> |
252 | 263 | <td class="paramtype"><a class="el" href="a00035.html#gacd37bb612667dc437d66bfb175a8dc55">hwloc_obj_type_t</a> </td> |
253 | <td class="paramname"> <em>type</em>, </td> | |
264 | <td class="paramname"><em>type</em>, </td> | |
254 | 265 | </tr> |
255 | 266 | <tr> |
256 | 267 | <td class="paramkey"></td> |
257 | 268 | <td></td> |
258 | 269 | <td class="paramtype"><a class="el" href="a00012.html">hwloc_obj_t</a> </td> |
259 | <td class="paramname"> <em>prev</em> </td> | |
270 | <td class="paramname"><em>prev</em> </td> | |
260 | 271 | </tr> |
261 | 272 | <tr> |
262 | 273 | <td></td> |
280 | 291 | <td class="memname">static inline <a class="el" href="a00012.html">hwloc_obj_t</a> hwloc_get_obj_inside_cpuset_by_depth </td> |
281 | 292 | <td>(</td> |
282 | 293 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
283 | <td class="paramname"> <em>topology</em>, </td> | |
284 | </tr> | |
285 | <tr> | |
286 | <td class="paramkey"></td> | |
287 | <td></td> | |
288 | <td class="paramtype"><a class="el" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25">hwloc_const_cpuset_t</a> </td> | |
289 | <td class="paramname"> <em>set</em>, </td> | |
290 | </tr> | |
291 | <tr> | |
292 | <td class="paramkey"></td> | |
293 | <td></td> | |
294 | <td class="paramtype">unsigned </td> | |
295 | <td class="paramname"> <em>depth</em>, </td> | |
296 | </tr> | |
297 | <tr> | |
298 | <td class="paramkey"></td> | |
299 | <td></td> | |
300 | <td class="paramtype">unsigned </td> | |
301 | <td class="paramname"> <em>idx</em> </td> | |
294 | <td class="paramname"><em>topology</em>, </td> | |
295 | </tr> | |
296 | <tr> | |
297 | <td class="paramkey"></td> | |
298 | <td></td> | |
299 | <td class="paramtype"><a class="el" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25">hwloc_const_cpuset_t</a> </td> | |
300 | <td class="paramname"><em>set</em>, </td> | |
301 | </tr> | |
302 | <tr> | |
303 | <td class="paramkey"></td> | |
304 | <td></td> | |
305 | <td class="paramtype">unsigned </td> | |
306 | <td class="paramname"><em>depth</em>, </td> | |
307 | </tr> | |
308 | <tr> | |
309 | <td class="paramkey"></td> | |
310 | <td></td> | |
311 | <td class="paramtype">unsigned </td> | |
312 | <td class="paramname"><em>idx</em> </td> | |
302 | 313 | </tr> |
303 | 314 | <tr> |
304 | 315 | <td></td> |
321 | 332 | <td class="memname">static inline <a class="el" href="a00012.html">hwloc_obj_t</a> hwloc_get_obj_inside_cpuset_by_type </td> |
322 | 333 | <td>(</td> |
323 | 334 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
324 | <td class="paramname"> <em>topology</em>, </td> | |
325 | </tr> | |
326 | <tr> | |
327 | <td class="paramkey"></td> | |
328 | <td></td> | |
329 | <td class="paramtype"><a class="el" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25">hwloc_const_cpuset_t</a> </td> | |
330 | <td class="paramname"> <em>set</em>, </td> | |
335 | <td class="paramname"><em>topology</em>, </td> | |
336 | </tr> | |
337 | <tr> | |
338 | <td class="paramkey"></td> | |
339 | <td></td> | |
340 | <td class="paramtype"><a class="el" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25">hwloc_const_cpuset_t</a> </td> | |
341 | <td class="paramname"><em>set</em>, </td> | |
331 | 342 | </tr> |
332 | 343 | <tr> |
333 | 344 | <td class="paramkey"></td> |
334 | 345 | <td></td> |
335 | 346 | <td class="paramtype"><a class="el" href="a00035.html#gacd37bb612667dc437d66bfb175a8dc55">hwloc_obj_type_t</a> </td> |
336 | <td class="paramname"> <em>type</em>, </td> | |
337 | </tr> | |
338 | <tr> | |
339 | <td class="paramkey"></td> | |
340 | <td></td> | |
341 | <td class="paramtype">unsigned </td> | |
342 | <td class="paramname"> <em>idx</em> </td> | |
347 | <td class="paramname"><em>type</em>, </td> | |
348 | </tr> | |
349 | <tr> | |
350 | <td class="paramkey"></td> | |
351 | <td></td> | |
352 | <td class="paramtype">unsigned </td> | |
353 | <td class="paramname"><em>idx</em> </td> | |
343 | 354 | </tr> |
344 | 355 | <tr> |
345 | 356 | <td></td> |
356 | 367 | </div> |
357 | 368 | </div> |
358 | 369 | </div> |
359 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
370 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
360 | 371 | <a href="http://www.doxygen.org/index.html"> |
361 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
372 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
362 | 373 | </body> |
363 | 374 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
44 | 55 | <td class="memname">static inline <a class="el" href="a00012.html">hwloc_obj_t</a> hwloc_get_child_covering_cpuset </td> |
45 | 56 | <td>(</td> |
46 | 57 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> topology </td> |
47 | <td class="paramname"> <em></em>, </td> | |
58 | <td class="paramname"><em></em>, </td> | |
48 | 59 | </tr> |
49 | 60 | <tr> |
50 | 61 | <td class="paramkey"></td> |
51 | 62 | <td></td> |
52 | 63 | <td class="paramtype"><a class="el" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25">hwloc_const_cpuset_t</a> </td> |
53 | <td class="paramname"> <em>set</em>, </td> | |
64 | <td class="paramname"><em>set</em>, </td> | |
54 | 65 | </tr> |
55 | 66 | <tr> |
56 | 67 | <td class="paramkey"></td> |
57 | 68 | <td></td> |
58 | 69 | <td class="paramtype"><a class="el" href="a00012.html">hwloc_obj_t</a> </td> |
59 | <td class="paramname"> <em>parent</em> </td> | |
70 | <td class="paramname"><em>parent</em> </td> | |
60 | 71 | </tr> |
61 | 72 | <tr> |
62 | 73 | <td></td> |
80 | 91 | <td class="memname">static inline <a class="el" href="a00012.html">hwloc_obj_t</a> hwloc_get_obj_covering_cpuset </td> |
81 | 92 | <td>(</td> |
82 | 93 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
83 | <td class="paramname"> <em>topology</em>, </td> | |
94 | <td class="paramname"><em>topology</em>, </td> | |
84 | 95 | </tr> |
85 | 96 | <tr> |
86 | 97 | <td class="paramkey"></td> |
87 | 98 | <td></td> |
88 | 99 | <td class="paramtype"><a class="el" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25">hwloc_const_cpuset_t</a> </td> |
89 | <td class="paramname"> <em>set</em> </td> | |
100 | <td class="paramname"><em>set</em> </td> | |
90 | 101 | </tr> |
91 | 102 | <tr> |
92 | 103 | <td></td> |
103 | 114 | </div> |
104 | 115 | </div> |
105 | 116 | </div> |
106 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
117 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
107 | 118 | <a href="http://www.doxygen.org/index.html"> |
108 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
119 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
109 | 120 | </body> |
110 | 121 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
40 | 51 | <td class="memname">static inline <a class="el" href="a00012.html">hwloc_obj_t</a> hwloc_get_next_obj_covering_cpuset_by_depth </td> |
41 | 52 | <td>(</td> |
42 | 53 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
43 | <td class="paramname"> <em>topology</em>, </td> | |
54 | <td class="paramname"><em>topology</em>, </td> | |
44 | 55 | </tr> |
45 | 56 | <tr> |
46 | 57 | <td class="paramkey"></td> |
47 | 58 | <td></td> |
48 | 59 | <td class="paramtype"><a class="el" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25">hwloc_const_cpuset_t</a> </td> |
49 | <td class="paramname"> <em>set</em>, </td> | |
60 | <td class="paramname"><em>set</em>, </td> | |
50 | 61 | </tr> |
51 | 62 | <tr> |
52 | 63 | <td class="paramkey"></td> |
53 | 64 | <td></td> |
54 | 65 | <td class="paramtype">unsigned </td> |
55 | <td class="paramname"> <em>depth</em>, </td> | |
66 | <td class="paramname"><em>depth</em>, </td> | |
56 | 67 | </tr> |
57 | 68 | <tr> |
58 | 69 | <td class="paramkey"></td> |
59 | 70 | <td></td> |
60 | 71 | <td class="paramtype"><a class="el" href="a00012.html">hwloc_obj_t</a> </td> |
61 | <td class="paramname"> <em>prev</em> </td> | |
72 | <td class="paramname"><em>prev</em> </td> | |
62 | 73 | </tr> |
63 | 74 | <tr> |
64 | 75 | <td></td> |
82 | 93 | <td class="memname">static inline <a class="el" href="a00012.html">hwloc_obj_t</a> hwloc_get_next_obj_covering_cpuset_by_type </td> |
83 | 94 | <td>(</td> |
84 | 95 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
85 | <td class="paramname"> <em>topology</em>, </td> | |
96 | <td class="paramname"><em>topology</em>, </td> | |
86 | 97 | </tr> |
87 | 98 | <tr> |
88 | 99 | <td class="paramkey"></td> |
89 | 100 | <td></td> |
90 | 101 | <td class="paramtype"><a class="el" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25">hwloc_const_cpuset_t</a> </td> |
91 | <td class="paramname"> <em>set</em>, </td> | |
102 | <td class="paramname"><em>set</em>, </td> | |
92 | 103 | </tr> |
93 | 104 | <tr> |
94 | 105 | <td class="paramkey"></td> |
95 | 106 | <td></td> |
96 | 107 | <td class="paramtype"><a class="el" href="a00035.html#gacd37bb612667dc437d66bfb175a8dc55">hwloc_obj_type_t</a> </td> |
97 | <td class="paramname"> <em>type</em>, </td> | |
108 | <td class="paramname"><em>type</em>, </td> | |
98 | 109 | </tr> |
99 | 110 | <tr> |
100 | 111 | <td class="paramkey"></td> |
101 | 112 | <td></td> |
102 | 113 | <td class="paramtype"><a class="el" href="a00012.html">hwloc_obj_t</a> </td> |
103 | <td class="paramname"> <em>prev</em> </td> | |
114 | <td class="paramname"><em>prev</em> </td> | |
104 | 115 | </tr> |
105 | 116 | <tr> |
106 | 117 | <td></td> |
118 | 129 | </div> |
119 | 130 | </div> |
120 | 131 | </div> |
121 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
132 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
122 | 133 | <a href="http://www.doxygen.org/index.html"> |
123 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
134 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
124 | 135 | </body> |
125 | 136 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
44 | 55 | <td class="memname">static inline <a class="el" href="a00012.html">hwloc_obj_t</a> hwloc_get_cache_covering_cpuset </td> |
45 | 56 | <td>(</td> |
46 | 57 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
47 | <td class="paramname"> <em>topology</em>, </td> | |
58 | <td class="paramname"><em>topology</em>, </td> | |
48 | 59 | </tr> |
49 | 60 | <tr> |
50 | 61 | <td class="paramkey"></td> |
51 | 62 | <td></td> |
52 | 63 | <td class="paramtype"><a class="el" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25">hwloc_const_cpuset_t</a> </td> |
53 | <td class="paramname"> <em>set</em> </td> | |
64 | <td class="paramname"><em>set</em> </td> | |
54 | 65 | </tr> |
55 | 66 | <tr> |
56 | 67 | <td></td> |
74 | 85 | <td class="memname">static inline <a class="el" href="a00012.html">hwloc_obj_t</a> hwloc_get_shared_cache_covering_obj </td> |
75 | 86 | <td>(</td> |
76 | 87 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> topology </td> |
77 | <td class="paramname"> <em></em>, </td> | |
88 | <td class="paramname"><em></em>, </td> | |
78 | 89 | </tr> |
79 | 90 | <tr> |
80 | 91 | <td class="paramkey"></td> |
81 | 92 | <td></td> |
82 | 93 | <td class="paramtype"><a class="el" href="a00012.html">hwloc_obj_t</a> </td> |
83 | <td class="paramname"> <em>obj</em> </td> | |
94 | <td class="paramname"><em>obj</em> </td> | |
84 | 95 | </tr> |
85 | 96 | <tr> |
86 | 97 | <td></td> |
97 | 108 | </div> |
98 | 109 | </div> |
99 | 110 | </div> |
100 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
111 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
101 | 112 | <a href="http://www.doxygen.org/index.html"> |
102 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
113 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
103 | 114 | </body> |
104 | 115 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
45 | 56 | <td class="memname"> unsigned hwloc_get_closest_objs </td> |
46 | 57 | <td>(</td> |
47 | 58 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
48 | <td class="paramname"> <em>topology</em>, </td> | |
59 | <td class="paramname"><em>topology</em>, </td> | |
49 | 60 | </tr> |
50 | 61 | <tr> |
51 | 62 | <td class="paramkey"></td> |
52 | 63 | <td></td> |
53 | 64 | <td class="paramtype"><a class="el" href="a00012.html">hwloc_obj_t</a> </td> |
54 | <td class="paramname"> <em>src</em>, </td> | |
65 | <td class="paramname"><em>src</em>, </td> | |
55 | 66 | </tr> |
56 | 67 | <tr> |
57 | 68 | <td class="paramkey"></td> |
58 | 69 | <td></td> |
59 | 70 | <td class="paramtype"><a class="el" href="a00012.html">hwloc_obj_t</a> *restrict </td> |
60 | <td class="paramname"> <em>objs</em>, </td> | |
71 | <td class="paramname"><em>objs</em>, </td> | |
61 | 72 | </tr> |
62 | 73 | <tr> |
63 | 74 | <td class="paramkey"></td> |
64 | 75 | <td></td> |
65 | 76 | <td class="paramtype">unsigned </td> |
66 | <td class="paramname"> <em>max</em> </td> | |
77 | <td class="paramname"><em>max</em> </td> | |
67 | 78 | </tr> |
68 | 79 | <tr> |
69 | 80 | <td></td> |
88 | 99 | <td class="memname">static inline <a class="el" href="a00012.html">hwloc_obj_t</a> hwloc_get_obj_below_array_by_type </td> |
89 | 100 | <td>(</td> |
90 | 101 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
91 | <td class="paramname"> <em>topology</em>, </td> | |
102 | <td class="paramname"><em>topology</em>, </td> | |
92 | 103 | </tr> |
93 | 104 | <tr> |
94 | 105 | <td class="paramkey"></td> |
95 | 106 | <td></td> |
96 | 107 | <td class="paramtype">int </td> |
97 | <td class="paramname"> <em>nr</em>, </td> | |
108 | <td class="paramname"><em>nr</em>, </td> | |
98 | 109 | </tr> |
99 | 110 | <tr> |
100 | 111 | <td class="paramkey"></td> |
101 | 112 | <td></td> |
102 | 113 | <td class="paramtype"><a class="el" href="a00035.html#gacd37bb612667dc437d66bfb175a8dc55">hwloc_obj_type_t</a> * </td> |
103 | <td class="paramname"> <em>typev</em>, </td> | |
114 | <td class="paramname"><em>typev</em>, </td> | |
104 | 115 | </tr> |
105 | 116 | <tr> |
106 | 117 | <td class="paramkey"></td> |
107 | 118 | <td></td> |
108 | 119 | <td class="paramtype">unsigned * </td> |
109 | <td class="paramname"> <em>idxv</em> </td> | |
120 | <td class="paramname"><em>idxv</em> </td> | |
110 | 121 | </tr> |
111 | 122 | <tr> |
112 | 123 | <td></td> |
133 | 144 | <td class="memname">static inline <a class="el" href="a00012.html">hwloc_obj_t</a> hwloc_get_obj_below_by_type </td> |
134 | 145 | <td>(</td> |
135 | 146 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
136 | <td class="paramname"> <em>topology</em>, </td> | |
147 | <td class="paramname"><em>topology</em>, </td> | |
137 | 148 | </tr> |
138 | 149 | <tr> |
139 | 150 | <td class="paramkey"></td> |
140 | 151 | <td></td> |
141 | 152 | <td class="paramtype"><a class="el" href="a00035.html#gacd37bb612667dc437d66bfb175a8dc55">hwloc_obj_type_t</a> </td> |
142 | <td class="paramname"> <em>type1</em>, </td> | |
153 | <td class="paramname"><em>type1</em>, </td> | |
143 | 154 | </tr> |
144 | 155 | <tr> |
145 | 156 | <td class="paramkey"></td> |
146 | 157 | <td></td> |
147 | 158 | <td class="paramtype">unsigned </td> |
148 | <td class="paramname"> <em>idx1</em>, </td> | |
159 | <td class="paramname"><em>idx1</em>, </td> | |
149 | 160 | </tr> |
150 | 161 | <tr> |
151 | 162 | <td class="paramkey"></td> |
152 | 163 | <td></td> |
153 | 164 | <td class="paramtype"><a class="el" href="a00035.html#gacd37bb612667dc437d66bfb175a8dc55">hwloc_obj_type_t</a> </td> |
154 | <td class="paramname"> <em>type2</em>, </td> | |
165 | <td class="paramname"><em>type2</em>, </td> | |
155 | 166 | </tr> |
156 | 167 | <tr> |
157 | 168 | <td class="paramkey"></td> |
158 | 169 | <td></td> |
159 | 170 | <td class="paramtype">unsigned </td> |
160 | <td class="paramname"> <em>idx2</em> </td> | |
171 | <td class="paramname"><em>idx2</em> </td> | |
161 | 172 | </tr> |
162 | 173 | <tr> |
163 | 174 | <td></td> |
175 | 186 | </div> |
176 | 187 | </div> |
177 | 188 | </div> |
178 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
189 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
179 | 190 | <a href="http://www.doxygen.org/index.html"> |
180 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
191 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
181 | 192 | </body> |
182 | 193 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
42 | 53 | <td class="memname">static inline void* hwloc_alloc_membind_policy </td> |
43 | 54 | <td>(</td> |
44 | 55 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
45 | <td class="paramname"> <em>topology</em>, </td> | |
56 | <td class="paramname"><em>topology</em>, </td> | |
46 | 57 | </tr> |
47 | 58 | <tr> |
48 | 59 | <td class="paramkey"></td> |
49 | 60 | <td></td> |
50 | 61 | <td class="paramtype">size_t </td> |
51 | <td class="paramname"> <em>len</em>, </td> | |
62 | <td class="paramname"><em>len</em>, </td> | |
52 | 63 | </tr> |
53 | 64 | <tr> |
54 | 65 | <td class="paramkey"></td> |
55 | 66 | <td></td> |
56 | 67 | <td class="paramtype"><a class="el" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25">hwloc_const_cpuset_t</a> </td> |
57 | <td class="paramname"> <em>cpuset</em>, </td> | |
68 | <td class="paramname"><em>cpuset</em>, </td> | |
58 | 69 | </tr> |
59 | 70 | <tr> |
60 | 71 | <td class="paramkey"></td> |
61 | 72 | <td></td> |
62 | 73 | <td class="paramtype"><a class="el" href="a00044.html#gac9764f79505775d06407b40f5e4661e8">hwloc_membind_policy_t</a> </td> |
63 | <td class="paramname"> <em>policy</em>, </td> | |
74 | <td class="paramname"><em>policy</em>, </td> | |
64 | 75 | </tr> |
65 | 76 | <tr> |
66 | 77 | <td class="paramkey"></td> |
67 | 78 | <td></td> |
68 | 79 | <td class="paramtype">int </td> |
69 | <td class="paramname"> <em>flags</em> </td> | |
80 | <td class="paramname"><em>flags</em> </td> | |
70 | 81 | </tr> |
71 | 82 | <tr> |
72 | 83 | <td></td> |
90 | 101 | <td class="memname">static inline void* hwloc_alloc_membind_policy_nodeset </td> |
91 | 102 | <td>(</td> |
92 | 103 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
93 | <td class="paramname"> <em>topology</em>, </td> | |
104 | <td class="paramname"><em>topology</em>, </td> | |
94 | 105 | </tr> |
95 | 106 | <tr> |
96 | 107 | <td class="paramkey"></td> |
97 | 108 | <td></td> |
98 | 109 | <td class="paramtype">size_t </td> |
99 | <td class="paramname"> <em>len</em>, </td> | |
110 | <td class="paramname"><em>len</em>, </td> | |
100 | 111 | </tr> |
101 | 112 | <tr> |
102 | 113 | <td class="paramkey"></td> |
103 | 114 | <td></td> |
104 | 115 | <td class="paramtype"><a class="el" href="a00034.html#ga2f5276235841ad66a79bedad16a5a10c">hwloc_const_nodeset_t</a> </td> |
105 | <td class="paramname"> <em>nodeset</em>, </td> | |
116 | <td class="paramname"><em>nodeset</em>, </td> | |
106 | 117 | </tr> |
107 | 118 | <tr> |
108 | 119 | <td class="paramkey"></td> |
109 | 120 | <td></td> |
110 | 121 | <td class="paramtype"><a class="el" href="a00044.html#gac9764f79505775d06407b40f5e4661e8">hwloc_membind_policy_t</a> </td> |
111 | <td class="paramname"> <em>policy</em>, </td> | |
122 | <td class="paramname"><em>policy</em>, </td> | |
112 | 123 | </tr> |
113 | 124 | <tr> |
114 | 125 | <td class="paramkey"></td> |
115 | 126 | <td></td> |
116 | 127 | <td class="paramtype">int </td> |
117 | <td class="paramname"> <em>flags</em> </td> | |
128 | <td class="paramname"><em>flags</em> </td> | |
118 | 129 | </tr> |
119 | 130 | <tr> |
120 | 131 | <td></td> |
138 | 149 | <td class="memname">static inline void hwloc_distribute </td> |
139 | 150 | <td>(</td> |
140 | 151 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
141 | <td class="paramname"> <em>topology</em>, </td> | |
152 | <td class="paramname"><em>topology</em>, </td> | |
142 | 153 | </tr> |
143 | 154 | <tr> |
144 | 155 | <td class="paramkey"></td> |
145 | 156 | <td></td> |
146 | 157 | <td class="paramtype"><a class="el" href="a00012.html">hwloc_obj_t</a> </td> |
147 | <td class="paramname"> <em>root</em>, </td> | |
158 | <td class="paramname"><em>root</em>, </td> | |
148 | 159 | </tr> |
149 | 160 | <tr> |
150 | 161 | <td class="paramkey"></td> |
151 | 162 | <td></td> |
152 | 163 | <td class="paramtype"><a class="el" href="a00034.html#ga4bbf39b68b6f568fb92739e7c0ea7801">hwloc_cpuset_t</a> * </td> |
153 | <td class="paramname"> <em>cpuset</em>, </td> | |
154 | </tr> | |
155 | <tr> | |
156 | <td class="paramkey"></td> | |
157 | <td></td> | |
158 | <td class="paramtype">unsigned </td> | |
159 | <td class="paramname"> <em>n</em>, </td> | |
160 | </tr> | |
161 | <tr> | |
162 | <td class="paramkey"></td> | |
163 | <td></td> | |
164 | <td class="paramtype">unsigned </td> | |
165 | <td class="paramname"> <em>until</em> </td> | |
164 | <td class="paramname"><em>cpuset</em>, </td> | |
165 | </tr> | |
166 | <tr> | |
167 | <td class="paramkey"></td> | |
168 | <td></td> | |
169 | <td class="paramtype">unsigned </td> | |
170 | <td class="paramname"><em>n</em>, </td> | |
171 | </tr> | |
172 | <tr> | |
173 | <td class="paramkey"></td> | |
174 | <td></td> | |
175 | <td class="paramtype">unsigned </td> | |
176 | <td class="paramname"><em>until</em> </td> | |
166 | 177 | </tr> |
167 | 178 | <tr> |
168 | 179 | <td></td> |
183 | 194 | <td class="memname">static inline void hwloc_distributev </td> |
184 | 195 | <td>(</td> |
185 | 196 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
186 | <td class="paramname"> <em>topology</em>, </td> | |
197 | <td class="paramname"><em>topology</em>, </td> | |
187 | 198 | </tr> |
188 | 199 | <tr> |
189 | 200 | <td class="paramkey"></td> |
190 | 201 | <td></td> |
191 | 202 | <td class="paramtype"><a class="el" href="a00012.html">hwloc_obj_t</a> * </td> |
192 | <td class="paramname"> <em>roots</em>, </td> | |
193 | </tr> | |
194 | <tr> | |
195 | <td class="paramkey"></td> | |
196 | <td></td> | |
197 | <td class="paramtype">unsigned </td> | |
198 | <td class="paramname"> <em>n_roots</em>, </td> | |
203 | <td class="paramname"><em>roots</em>, </td> | |
204 | </tr> | |
205 | <tr> | |
206 | <td class="paramkey"></td> | |
207 | <td></td> | |
208 | <td class="paramtype">unsigned </td> | |
209 | <td class="paramname"><em>n_roots</em>, </td> | |
199 | 210 | </tr> |
200 | 211 | <tr> |
201 | 212 | <td class="paramkey"></td> |
202 | 213 | <td></td> |
203 | 214 | <td class="paramtype"><a class="el" href="a00034.html#ga4bbf39b68b6f568fb92739e7c0ea7801">hwloc_cpuset_t</a> * </td> |
204 | <td class="paramname"> <em>cpuset</em>, </td> | |
205 | </tr> | |
206 | <tr> | |
207 | <td class="paramkey"></td> | |
208 | <td></td> | |
209 | <td class="paramtype">unsigned </td> | |
210 | <td class="paramname"> <em>n</em>, </td> | |
211 | </tr> | |
212 | <tr> | |
213 | <td class="paramkey"></td> | |
214 | <td></td> | |
215 | <td class="paramtype">unsigned </td> | |
216 | <td class="paramname"> <em>until</em> </td> | |
215 | <td class="paramname"><em>cpuset</em>, </td> | |
216 | </tr> | |
217 | <tr> | |
218 | <td class="paramkey"></td> | |
219 | <td></td> | |
220 | <td class="paramtype">unsigned </td> | |
221 | <td class="paramname"><em>n</em>, </td> | |
222 | </tr> | |
223 | <tr> | |
224 | <td class="paramkey"></td> | |
225 | <td></td> | |
226 | <td class="paramtype">unsigned </td> | |
227 | <td class="paramname"><em>until</em> </td> | |
217 | 228 | </tr> |
218 | 229 | <tr> |
219 | 230 | <td></td> |
234 | 245 | </div> |
235 | 246 | </div> |
236 | 247 | </div> |
237 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
248 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
238 | 249 | <a href="http://www.doxygen.org/index.html"> |
239 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
250 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
240 | 251 | </body> |
241 | 252 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
50 | 61 | <td class="memname">static inline <a class="el" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25">hwloc_const_cpuset_t</a> hwloc_topology_get_allowed_cpuset </td> |
51 | 62 | <td>(</td> |
52 | 63 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
53 | <td class="paramname"> <em>topology</em> )</td> | |
64 | <td class="paramname"><em>topology</em></td><td>)</td> | |
54 | 65 | <td><code> [static]</code></td> |
55 | 66 | </tr> |
56 | 67 | </table> |
71 | 82 | <td class="memname">static inline <a class="el" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25">hwloc_const_cpuset_t</a> hwloc_topology_get_complete_cpuset </td> |
72 | 83 | <td>(</td> |
73 | 84 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
74 | <td class="paramname"> <em>topology</em> )</td> | |
85 | <td class="paramname"><em>topology</em></td><td>)</td> | |
75 | 86 | <td><code> [static]</code></td> |
76 | 87 | </tr> |
77 | 88 | </table> |
92 | 103 | <td class="memname">static inline <a class="el" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25">hwloc_const_cpuset_t</a> hwloc_topology_get_online_cpuset </td> |
93 | 104 | <td>(</td> |
94 | 105 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
95 | <td class="paramname"> <em>topology</em> )</td> | |
106 | <td class="paramname"><em>topology</em></td><td>)</td> | |
96 | 107 | <td><code> [static]</code></td> |
97 | 108 | </tr> |
98 | 109 | </table> |
113 | 124 | <td class="memname">static inline <a class="el" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25">hwloc_const_cpuset_t</a> hwloc_topology_get_topology_cpuset </td> |
114 | 125 | <td>(</td> |
115 | 126 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
116 | <td class="paramname"> <em>topology</em> )</td> | |
127 | <td class="paramname"><em>topology</em></td><td>)</td> | |
117 | 128 | <td><code> [static]</code></td> |
118 | 129 | </tr> |
119 | 130 | </table> |
127 | 138 | </div> |
128 | 139 | </div> |
129 | 140 | </div> |
130 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
141 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
131 | 142 | <a href="http://www.doxygen.org/index.html"> |
132 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
143 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
133 | 144 | </body> |
134 | 145 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
47 | 58 | <td class="memname">static inline <a class="el" href="a00034.html#ga2f5276235841ad66a79bedad16a5a10c">hwloc_const_nodeset_t</a> hwloc_topology_get_allowed_nodeset </td> |
48 | 59 | <td>(</td> |
49 | 60 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
50 | <td class="paramname"> <em>topology</em> )</td> | |
61 | <td class="paramname"><em>topology</em></td><td>)</td> | |
51 | 62 | <td><code> [static]</code></td> |
52 | 63 | </tr> |
53 | 64 | </table> |
68 | 79 | <td class="memname">static inline <a class="el" href="a00034.html#ga2f5276235841ad66a79bedad16a5a10c">hwloc_const_nodeset_t</a> hwloc_topology_get_complete_nodeset </td> |
69 | 80 | <td>(</td> |
70 | 81 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
71 | <td class="paramname"> <em>topology</em> )</td> | |
82 | <td class="paramname"><em>topology</em></td><td>)</td> | |
72 | 83 | <td><code> [static]</code></td> |
73 | 84 | </tr> |
74 | 85 | </table> |
89 | 100 | <td class="memname">static inline <a class="el" href="a00034.html#ga2f5276235841ad66a79bedad16a5a10c">hwloc_const_nodeset_t</a> hwloc_topology_get_topology_nodeset </td> |
90 | 101 | <td>(</td> |
91 | 102 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
92 | <td class="paramname"> <em>topology</em> )</td> | |
103 | <td class="paramname"><em>topology</em></td><td>)</td> | |
93 | 104 | <td><code> [static]</code></td> |
94 | 105 | </tr> |
95 | 106 | </table> |
103 | 114 | </div> |
104 | 115 | </div> |
105 | 116 | </div> |
106 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
117 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
107 | 118 | <a href="http://www.doxygen.org/index.html"> |
108 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
119 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
109 | 120 | </body> |
110 | 121 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
46 | 57 | <td class="memname">static inline void hwloc_cpuset_from_nodeset </td> |
47 | 58 | <td>(</td> |
48 | 59 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
49 | <td class="paramname"> <em>topology</em>, </td> | |
60 | <td class="paramname"><em>topology</em>, </td> | |
50 | 61 | </tr> |
51 | 62 | <tr> |
52 | 63 | <td class="paramkey"></td> |
53 | 64 | <td></td> |
54 | 65 | <td class="paramtype"><a class="el" href="a00034.html#ga4bbf39b68b6f568fb92739e7c0ea7801">hwloc_cpuset_t</a> </td> |
55 | <td class="paramname"> <em>cpuset</em>, </td> | |
66 | <td class="paramname"><em>cpuset</em>, </td> | |
56 | 67 | </tr> |
57 | 68 | <tr> |
58 | 69 | <td class="paramkey"></td> |
59 | 70 | <td></td> |
60 | 71 | <td class="paramtype"><a class="el" href="a00034.html#ga2f5276235841ad66a79bedad16a5a10c">hwloc_const_nodeset_t</a> </td> |
61 | <td class="paramname"> <em>nodeset</em> </td> | |
72 | <td class="paramname"><em>nodeset</em> </td> | |
62 | 73 | </tr> |
63 | 74 | <tr> |
64 | 75 | <td></td> |
82 | 93 | <td class="memname">static inline void hwloc_cpuset_from_nodeset_strict </td> |
83 | 94 | <td>(</td> |
84 | 95 | <td class="paramtype">struct hwloc_topology * </td> |
85 | <td class="paramname"> <em>topology</em>, </td> | |
96 | <td class="paramname"><em>topology</em>, </td> | |
86 | 97 | </tr> |
87 | 98 | <tr> |
88 | 99 | <td class="paramkey"></td> |
89 | 100 | <td></td> |
90 | 101 | <td class="paramtype"><a class="el" href="a00034.html#ga4bbf39b68b6f568fb92739e7c0ea7801">hwloc_cpuset_t</a> </td> |
91 | <td class="paramname"> <em>cpuset</em>, </td> | |
102 | <td class="paramname"><em>cpuset</em>, </td> | |
92 | 103 | </tr> |
93 | 104 | <tr> |
94 | 105 | <td class="paramkey"></td> |
95 | 106 | <td></td> |
96 | 107 | <td class="paramtype"><a class="el" href="a00034.html#ga2f5276235841ad66a79bedad16a5a10c">hwloc_const_nodeset_t</a> </td> |
97 | <td class="paramname"> <em>nodeset</em> </td> | |
108 | <td class="paramname"><em>nodeset</em> </td> | |
98 | 109 | </tr> |
99 | 110 | <tr> |
100 | 111 | <td></td> |
118 | 129 | <td class="memname">static inline void hwloc_cpuset_to_nodeset </td> |
119 | 130 | <td>(</td> |
120 | 131 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
121 | <td class="paramname"> <em>topology</em>, </td> | |
132 | <td class="paramname"><em>topology</em>, </td> | |
122 | 133 | </tr> |
123 | 134 | <tr> |
124 | 135 | <td class="paramkey"></td> |
125 | 136 | <td></td> |
126 | 137 | <td class="paramtype"><a class="el" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25">hwloc_const_cpuset_t</a> </td> |
127 | <td class="paramname"> <em>cpuset</em>, </td> | |
138 | <td class="paramname"><em>cpuset</em>, </td> | |
128 | 139 | </tr> |
129 | 140 | <tr> |
130 | 141 | <td class="paramkey"></td> |
131 | 142 | <td></td> |
132 | 143 | <td class="paramtype"><a class="el" href="a00034.html#ga37e35730fa7e775b5bb0afe893d6d508">hwloc_nodeset_t</a> </td> |
133 | <td class="paramname"> <em>nodeset</em> </td> | |
144 | <td class="paramname"><em>nodeset</em> </td> | |
134 | 145 | </tr> |
135 | 146 | <tr> |
136 | 147 | <td></td> |
155 | 166 | <td class="memname">static inline void hwloc_cpuset_to_nodeset_strict </td> |
156 | 167 | <td>(</td> |
157 | 168 | <td class="paramtype">struct hwloc_topology * </td> |
158 | <td class="paramname"> <em>topology</em>, </td> | |
169 | <td class="paramname"><em>topology</em>, </td> | |
159 | 170 | </tr> |
160 | 171 | <tr> |
161 | 172 | <td class="paramkey"></td> |
162 | 173 | <td></td> |
163 | 174 | <td class="paramtype"><a class="el" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25">hwloc_const_cpuset_t</a> </td> |
164 | <td class="paramname"> <em>cpuset</em>, </td> | |
175 | <td class="paramname"><em>cpuset</em>, </td> | |
165 | 176 | </tr> |
166 | 177 | <tr> |
167 | 178 | <td class="paramkey"></td> |
168 | 179 | <td></td> |
169 | 180 | <td class="paramtype"><a class="el" href="a00034.html#ga37e35730fa7e775b5bb0afe893d6d508">hwloc_nodeset_t</a> </td> |
170 | <td class="paramname"> <em>nodeset</em> </td> | |
181 | <td class="paramname"><em>nodeset</em> </td> | |
171 | 182 | </tr> |
172 | 183 | <tr> |
173 | 184 | <td></td> |
184 | 195 | </div> |
185 | 196 | </div> |
186 | 197 | </div> |
187 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
198 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
188 | 199 | <a href="http://www.doxygen.org/index.html"> |
189 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
200 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
190 | 201 | </body> |
191 | 202 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
125 | 136 | <tr> |
126 | 137 | <td class="memname">#define hwloc_bitmap_foreach_end</td> |
127 | 138 | <td>(</td> |
128 | <td class="paramname"> )</td> | |
139 | <td class="paramname"></td><td>)</td> | |
129 | 140 | <td></td> |
130 | 141 | </tr> |
131 | 142 | </table> |
177 | 188 | <td class="memname"> void hwloc_bitmap_allbut </td> |
178 | 189 | <td>(</td> |
179 | 190 | <td class="paramtype"><a class="el" href="a00056.html#gaa3c2bf4c776d603dcebbb61b0c923d84">hwloc_bitmap_t</a> </td> |
180 | <td class="paramname"> <em>bitmap</em>, </td> | |
191 | <td class="paramname"><em>bitmap</em>, </td> | |
181 | 192 | </tr> |
182 | 193 | <tr> |
183 | 194 | <td class="paramkey"></td> |
184 | 195 | <td></td> |
185 | 196 | <td class="paramtype">unsigned </td> |
186 | <td class="paramname"> <em>id</em> </td> | |
197 | <td class="paramname"><em>id</em> </td> | |
187 | 198 | </tr> |
188 | 199 | <tr> |
189 | 200 | <td></td> |
206 | 217 | <td class="memname"> <a class="el" href="a00056.html#gaa3c2bf4c776d603dcebbb61b0c923d84">hwloc_bitmap_t</a> hwloc_bitmap_alloc </td> |
207 | 218 | <td>(</td> |
208 | 219 | <td class="paramtype">void </td> |
209 | <td class="paramname"> )</td> | |
220 | <td class="paramname"></td><td>)</td> | |
210 | 221 | <td></td> |
211 | 222 | </tr> |
212 | 223 | </table> |
214 | 225 | <div class="memdoc"> |
215 | 226 | |
216 | 227 | <p>Allocate a new empty bitmap. </p> |
217 | <dl class="return"><dt><b>Returns:</b></dt><dd>A valid bitmap or NULL.</dd></dl> | |
228 | <dl class="return"><dt><b>Returns:</b></dt><dd>A valid bitmap or <code>NULL</code>.</dd></dl> | |
218 | 229 | <p>The bitmap should be freed by a corresponding call to <a class="el" href="a00056.html#ga8e7035fe555ef96921bfb98e08519bc7" title="Free bitmap bitmap.">hwloc_bitmap_free()</a>. </p> |
219 | 230 | |
220 | 231 | </div> |
227 | 238 | <td class="memname"> <a class="el" href="a00056.html#gaa3c2bf4c776d603dcebbb61b0c923d84">hwloc_bitmap_t</a> hwloc_bitmap_alloc_full </td> |
228 | 239 | <td>(</td> |
229 | 240 | <td class="paramtype">void </td> |
230 | <td class="paramname"> )</td> | |
241 | <td class="paramname"></td><td>)</td> | |
231 | 242 | <td></td> |
232 | 243 | </tr> |
233 | 244 | </table> |
246 | 257 | <td class="memname"> void hwloc_bitmap_and </td> |
247 | 258 | <td>(</td> |
248 | 259 | <td class="paramtype"><a class="el" href="a00056.html#gaa3c2bf4c776d603dcebbb61b0c923d84">hwloc_bitmap_t</a> </td> |
249 | <td class="paramname"> <em>res</em>, </td> | |
250 | </tr> | |
251 | <tr> | |
252 | <td class="paramkey"></td> | |
253 | <td></td> | |
254 | <td class="paramtype"><a class="el" href="a00056.html#ga2fb1bbc8aea1ea22dee2f0fd39659f48">hwloc_const_bitmap_t</a> </td> | |
255 | <td class="paramname"> <em>bitmap1</em>, </td> | |
256 | </tr> | |
257 | <tr> | |
258 | <td class="paramkey"></td> | |
259 | <td></td> | |
260 | <td class="paramtype"><a class="el" href="a00056.html#ga2fb1bbc8aea1ea22dee2f0fd39659f48">hwloc_const_bitmap_t</a> </td> | |
261 | <td class="paramname"> <em>bitmap2</em> </td> | |
260 | <td class="paramname"><em>res</em>, </td> | |
261 | </tr> | |
262 | <tr> | |
263 | <td class="paramkey"></td> | |
264 | <td></td> | |
265 | <td class="paramtype"><a class="el" href="a00056.html#ga2fb1bbc8aea1ea22dee2f0fd39659f48">hwloc_const_bitmap_t</a> </td> | |
266 | <td class="paramname"><em>bitmap1</em>, </td> | |
267 | </tr> | |
268 | <tr> | |
269 | <td class="paramkey"></td> | |
270 | <td></td> | |
271 | <td class="paramtype"><a class="el" href="a00056.html#ga2fb1bbc8aea1ea22dee2f0fd39659f48">hwloc_const_bitmap_t</a> </td> | |
272 | <td class="paramname"><em>bitmap2</em> </td> | |
262 | 273 | </tr> |
263 | 274 | <tr> |
264 | 275 | <td></td> |
281 | 292 | <td class="memname"> void hwloc_bitmap_andnot </td> |
282 | 293 | <td>(</td> |
283 | 294 | <td class="paramtype"><a class="el" href="a00056.html#gaa3c2bf4c776d603dcebbb61b0c923d84">hwloc_bitmap_t</a> </td> |
284 | <td class="paramname"> <em>res</em>, </td> | |
285 | </tr> | |
286 | <tr> | |
287 | <td class="paramkey"></td> | |
288 | <td></td> | |
289 | <td class="paramtype"><a class="el" href="a00056.html#ga2fb1bbc8aea1ea22dee2f0fd39659f48">hwloc_const_bitmap_t</a> </td> | |
290 | <td class="paramname"> <em>bitmap1</em>, </td> | |
291 | </tr> | |
292 | <tr> | |
293 | <td class="paramkey"></td> | |
294 | <td></td> | |
295 | <td class="paramtype"><a class="el" href="a00056.html#ga2fb1bbc8aea1ea22dee2f0fd39659f48">hwloc_const_bitmap_t</a> </td> | |
296 | <td class="paramname"> <em>bitmap2</em> </td> | |
295 | <td class="paramname"><em>res</em>, </td> | |
296 | </tr> | |
297 | <tr> | |
298 | <td class="paramkey"></td> | |
299 | <td></td> | |
300 | <td class="paramtype"><a class="el" href="a00056.html#ga2fb1bbc8aea1ea22dee2f0fd39659f48">hwloc_const_bitmap_t</a> </td> | |
301 | <td class="paramname"><em>bitmap1</em>, </td> | |
302 | </tr> | |
303 | <tr> | |
304 | <td class="paramkey"></td> | |
305 | <td></td> | |
306 | <td class="paramtype"><a class="el" href="a00056.html#ga2fb1bbc8aea1ea22dee2f0fd39659f48">hwloc_const_bitmap_t</a> </td> | |
307 | <td class="paramname"><em>bitmap2</em> </td> | |
297 | 308 | </tr> |
298 | 309 | <tr> |
299 | 310 | <td></td> |
316 | 327 | <td class="memname"> int hwloc_bitmap_asprintf </td> |
317 | 328 | <td>(</td> |
318 | 329 | <td class="paramtype">char ** </td> |
319 | <td class="paramname"> <em>strp</em>, </td> | |
320 | </tr> | |
321 | <tr> | |
322 | <td class="paramkey"></td> | |
323 | <td></td> | |
324 | <td class="paramtype"><a class="el" href="a00056.html#ga2fb1bbc8aea1ea22dee2f0fd39659f48">hwloc_const_bitmap_t</a> </td> | |
325 | <td class="paramname"> <em>bitmap</em> </td> | |
330 | <td class="paramname"><em>strp</em>, </td> | |
331 | </tr> | |
332 | <tr> | |
333 | <td class="paramkey"></td> | |
334 | <td></td> | |
335 | <td class="paramtype"><a class="el" href="a00056.html#ga2fb1bbc8aea1ea22dee2f0fd39659f48">hwloc_const_bitmap_t</a> </td> | |
336 | <td class="paramname"><em>bitmap</em> </td> | |
326 | 337 | </tr> |
327 | 338 | <tr> |
328 | 339 | <td></td> |
345 | 356 | <td class="memname"> void hwloc_bitmap_clr </td> |
346 | 357 | <td>(</td> |
347 | 358 | <td class="paramtype"><a class="el" href="a00056.html#gaa3c2bf4c776d603dcebbb61b0c923d84">hwloc_bitmap_t</a> </td> |
348 | <td class="paramname"> <em>bitmap</em>, </td> | |
359 | <td class="paramname"><em>bitmap</em>, </td> | |
349 | 360 | </tr> |
350 | 361 | <tr> |
351 | 362 | <td class="paramkey"></td> |
352 | 363 | <td></td> |
353 | 364 | <td class="paramtype">unsigned </td> |
354 | <td class="paramname"> <em>id</em> </td> | |
365 | <td class="paramname"><em>id</em> </td> | |
355 | 366 | </tr> |
356 | 367 | <tr> |
357 | 368 | <td></td> |
374 | 385 | <td class="memname"> void hwloc_bitmap_clr_range </td> |
375 | 386 | <td>(</td> |
376 | 387 | <td class="paramtype"><a class="el" href="a00056.html#gaa3c2bf4c776d603dcebbb61b0c923d84">hwloc_bitmap_t</a> </td> |
377 | <td class="paramname"> <em>bitmap</em>, </td> | |
388 | <td class="paramname"><em>bitmap</em>, </td> | |
378 | 389 | </tr> |
379 | 390 | <tr> |
380 | 391 | <td class="paramkey"></td> |
381 | 392 | <td></td> |
382 | 393 | <td class="paramtype">unsigned </td> |
383 | <td class="paramname"> <em>begin</em>, </td> | |
394 | <td class="paramname"><em>begin</em>, </td> | |
384 | 395 | </tr> |
385 | 396 | <tr> |
386 | 397 | <td class="paramkey"></td> |
387 | 398 | <td></td> |
388 | 399 | <td class="paramtype">unsigned </td> |
389 | <td class="paramname"> <em>end</em> </td> | |
390 | </tr> | |
391 | <tr> | |
392 | <td></td> | |
393 | <td>)</td> | |
394 | <td></td><td></td> | |
395 | </tr> | |
396 | </table> | |
397 | </div> | |
398 | <div class="memdoc"> | |
399 | ||
400 | <p>Remove index from <code>begin</code> to <code>end</code> in bitmap <code>bitmap</code>. </p> | |
400 | <td class="paramname"><em>end</em> </td> | |
401 | </tr> | |
402 | <tr> | |
403 | <td></td> | |
404 | <td>)</td> | |
405 | <td></td><td></td> | |
406 | </tr> | |
407 | </table> | |
408 | </div> | |
409 | <div class="memdoc"> | |
410 | ||
411 | <p>Remove indexes from <code>begin</code> to <code>end</code> in bitmap <code>bitmap</code>. </p> | |
401 | 412 | |
402 | 413 | </div> |
403 | 414 | </div> |
409 | 420 | <td class="memname"> int hwloc_bitmap_compare </td> |
410 | 421 | <td>(</td> |
411 | 422 | <td class="paramtype"><a class="el" href="a00056.html#ga2fb1bbc8aea1ea22dee2f0fd39659f48">hwloc_const_bitmap_t</a> </td> |
412 | <td class="paramname"> <em>bitmap1</em>, </td> | |
413 | </tr> | |
414 | <tr> | |
415 | <td class="paramkey"></td> | |
416 | <td></td> | |
417 | <td class="paramtype"><a class="el" href="a00056.html#ga2fb1bbc8aea1ea22dee2f0fd39659f48">hwloc_const_bitmap_t</a> </td> | |
418 | <td class="paramname"> <em>bitmap2</em> </td> | |
423 | <td class="paramname"><em>bitmap1</em>, </td> | |
424 | </tr> | |
425 | <tr> | |
426 | <td class="paramkey"></td> | |
427 | <td></td> | |
428 | <td class="paramtype"><a class="el" href="a00056.html#ga2fb1bbc8aea1ea22dee2f0fd39659f48">hwloc_const_bitmap_t</a> </td> | |
429 | <td class="paramname"><em>bitmap2</em> </td> | |
419 | 430 | </tr> |
420 | 431 | <tr> |
421 | 432 | <td></td> |
439 | 450 | <td class="memname"> int hwloc_bitmap_compare_first </td> |
440 | 451 | <td>(</td> |
441 | 452 | <td class="paramtype"><a class="el" href="a00056.html#ga2fb1bbc8aea1ea22dee2f0fd39659f48">hwloc_const_bitmap_t</a> </td> |
442 | <td class="paramname"> <em>bitmap1</em>, </td> | |
443 | </tr> | |
444 | <tr> | |
445 | <td class="paramkey"></td> | |
446 | <td></td> | |
447 | <td class="paramtype"><a class="el" href="a00056.html#ga2fb1bbc8aea1ea22dee2f0fd39659f48">hwloc_const_bitmap_t</a> </td> | |
448 | <td class="paramname"> <em>bitmap2</em> </td> | |
453 | <td class="paramname"><em>bitmap1</em>, </td> | |
454 | </tr> | |
455 | <tr> | |
456 | <td class="paramkey"></td> | |
457 | <td></td> | |
458 | <td class="paramtype"><a class="el" href="a00056.html#ga2fb1bbc8aea1ea22dee2f0fd39659f48">hwloc_const_bitmap_t</a> </td> | |
459 | <td class="paramname"><em>bitmap2</em> </td> | |
449 | 460 | </tr> |
450 | 461 | <tr> |
451 | 462 | <td></td> |
469 | 480 | <td class="memname"> void hwloc_bitmap_copy </td> |
470 | 481 | <td>(</td> |
471 | 482 | <td class="paramtype"><a class="el" href="a00056.html#gaa3c2bf4c776d603dcebbb61b0c923d84">hwloc_bitmap_t</a> </td> |
472 | <td class="paramname"> <em>dst</em>, </td> | |
473 | </tr> | |
474 | <tr> | |
475 | <td class="paramkey"></td> | |
476 | <td></td> | |
477 | <td class="paramtype"><a class="el" href="a00056.html#ga2fb1bbc8aea1ea22dee2f0fd39659f48">hwloc_const_bitmap_t</a> </td> | |
478 | <td class="paramname"> <em>src</em> </td> | |
483 | <td class="paramname"><em>dst</em>, </td> | |
484 | </tr> | |
485 | <tr> | |
486 | <td class="paramkey"></td> | |
487 | <td></td> | |
488 | <td class="paramtype"><a class="el" href="a00056.html#ga2fb1bbc8aea1ea22dee2f0fd39659f48">hwloc_const_bitmap_t</a> </td> | |
489 | <td class="paramname"><em>src</em> </td> | |
479 | 490 | </tr> |
480 | 491 | <tr> |
481 | 492 | <td></td> |
498 | 509 | <td class="memname"> <a class="el" href="a00056.html#gaa3c2bf4c776d603dcebbb61b0c923d84">hwloc_bitmap_t</a> hwloc_bitmap_dup </td> |
499 | 510 | <td>(</td> |
500 | 511 | <td class="paramtype"><a class="el" href="a00056.html#ga2fb1bbc8aea1ea22dee2f0fd39659f48">hwloc_const_bitmap_t</a> </td> |
501 | <td class="paramname"> <em>bitmap</em> )</td> | |
512 | <td class="paramname"><em>bitmap</em></td><td>)</td> | |
502 | 513 | <td></td> |
503 | 514 | </tr> |
504 | 515 | </table> |
517 | 528 | <td class="memname"> void hwloc_bitmap_fill </td> |
518 | 529 | <td>(</td> |
519 | 530 | <td class="paramtype"><a class="el" href="a00056.html#gaa3c2bf4c776d603dcebbb61b0c923d84">hwloc_bitmap_t</a> </td> |
520 | <td class="paramname"> <em>bitmap</em> )</td> | |
531 | <td class="paramname"><em>bitmap</em></td><td>)</td> | |
521 | 532 | <td></td> |
522 | 533 | </tr> |
523 | 534 | </table> |
536 | 547 | <td class="memname"> int hwloc_bitmap_first </td> |
537 | 548 | <td>(</td> |
538 | 549 | <td class="paramtype"><a class="el" href="a00056.html#ga2fb1bbc8aea1ea22dee2f0fd39659f48">hwloc_const_bitmap_t</a> </td> |
539 | <td class="paramname"> <em>bitmap</em> )</td> | |
550 | <td class="paramname"><em>bitmap</em></td><td>)</td> | |
540 | 551 | <td></td> |
541 | 552 | </tr> |
542 | 553 | </table> |
556 | 567 | <td class="memname"> void hwloc_bitmap_free </td> |
557 | 568 | <td>(</td> |
558 | 569 | <td class="paramtype"><a class="el" href="a00056.html#gaa3c2bf4c776d603dcebbb61b0c923d84">hwloc_bitmap_t</a> </td> |
559 | <td class="paramname"> <em>bitmap</em> )</td> | |
570 | <td class="paramname"><em>bitmap</em></td><td>)</td> | |
560 | 571 | <td></td> |
561 | 572 | </tr> |
562 | 573 | </table> |
564 | 575 | <div class="memdoc"> |
565 | 576 | |
566 | 577 | <p>Free bitmap <code>bitmap</code>. </p> |
578 | <p>If <code>bitmap</code> is <code>NULL</code>, no operation is performed. </p> | |
567 | 579 | |
568 | 580 | </div> |
569 | 581 | </div> |
575 | 587 | <td class="memname"> void hwloc_bitmap_from_ith_ulong </td> |
576 | 588 | <td>(</td> |
577 | 589 | <td class="paramtype"><a class="el" href="a00056.html#gaa3c2bf4c776d603dcebbb61b0c923d84">hwloc_bitmap_t</a> </td> |
578 | <td class="paramname"> <em>bitmap</em>, </td> | |
590 | <td class="paramname"><em>bitmap</em>, </td> | |
579 | 591 | </tr> |
580 | 592 | <tr> |
581 | 593 | <td class="paramkey"></td> |
582 | 594 | <td></td> |
583 | 595 | <td class="paramtype">unsigned </td> |
584 | <td class="paramname"> <em>i</em>, </td> | |
596 | <td class="paramname"><em>i</em>, </td> | |
585 | 597 | </tr> |
586 | 598 | <tr> |
587 | 599 | <td class="paramkey"></td> |
588 | 600 | <td></td> |
589 | 601 | <td class="paramtype">unsigned long </td> |
590 | <td class="paramname"> <em>mask</em> </td> | |
602 | <td class="paramname"><em>mask</em> </td> | |
591 | 603 | </tr> |
592 | 604 | <tr> |
593 | 605 | <td></td> |
610 | 622 | <td class="memname"> void hwloc_bitmap_from_ulong </td> |
611 | 623 | <td>(</td> |
612 | 624 | <td class="paramtype"><a class="el" href="a00056.html#gaa3c2bf4c776d603dcebbb61b0c923d84">hwloc_bitmap_t</a> </td> |
613 | <td class="paramname"> <em>bitmap</em>, </td> | |
625 | <td class="paramname"><em>bitmap</em>, </td> | |
614 | 626 | </tr> |
615 | 627 | <tr> |
616 | 628 | <td class="paramkey"></td> |
617 | 629 | <td></td> |
618 | 630 | <td class="paramtype">unsigned long </td> |
619 | <td class="paramname"> <em>mask</em> </td> | |
631 | <td class="paramname"><em>mask</em> </td> | |
620 | 632 | </tr> |
621 | 633 | <tr> |
622 | 634 | <td></td> |
639 | 651 | <td class="memname"> int hwloc_bitmap_intersects </td> |
640 | 652 | <td>(</td> |
641 | 653 | <td class="paramtype"><a class="el" href="a00056.html#ga2fb1bbc8aea1ea22dee2f0fd39659f48">hwloc_const_bitmap_t</a> </td> |
642 | <td class="paramname"> <em>bitmap1</em>, </td> | |
643 | </tr> | |
644 | <tr> | |
645 | <td class="paramkey"></td> | |
646 | <td></td> | |
647 | <td class="paramtype"><a class="el" href="a00056.html#ga2fb1bbc8aea1ea22dee2f0fd39659f48">hwloc_const_bitmap_t</a> </td> | |
648 | <td class="paramname"> <em>bitmap2</em> </td> | |
654 | <td class="paramname"><em>bitmap1</em>, </td> | |
655 | </tr> | |
656 | <tr> | |
657 | <td class="paramkey"></td> | |
658 | <td></td> | |
659 | <td class="paramtype"><a class="el" href="a00056.html#ga2fb1bbc8aea1ea22dee2f0fd39659f48">hwloc_const_bitmap_t</a> </td> | |
660 | <td class="paramname"><em>bitmap2</em> </td> | |
649 | 661 | </tr> |
650 | 662 | <tr> |
651 | 663 | <td></td> |
668 | 680 | <td class="memname"> int hwloc_bitmap_isequal </td> |
669 | 681 | <td>(</td> |
670 | 682 | <td class="paramtype"><a class="el" href="a00056.html#ga2fb1bbc8aea1ea22dee2f0fd39659f48">hwloc_const_bitmap_t</a> </td> |
671 | <td class="paramname"> <em>bitmap1</em>, </td> | |
672 | </tr> | |
673 | <tr> | |
674 | <td class="paramkey"></td> | |
675 | <td></td> | |
676 | <td class="paramtype"><a class="el" href="a00056.html#ga2fb1bbc8aea1ea22dee2f0fd39659f48">hwloc_const_bitmap_t</a> </td> | |
677 | <td class="paramname"> <em>bitmap2</em> </td> | |
683 | <td class="paramname"><em>bitmap1</em>, </td> | |
684 | </tr> | |
685 | <tr> | |
686 | <td class="paramkey"></td> | |
687 | <td></td> | |
688 | <td class="paramtype"><a class="el" href="a00056.html#ga2fb1bbc8aea1ea22dee2f0fd39659f48">hwloc_const_bitmap_t</a> </td> | |
689 | <td class="paramname"><em>bitmap2</em> </td> | |
678 | 690 | </tr> |
679 | 691 | <tr> |
680 | 692 | <td></td> |
697 | 709 | <td class="memname"> int hwloc_bitmap_isfull </td> |
698 | 710 | <td>(</td> |
699 | 711 | <td class="paramtype"><a class="el" href="a00056.html#ga2fb1bbc8aea1ea22dee2f0fd39659f48">hwloc_const_bitmap_t</a> </td> |
700 | <td class="paramname"> <em>bitmap</em> )</td> | |
712 | <td class="paramname"><em>bitmap</em></td><td>)</td> | |
701 | 713 | <td></td> |
702 | 714 | </tr> |
703 | 715 | </table> |
716 | 728 | <td class="memname"> int hwloc_bitmap_isincluded </td> |
717 | 729 | <td>(</td> |
718 | 730 | <td class="paramtype"><a class="el" href="a00056.html#ga2fb1bbc8aea1ea22dee2f0fd39659f48">hwloc_const_bitmap_t</a> </td> |
719 | <td class="paramname"> <em>sub_bitmap</em>, </td> | |
720 | </tr> | |
721 | <tr> | |
722 | <td class="paramkey"></td> | |
723 | <td></td> | |
724 | <td class="paramtype"><a class="el" href="a00056.html#ga2fb1bbc8aea1ea22dee2f0fd39659f48">hwloc_const_bitmap_t</a> </td> | |
725 | <td class="paramname"> <em>super_bitmap</em> </td> | |
731 | <td class="paramname"><em>sub_bitmap</em>, </td> | |
732 | </tr> | |
733 | <tr> | |
734 | <td class="paramkey"></td> | |
735 | <td></td> | |
736 | <td class="paramtype"><a class="el" href="a00056.html#ga2fb1bbc8aea1ea22dee2f0fd39659f48">hwloc_const_bitmap_t</a> </td> | |
737 | <td class="paramname"><em>super_bitmap</em> </td> | |
726 | 738 | </tr> |
727 | 739 | <tr> |
728 | 740 | <td></td> |
745 | 757 | <td class="memname"> int hwloc_bitmap_isset </td> |
746 | 758 | <td>(</td> |
747 | 759 | <td class="paramtype"><a class="el" href="a00056.html#ga2fb1bbc8aea1ea22dee2f0fd39659f48">hwloc_const_bitmap_t</a> </td> |
748 | <td class="paramname"> <em>bitmap</em>, </td> | |
760 | <td class="paramname"><em>bitmap</em>, </td> | |
749 | 761 | </tr> |
750 | 762 | <tr> |
751 | 763 | <td class="paramkey"></td> |
752 | 764 | <td></td> |
753 | 765 | <td class="paramtype">unsigned </td> |
754 | <td class="paramname"> <em>id</em> </td> | |
766 | <td class="paramname"><em>id</em> </td> | |
755 | 767 | </tr> |
756 | 768 | <tr> |
757 | 769 | <td></td> |
774 | 786 | <td class="memname"> int hwloc_bitmap_iszero </td> |
775 | 787 | <td>(</td> |
776 | 788 | <td class="paramtype"><a class="el" href="a00056.html#ga2fb1bbc8aea1ea22dee2f0fd39659f48">hwloc_const_bitmap_t</a> </td> |
777 | <td class="paramname"> <em>bitmap</em> )</td> | |
789 | <td class="paramname"><em>bitmap</em></td><td>)</td> | |
778 | 790 | <td></td> |
779 | 791 | </tr> |
780 | 792 | </table> |
793 | 805 | <td class="memname"> int hwloc_bitmap_last </td> |
794 | 806 | <td>(</td> |
795 | 807 | <td class="paramtype"><a class="el" href="a00056.html#ga2fb1bbc8aea1ea22dee2f0fd39659f48">hwloc_const_bitmap_t</a> </td> |
796 | <td class="paramname"> <em>bitmap</em> )</td> | |
808 | <td class="paramname"><em>bitmap</em></td><td>)</td> | |
797 | 809 | <td></td> |
798 | 810 | </tr> |
799 | 811 | </table> |
813 | 825 | <td class="memname"> int hwloc_bitmap_next </td> |
814 | 826 | <td>(</td> |
815 | 827 | <td class="paramtype"><a class="el" href="a00056.html#ga2fb1bbc8aea1ea22dee2f0fd39659f48">hwloc_const_bitmap_t</a> </td> |
816 | <td class="paramname"> <em>bitmap</em>, </td> | |
828 | <td class="paramname"><em>bitmap</em>, </td> | |
817 | 829 | </tr> |
818 | 830 | <tr> |
819 | 831 | <td class="paramkey"></td> |
820 | 832 | <td></td> |
821 | 833 | <td class="paramtype">unsigned </td> |
822 | <td class="paramname"> <em>prev</em> </td> | |
834 | <td class="paramname"><em>prev</em> </td> | |
823 | 835 | </tr> |
824 | 836 | <tr> |
825 | 837 | <td></td> |
843 | 855 | <td class="memname"> void hwloc_bitmap_not </td> |
844 | 856 | <td>(</td> |
845 | 857 | <td class="paramtype"><a class="el" href="a00056.html#gaa3c2bf4c776d603dcebbb61b0c923d84">hwloc_bitmap_t</a> </td> |
846 | <td class="paramname"> <em>res</em>, </td> | |
847 | </tr> | |
848 | <tr> | |
849 | <td class="paramkey"></td> | |
850 | <td></td> | |
851 | <td class="paramtype"><a class="el" href="a00056.html#ga2fb1bbc8aea1ea22dee2f0fd39659f48">hwloc_const_bitmap_t</a> </td> | |
852 | <td class="paramname"> <em>bitmap</em> </td> | |
858 | <td class="paramname"><em>res</em>, </td> | |
859 | </tr> | |
860 | <tr> | |
861 | <td class="paramkey"></td> | |
862 | <td></td> | |
863 | <td class="paramtype"><a class="el" href="a00056.html#ga2fb1bbc8aea1ea22dee2f0fd39659f48">hwloc_const_bitmap_t</a> </td> | |
864 | <td class="paramname"><em>bitmap</em> </td> | |
853 | 865 | </tr> |
854 | 866 | <tr> |
855 | 867 | <td></td> |
872 | 884 | <td class="memname"> void hwloc_bitmap_only </td> |
873 | 885 | <td>(</td> |
874 | 886 | <td class="paramtype"><a class="el" href="a00056.html#gaa3c2bf4c776d603dcebbb61b0c923d84">hwloc_bitmap_t</a> </td> |
875 | <td class="paramname"> <em>bitmap</em>, </td> | |
887 | <td class="paramname"><em>bitmap</em>, </td> | |
876 | 888 | </tr> |
877 | 889 | <tr> |
878 | 890 | <td class="paramkey"></td> |
879 | 891 | <td></td> |
880 | 892 | <td class="paramtype">unsigned </td> |
881 | <td class="paramname"> <em>id</em> </td> | |
893 | <td class="paramname"><em>id</em> </td> | |
882 | 894 | </tr> |
883 | 895 | <tr> |
884 | 896 | <td></td> |
901 | 913 | <td class="memname"> void hwloc_bitmap_or </td> |
902 | 914 | <td>(</td> |
903 | 915 | <td class="paramtype"><a class="el" href="a00056.html#gaa3c2bf4c776d603dcebbb61b0c923d84">hwloc_bitmap_t</a> </td> |
904 | <td class="paramname"> <em>res</em>, </td> | |
905 | </tr> | |
906 | <tr> | |
907 | <td class="paramkey"></td> | |
908 | <td></td> | |
909 | <td class="paramtype"><a class="el" href="a00056.html#ga2fb1bbc8aea1ea22dee2f0fd39659f48">hwloc_const_bitmap_t</a> </td> | |
910 | <td class="paramname"> <em>bitmap1</em>, </td> | |
911 | </tr> | |
912 | <tr> | |
913 | <td class="paramkey"></td> | |
914 | <td></td> | |
915 | <td class="paramtype"><a class="el" href="a00056.html#ga2fb1bbc8aea1ea22dee2f0fd39659f48">hwloc_const_bitmap_t</a> </td> | |
916 | <td class="paramname"> <em>bitmap2</em> </td> | |
916 | <td class="paramname"><em>res</em>, </td> | |
917 | </tr> | |
918 | <tr> | |
919 | <td class="paramkey"></td> | |
920 | <td></td> | |
921 | <td class="paramtype"><a class="el" href="a00056.html#ga2fb1bbc8aea1ea22dee2f0fd39659f48">hwloc_const_bitmap_t</a> </td> | |
922 | <td class="paramname"><em>bitmap1</em>, </td> | |
923 | </tr> | |
924 | <tr> | |
925 | <td class="paramkey"></td> | |
926 | <td></td> | |
927 | <td class="paramtype"><a class="el" href="a00056.html#ga2fb1bbc8aea1ea22dee2f0fd39659f48">hwloc_const_bitmap_t</a> </td> | |
928 | <td class="paramname"><em>bitmap2</em> </td> | |
917 | 929 | </tr> |
918 | 930 | <tr> |
919 | 931 | <td></td> |
936 | 948 | <td class="memname"> void hwloc_bitmap_set </td> |
937 | 949 | <td>(</td> |
938 | 950 | <td class="paramtype"><a class="el" href="a00056.html#gaa3c2bf4c776d603dcebbb61b0c923d84">hwloc_bitmap_t</a> </td> |
939 | <td class="paramname"> <em>bitmap</em>, </td> | |
951 | <td class="paramname"><em>bitmap</em>, </td> | |
940 | 952 | </tr> |
941 | 953 | <tr> |
942 | 954 | <td class="paramkey"></td> |
943 | 955 | <td></td> |
944 | 956 | <td class="paramtype">unsigned </td> |
945 | <td class="paramname"> <em>id</em> </td> | |
957 | <td class="paramname"><em>id</em> </td> | |
946 | 958 | </tr> |
947 | 959 | <tr> |
948 | 960 | <td></td> |
965 | 977 | <td class="memname"> void hwloc_bitmap_set_ith_ulong </td> |
966 | 978 | <td>(</td> |
967 | 979 | <td class="paramtype"><a class="el" href="a00056.html#gaa3c2bf4c776d603dcebbb61b0c923d84">hwloc_bitmap_t</a> </td> |
968 | <td class="paramname"> <em>bitmap</em>, </td> | |
980 | <td class="paramname"><em>bitmap</em>, </td> | |
969 | 981 | </tr> |
970 | 982 | <tr> |
971 | 983 | <td class="paramkey"></td> |
972 | 984 | <td></td> |
973 | 985 | <td class="paramtype">unsigned </td> |
974 | <td class="paramname"> <em>i</em>, </td> | |
986 | <td class="paramname"><em>i</em>, </td> | |
975 | 987 | </tr> |
976 | 988 | <tr> |
977 | 989 | <td class="paramkey"></td> |
978 | 990 | <td></td> |
979 | 991 | <td class="paramtype">unsigned long </td> |
980 | <td class="paramname"> <em>mask</em> </td> | |
992 | <td class="paramname"><em>mask</em> </td> | |
981 | 993 | </tr> |
982 | 994 | <tr> |
983 | 995 | <td></td> |
1000 | 1012 | <td class="memname"> void hwloc_bitmap_set_range </td> |
1001 | 1013 | <td>(</td> |
1002 | 1014 | <td class="paramtype"><a class="el" href="a00056.html#gaa3c2bf4c776d603dcebbb61b0c923d84">hwloc_bitmap_t</a> </td> |
1003 | <td class="paramname"> <em>bitmap</em>, </td> | |
1015 | <td class="paramname"><em>bitmap</em>, </td> | |
1004 | 1016 | </tr> |
1005 | 1017 | <tr> |
1006 | 1018 | <td class="paramkey"></td> |
1007 | 1019 | <td></td> |
1008 | 1020 | <td class="paramtype">unsigned </td> |
1009 | <td class="paramname"> <em>begin</em>, </td> | |
1021 | <td class="paramname"><em>begin</em>, </td> | |
1010 | 1022 | </tr> |
1011 | 1023 | <tr> |
1012 | 1024 | <td class="paramkey"></td> |
1013 | 1025 | <td></td> |
1014 | 1026 | <td class="paramtype">unsigned </td> |
1015 | <td class="paramname"> <em>end</em> </td> | |
1016 | </tr> | |
1017 | <tr> | |
1018 | <td></td> | |
1019 | <td>)</td> | |
1020 | <td></td><td></td> | |
1021 | </tr> | |
1022 | </table> | |
1023 | </div> | |
1024 | <div class="memdoc"> | |
1025 | ||
1026 | <p>Add indexess from <code>begin</code> to <code>end</code> in bitmap <code>bitmap</code>. </p> | |
1027 | <td class="paramname"><em>end</em> </td> | |
1028 | </tr> | |
1029 | <tr> | |
1030 | <td></td> | |
1031 | <td>)</td> | |
1032 | <td></td><td></td> | |
1033 | </tr> | |
1034 | </table> | |
1035 | </div> | |
1036 | <div class="memdoc"> | |
1037 | ||
1038 | <p>Add indexes from <code>begin</code> to <code>end</code> in bitmap <code>bitmap</code>. </p> | |
1027 | 1039 | |
1028 | 1040 | </div> |
1029 | 1041 | </div> |
1035 | 1047 | <td class="memname"> void hwloc_bitmap_singlify </td> |
1036 | 1048 | <td>(</td> |
1037 | 1049 | <td class="paramtype"><a class="el" href="a00056.html#gaa3c2bf4c776d603dcebbb61b0c923d84">hwloc_bitmap_t</a> </td> |
1038 | <td class="paramname"> <em>bitmap</em> )</td> | |
1050 | <td class="paramname"><em>bitmap</em></td><td>)</td> | |
1039 | 1051 | <td></td> |
1040 | 1052 | </tr> |
1041 | 1053 | </table> |
1055 | 1067 | <td class="memname"> int hwloc_bitmap_snprintf </td> |
1056 | 1068 | <td>(</td> |
1057 | 1069 | <td class="paramtype">char *restrict </td> |
1058 | <td class="paramname"> <em>buf</em>, </td> | |
1070 | <td class="paramname"><em>buf</em>, </td> | |
1059 | 1071 | </tr> |
1060 | 1072 | <tr> |
1061 | 1073 | <td class="paramkey"></td> |
1062 | 1074 | <td></td> |
1063 | 1075 | <td class="paramtype">size_t </td> |
1064 | <td class="paramname"> <em>buflen</em>, </td> | |
1065 | </tr> | |
1066 | <tr> | |
1067 | <td class="paramkey"></td> | |
1068 | <td></td> | |
1069 | <td class="paramtype"><a class="el" href="a00056.html#ga2fb1bbc8aea1ea22dee2f0fd39659f48">hwloc_const_bitmap_t</a> </td> | |
1070 | <td class="paramname"> <em>bitmap</em> </td> | |
1076 | <td class="paramname"><em>buflen</em>, </td> | |
1077 | </tr> | |
1078 | <tr> | |
1079 | <td class="paramkey"></td> | |
1080 | <td></td> | |
1081 | <td class="paramtype"><a class="el" href="a00056.html#ga2fb1bbc8aea1ea22dee2f0fd39659f48">hwloc_const_bitmap_t</a> </td> | |
1082 | <td class="paramname"><em>bitmap</em> </td> | |
1071 | 1083 | </tr> |
1072 | 1084 | <tr> |
1073 | 1085 | <td></td> |
1093 | 1105 | <td class="memname"> int hwloc_bitmap_sscanf </td> |
1094 | 1106 | <td>(</td> |
1095 | 1107 | <td class="paramtype"><a class="el" href="a00056.html#gaa3c2bf4c776d603dcebbb61b0c923d84">hwloc_bitmap_t</a> </td> |
1096 | <td class="paramname"> <em>bitmap</em>, </td> | |
1108 | <td class="paramname"><em>bitmap</em>, </td> | |
1097 | 1109 | </tr> |
1098 | 1110 | <tr> |
1099 | 1111 | <td class="paramkey"></td> |
1100 | 1112 | <td></td> |
1101 | 1113 | <td class="paramtype">const char *restrict </td> |
1102 | <td class="paramname"> <em>string</em> </td> | |
1114 | <td class="paramname"><em>string</em> </td> | |
1103 | 1115 | </tr> |
1104 | 1116 | <tr> |
1105 | 1117 | <td></td> |
1122 | 1134 | <td class="memname"> int hwloc_bitmap_taskset_asprintf </td> |
1123 | 1135 | <td>(</td> |
1124 | 1136 | <td class="paramtype">char ** </td> |
1125 | <td class="paramname"> <em>strp</em>, </td> | |
1126 | </tr> | |
1127 | <tr> | |
1128 | <td class="paramkey"></td> | |
1129 | <td></td> | |
1130 | <td class="paramtype"><a class="el" href="a00056.html#ga2fb1bbc8aea1ea22dee2f0fd39659f48">hwloc_const_bitmap_t</a> </td> | |
1131 | <td class="paramname"> <em>bitmap</em> </td> | |
1137 | <td class="paramname"><em>strp</em>, </td> | |
1138 | </tr> | |
1139 | <tr> | |
1140 | <td class="paramkey"></td> | |
1141 | <td></td> | |
1142 | <td class="paramtype"><a class="el" href="a00056.html#ga2fb1bbc8aea1ea22dee2f0fd39659f48">hwloc_const_bitmap_t</a> </td> | |
1143 | <td class="paramname"><em>bitmap</em> </td> | |
1132 | 1144 | </tr> |
1133 | 1145 | <tr> |
1134 | 1146 | <td></td> |
1151 | 1163 | <td class="memname"> int hwloc_bitmap_taskset_snprintf </td> |
1152 | 1164 | <td>(</td> |
1153 | 1165 | <td class="paramtype">char *restrict </td> |
1154 | <td class="paramname"> <em>buf</em>, </td> | |
1166 | <td class="paramname"><em>buf</em>, </td> | |
1155 | 1167 | </tr> |
1156 | 1168 | <tr> |
1157 | 1169 | <td class="paramkey"></td> |
1158 | 1170 | <td></td> |
1159 | 1171 | <td class="paramtype">size_t </td> |
1160 | <td class="paramname"> <em>buflen</em>, </td> | |
1161 | </tr> | |
1162 | <tr> | |
1163 | <td class="paramkey"></td> | |
1164 | <td></td> | |
1165 | <td class="paramtype"><a class="el" href="a00056.html#ga2fb1bbc8aea1ea22dee2f0fd39659f48">hwloc_const_bitmap_t</a> </td> | |
1166 | <td class="paramname"> <em>bitmap</em> </td> | |
1172 | <td class="paramname"><em>buflen</em>, </td> | |
1173 | </tr> | |
1174 | <tr> | |
1175 | <td class="paramkey"></td> | |
1176 | <td></td> | |
1177 | <td class="paramtype"><a class="el" href="a00056.html#ga2fb1bbc8aea1ea22dee2f0fd39659f48">hwloc_const_bitmap_t</a> </td> | |
1178 | <td class="paramname"><em>bitmap</em> </td> | |
1167 | 1179 | </tr> |
1168 | 1180 | <tr> |
1169 | 1181 | <td></td> |
1190 | 1202 | <td class="memname"> int hwloc_bitmap_taskset_sscanf </td> |
1191 | 1203 | <td>(</td> |
1192 | 1204 | <td class="paramtype"><a class="el" href="a00056.html#gaa3c2bf4c776d603dcebbb61b0c923d84">hwloc_bitmap_t</a> </td> |
1193 | <td class="paramname"> <em>bitmap</em>, </td> | |
1205 | <td class="paramname"><em>bitmap</em>, </td> | |
1194 | 1206 | </tr> |
1195 | 1207 | <tr> |
1196 | 1208 | <td class="paramkey"></td> |
1197 | 1209 | <td></td> |
1198 | 1210 | <td class="paramtype">const char *restrict </td> |
1199 | <td class="paramname"> <em>string</em> </td> | |
1211 | <td class="paramname"><em>string</em> </td> | |
1200 | 1212 | </tr> |
1201 | 1213 | <tr> |
1202 | 1214 | <td></td> |
1219 | 1231 | <td class="memname"> unsigned long hwloc_bitmap_to_ith_ulong </td> |
1220 | 1232 | <td>(</td> |
1221 | 1233 | <td class="paramtype"><a class="el" href="a00056.html#ga2fb1bbc8aea1ea22dee2f0fd39659f48">hwloc_const_bitmap_t</a> </td> |
1222 | <td class="paramname"> <em>bitmap</em>, </td> | |
1234 | <td class="paramname"><em>bitmap</em>, </td> | |
1223 | 1235 | </tr> |
1224 | 1236 | <tr> |
1225 | 1237 | <td class="paramkey"></td> |
1226 | 1238 | <td></td> |
1227 | 1239 | <td class="paramtype">unsigned </td> |
1228 | <td class="paramname"> <em>i</em> </td> | |
1240 | <td class="paramname"><em>i</em> </td> | |
1229 | 1241 | </tr> |
1230 | 1242 | <tr> |
1231 | 1243 | <td></td> |
1248 | 1260 | <td class="memname"> unsigned long hwloc_bitmap_to_ulong </td> |
1249 | 1261 | <td>(</td> |
1250 | 1262 | <td class="paramtype"><a class="el" href="a00056.html#ga2fb1bbc8aea1ea22dee2f0fd39659f48">hwloc_const_bitmap_t</a> </td> |
1251 | <td class="paramname"> <em>bitmap</em> )</td> | |
1263 | <td class="paramname"><em>bitmap</em></td><td>)</td> | |
1252 | 1264 | <td></td> |
1253 | 1265 | </tr> |
1254 | 1266 | </table> |
1267 | 1279 | <td class="memname"> int hwloc_bitmap_weight </td> |
1268 | 1280 | <td>(</td> |
1269 | 1281 | <td class="paramtype"><a class="el" href="a00056.html#ga2fb1bbc8aea1ea22dee2f0fd39659f48">hwloc_const_bitmap_t</a> </td> |
1270 | <td class="paramname"> <em>bitmap</em> )</td> | |
1282 | <td class="paramname"><em>bitmap</em></td><td>)</td> | |
1271 | 1283 | <td></td> |
1272 | 1284 | </tr> |
1273 | 1285 | </table> |
1287 | 1299 | <td class="memname"> void hwloc_bitmap_xor </td> |
1288 | 1300 | <td>(</td> |
1289 | 1301 | <td class="paramtype"><a class="el" href="a00056.html#gaa3c2bf4c776d603dcebbb61b0c923d84">hwloc_bitmap_t</a> </td> |
1290 | <td class="paramname"> <em>res</em>, </td> | |
1291 | </tr> | |
1292 | <tr> | |
1293 | <td class="paramkey"></td> | |
1294 | <td></td> | |
1295 | <td class="paramtype"><a class="el" href="a00056.html#ga2fb1bbc8aea1ea22dee2f0fd39659f48">hwloc_const_bitmap_t</a> </td> | |
1296 | <td class="paramname"> <em>bitmap1</em>, </td> | |
1297 | </tr> | |
1298 | <tr> | |
1299 | <td class="paramkey"></td> | |
1300 | <td></td> | |
1301 | <td class="paramtype"><a class="el" href="a00056.html#ga2fb1bbc8aea1ea22dee2f0fd39659f48">hwloc_const_bitmap_t</a> </td> | |
1302 | <td class="paramname"> <em>bitmap2</em> </td> | |
1302 | <td class="paramname"><em>res</em>, </td> | |
1303 | </tr> | |
1304 | <tr> | |
1305 | <td class="paramkey"></td> | |
1306 | <td></td> | |
1307 | <td class="paramtype"><a class="el" href="a00056.html#ga2fb1bbc8aea1ea22dee2f0fd39659f48">hwloc_const_bitmap_t</a> </td> | |
1308 | <td class="paramname"><em>bitmap1</em>, </td> | |
1309 | </tr> | |
1310 | <tr> | |
1311 | <td class="paramkey"></td> | |
1312 | <td></td> | |
1313 | <td class="paramtype"><a class="el" href="a00056.html#ga2fb1bbc8aea1ea22dee2f0fd39659f48">hwloc_const_bitmap_t</a> </td> | |
1314 | <td class="paramname"><em>bitmap2</em> </td> | |
1303 | 1315 | </tr> |
1304 | 1316 | <tr> |
1305 | 1317 | <td></td> |
1322 | 1334 | <td class="memname"> void hwloc_bitmap_zero </td> |
1323 | 1335 | <td>(</td> |
1324 | 1336 | <td class="paramtype"><a class="el" href="a00056.html#gaa3c2bf4c776d603dcebbb61b0c923d84">hwloc_bitmap_t</a> </td> |
1325 | <td class="paramname"> <em>bitmap</em> )</td> | |
1337 | <td class="paramname"><em>bitmap</em></td><td>)</td> | |
1326 | 1338 | <td></td> |
1327 | 1339 | </tr> |
1328 | 1340 | </table> |
1334 | 1346 | </div> |
1335 | 1347 | </div> |
1336 | 1348 | </div> |
1337 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
1349 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
1338 | 1350 | <a href="http://www.doxygen.org/index.html"> |
1339 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
1351 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
1340 | 1352 | </body> |
1341 | 1353 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
40 | 51 | <td class="memname">static inline int hwloc_cpuset_from_glibc_sched_affinity </td> |
41 | 52 | <td>(</td> |
42 | 53 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> topology </td> |
43 | <td class="paramname"> <em></em>, </td> | |
54 | <td class="paramname"><em></em>, </td> | |
44 | 55 | </tr> |
45 | 56 | <tr> |
46 | 57 | <td class="paramkey"></td> |
47 | 58 | <td></td> |
48 | 59 | <td class="paramtype"><a class="el" href="a00034.html#ga4bbf39b68b6f568fb92739e7c0ea7801">hwloc_cpuset_t</a> </td> |
49 | <td class="paramname"> <em>hwlocset</em>, </td> | |
60 | <td class="paramname"><em>hwlocset</em>, </td> | |
50 | 61 | </tr> |
51 | 62 | <tr> |
52 | 63 | <td class="paramkey"></td> |
53 | 64 | <td></td> |
54 | 65 | <td class="paramtype">const cpu_set_t * </td> |
55 | <td class="paramname"> <em>schedset</em>, </td> | |
66 | <td class="paramname"><em>schedset</em>, </td> | |
56 | 67 | </tr> |
57 | 68 | <tr> |
58 | 69 | <td class="paramkey"></td> |
59 | 70 | <td></td> |
60 | 71 | <td class="paramtype">size_t </td> |
61 | <td class="paramname"> <em>schedsetsize</em> </td> | |
72 | <td class="paramname"><em>schedsetsize</em> </td> | |
62 | 73 | </tr> |
63 | 74 | <tr> |
64 | 75 | <td></td> |
83 | 94 | <td class="memname">static inline int hwloc_cpuset_to_glibc_sched_affinity </td> |
84 | 95 | <td>(</td> |
85 | 96 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> topology </td> |
86 | <td class="paramname"> <em></em>, </td> | |
97 | <td class="paramname"><em></em>, </td> | |
87 | 98 | </tr> |
88 | 99 | <tr> |
89 | 100 | <td class="paramkey"></td> |
90 | 101 | <td></td> |
91 | 102 | <td class="paramtype"><a class="el" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25">hwloc_const_cpuset_t</a> </td> |
92 | <td class="paramname"> <em>hwlocset</em>, </td> | |
103 | <td class="paramname"><em>hwlocset</em>, </td> | |
93 | 104 | </tr> |
94 | 105 | <tr> |
95 | 106 | <td class="paramkey"></td> |
96 | 107 | <td></td> |
97 | 108 | <td class="paramtype">cpu_set_t * </td> |
98 | <td class="paramname"> <em>schedset</em>, </td> | |
109 | <td class="paramname"><em>schedset</em>, </td> | |
99 | 110 | </tr> |
100 | 111 | <tr> |
101 | 112 | <td class="paramkey"></td> |
102 | 113 | <td></td> |
103 | 114 | <td class="paramtype">size_t </td> |
104 | <td class="paramname"> <em>schedsetsize</em> </td> | |
115 | <td class="paramname"><em>schedsetsize</em> </td> | |
105 | 116 | </tr> |
106 | 117 | <tr> |
107 | 118 | <td></td> |
119 | 130 | </div> |
120 | 131 | </div> |
121 | 132 | </div> |
122 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
133 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
123 | 134 | <a href="http://www.doxygen.org/index.html"> |
124 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
135 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
125 | 136 | </body> |
126 | 137 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
43 | 54 | <td class="memname"> int hwloc_linux_get_tid_cpubind </td> |
44 | 55 | <td>(</td> |
45 | 56 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
46 | <td class="paramname"> <em>topology</em>, </td> | |
57 | <td class="paramname"><em>topology</em>, </td> | |
47 | 58 | </tr> |
48 | 59 | <tr> |
49 | 60 | <td class="paramkey"></td> |
50 | 61 | <td></td> |
51 | 62 | <td class="paramtype">pid_t </td> |
52 | <td class="paramname"> <em>tid</em>, </td> | |
63 | <td class="paramname"><em>tid</em>, </td> | |
53 | 64 | </tr> |
54 | 65 | <tr> |
55 | 66 | <td class="paramkey"></td> |
56 | 67 | <td></td> |
57 | 68 | <td class="paramtype"><a class="el" href="a00034.html#ga4bbf39b68b6f568fb92739e7c0ea7801">hwloc_cpuset_t</a> </td> |
58 | <td class="paramname"> <em>set</em> </td> | |
69 | <td class="paramname"><em>set</em> </td> | |
59 | 70 | </tr> |
60 | 71 | <tr> |
61 | 72 | <td></td> |
79 | 90 | <td class="memname"> int hwloc_linux_parse_cpumap_file </td> |
80 | 91 | <td>(</td> |
81 | 92 | <td class="paramtype">FILE * </td> |
82 | <td class="paramname"> <em>file</em>, </td> | |
93 | <td class="paramname"><em>file</em>, </td> | |
83 | 94 | </tr> |
84 | 95 | <tr> |
85 | 96 | <td class="paramkey"></td> |
86 | 97 | <td></td> |
87 | 98 | <td class="paramtype"><a class="el" href="a00034.html#ga4bbf39b68b6f568fb92739e7c0ea7801">hwloc_cpuset_t</a> </td> |
88 | <td class="paramname"> <em>set</em> </td> | |
99 | <td class="paramname"><em>set</em> </td> | |
89 | 100 | </tr> |
90 | 101 | <tr> |
91 | 102 | <td></td> |
109 | 120 | <td class="memname"> int hwloc_linux_set_tid_cpubind </td> |
110 | 121 | <td>(</td> |
111 | 122 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
112 | <td class="paramname"> <em>topology</em>, </td> | |
123 | <td class="paramname"><em>topology</em>, </td> | |
113 | 124 | </tr> |
114 | 125 | <tr> |
115 | 126 | <td class="paramkey"></td> |
116 | 127 | <td></td> |
117 | 128 | <td class="paramtype">pid_t </td> |
118 | <td class="paramname"> <em>tid</em>, </td> | |
129 | <td class="paramname"><em>tid</em>, </td> | |
119 | 130 | </tr> |
120 | 131 | <tr> |
121 | 132 | <td class="paramkey"></td> |
122 | 133 | <td></td> |
123 | 134 | <td class="paramtype"><a class="el" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25">hwloc_const_cpuset_t</a> </td> |
124 | <td class="paramname"> <em>set</em> </td> | |
135 | <td class="paramname"><em>set</em> </td> | |
125 | 136 | </tr> |
126 | 137 | <tr> |
127 | 138 | <td></td> |
138 | 149 | </div> |
139 | 150 | </div> |
140 | 151 | </div> |
141 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
152 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
142 | 153 | <a href="http://www.doxygen.org/index.html"> |
143 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
154 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
144 | 155 | </body> |
145 | 156 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
42 | 53 | <td class="memname">static inline int hwloc_cpuset_from_linux_libnuma_ulongs </td> |
43 | 54 | <td>(</td> |
44 | 55 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
45 | <td class="paramname"> <em>topology</em>, </td> | |
56 | <td class="paramname"><em>topology</em>, </td> | |
46 | 57 | </tr> |
47 | 58 | <tr> |
48 | 59 | <td class="paramkey"></td> |
49 | 60 | <td></td> |
50 | 61 | <td class="paramtype"><a class="el" href="a00034.html#ga4bbf39b68b6f568fb92739e7c0ea7801">hwloc_cpuset_t</a> </td> |
51 | <td class="paramname"> <em>cpuset</em>, </td> | |
62 | <td class="paramname"><em>cpuset</em>, </td> | |
52 | 63 | </tr> |
53 | 64 | <tr> |
54 | 65 | <td class="paramkey"></td> |
55 | 66 | <td></td> |
56 | 67 | <td class="paramtype">const unsigned long * </td> |
57 | <td class="paramname"> <em>mask</em>, </td> | |
68 | <td class="paramname"><em>mask</em>, </td> | |
58 | 69 | </tr> |
59 | 70 | <tr> |
60 | 71 | <td class="paramkey"></td> |
61 | 72 | <td></td> |
62 | 73 | <td class="paramtype">unsigned long </td> |
63 | <td class="paramname"> <em>maxnode</em> </td> | |
74 | <td class="paramname"><em>maxnode</em> </td> | |
64 | 75 | </tr> |
65 | 76 | <tr> |
66 | 77 | <td></td> |
85 | 96 | <td class="memname">static inline int hwloc_cpuset_to_linux_libnuma_ulongs </td> |
86 | 97 | <td>(</td> |
87 | 98 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
88 | <td class="paramname"> <em>topology</em>, </td> | |
99 | <td class="paramname"><em>topology</em>, </td> | |
89 | 100 | </tr> |
90 | 101 | <tr> |
91 | 102 | <td class="paramkey"></td> |
92 | 103 | <td></td> |
93 | 104 | <td class="paramtype"><a class="el" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25">hwloc_const_cpuset_t</a> </td> |
94 | <td class="paramname"> <em>cpuset</em>, </td> | |
95 | </tr> | |
96 | <tr> | |
97 | <td class="paramkey"></td> | |
98 | <td></td> | |
99 | <td class="paramtype">unsigned long * </td> | |
100 | <td class="paramname"> <em>mask</em>, </td> | |
101 | </tr> | |
102 | <tr> | |
103 | <td class="paramkey"></td> | |
104 | <td></td> | |
105 | <td class="paramtype">unsigned long * </td> | |
106 | <td class="paramname"> <em>maxnode</em> </td> | |
105 | <td class="paramname"><em>cpuset</em>, </td> | |
106 | </tr> | |
107 | <tr> | |
108 | <td class="paramkey"></td> | |
109 | <td></td> | |
110 | <td class="paramtype">unsigned long * </td> | |
111 | <td class="paramname"><em>mask</em>, </td> | |
112 | </tr> | |
113 | <tr> | |
114 | <td class="paramkey"></td> | |
115 | <td></td> | |
116 | <td class="paramtype">unsigned long * </td> | |
117 | <td class="paramname"><em>maxnode</em> </td> | |
107 | 118 | </tr> |
108 | 119 | <tr> |
109 | 120 | <td></td> |
128 | 139 | <td class="memname">static inline int hwloc_nodeset_from_linux_libnuma_ulongs </td> |
129 | 140 | <td>(</td> |
130 | 141 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
131 | <td class="paramname"> <em>topology</em>, </td> | |
142 | <td class="paramname"><em>topology</em>, </td> | |
132 | 143 | </tr> |
133 | 144 | <tr> |
134 | 145 | <td class="paramkey"></td> |
135 | 146 | <td></td> |
136 | 147 | <td class="paramtype"><a class="el" href="a00034.html#ga37e35730fa7e775b5bb0afe893d6d508">hwloc_nodeset_t</a> </td> |
137 | <td class="paramname"> <em>nodeset</em>, </td> | |
148 | <td class="paramname"><em>nodeset</em>, </td> | |
138 | 149 | </tr> |
139 | 150 | <tr> |
140 | 151 | <td class="paramkey"></td> |
141 | 152 | <td></td> |
142 | 153 | <td class="paramtype">const unsigned long * </td> |
143 | <td class="paramname"> <em>mask</em>, </td> | |
154 | <td class="paramname"><em>mask</em>, </td> | |
144 | 155 | </tr> |
145 | 156 | <tr> |
146 | 157 | <td class="paramkey"></td> |
147 | 158 | <td></td> |
148 | 159 | <td class="paramtype">unsigned long </td> |
149 | <td class="paramname"> <em>maxnode</em> </td> | |
160 | <td class="paramname"><em>maxnode</em> </td> | |
150 | 161 | </tr> |
151 | 162 | <tr> |
152 | 163 | <td></td> |
171 | 182 | <td class="memname">static inline int hwloc_nodeset_to_linux_libnuma_ulongs </td> |
172 | 183 | <td>(</td> |
173 | 184 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
174 | <td class="paramname"> <em>topology</em>, </td> | |
185 | <td class="paramname"><em>topology</em>, </td> | |
175 | 186 | </tr> |
176 | 187 | <tr> |
177 | 188 | <td class="paramkey"></td> |
178 | 189 | <td></td> |
179 | 190 | <td class="paramtype"><a class="el" href="a00034.html#ga2f5276235841ad66a79bedad16a5a10c">hwloc_const_nodeset_t</a> </td> |
180 | <td class="paramname"> <em>nodeset</em>, </td> | |
181 | </tr> | |
182 | <tr> | |
183 | <td class="paramkey"></td> | |
184 | <td></td> | |
185 | <td class="paramtype">unsigned long * </td> | |
186 | <td class="paramname"> <em>mask</em>, </td> | |
187 | </tr> | |
188 | <tr> | |
189 | <td class="paramkey"></td> | |
190 | <td></td> | |
191 | <td class="paramtype">unsigned long * </td> | |
192 | <td class="paramname"> <em>maxnode</em> </td> | |
191 | <td class="paramname"><em>nodeset</em>, </td> | |
192 | </tr> | |
193 | <tr> | |
194 | <td class="paramkey"></td> | |
195 | <td></td> | |
196 | <td class="paramtype">unsigned long * </td> | |
197 | <td class="paramname"><em>mask</em>, </td> | |
198 | </tr> | |
199 | <tr> | |
200 | <td class="paramkey"></td> | |
201 | <td></td> | |
202 | <td class="paramtype">unsigned long * </td> | |
203 | <td class="paramname"><em>maxnode</em> </td> | |
193 | 204 | </tr> |
194 | 205 | <tr> |
195 | 206 | <td></td> |
207 | 218 | </div> |
208 | 219 | </div> |
209 | 220 | </div> |
210 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
221 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
211 | 222 | <a href="http://www.doxygen.org/index.html"> |
212 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
223 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
213 | 224 | </body> |
214 | 225 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
46 | 57 | <td class="memname">static inline int hwloc_cpuset_from_linux_libnuma_bitmask </td> |
47 | 58 | <td>(</td> |
48 | 59 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
49 | <td class="paramname"> <em>topology</em>, </td> | |
60 | <td class="paramname"><em>topology</em>, </td> | |
50 | 61 | </tr> |
51 | 62 | <tr> |
52 | 63 | <td class="paramkey"></td> |
53 | 64 | <td></td> |
54 | 65 | <td class="paramtype"><a class="el" href="a00034.html#ga4bbf39b68b6f568fb92739e7c0ea7801">hwloc_cpuset_t</a> </td> |
55 | <td class="paramname"> <em>cpuset</em>, </td> | |
66 | <td class="paramname"><em>cpuset</em>, </td> | |
56 | 67 | </tr> |
57 | 68 | <tr> |
58 | 69 | <td class="paramkey"></td> |
59 | 70 | <td></td> |
60 | 71 | <td class="paramtype">const struct bitmask * </td> |
61 | <td class="paramname"> <em>bitmask</em> </td> | |
72 | <td class="paramname"><em>bitmask</em> </td> | |
62 | 73 | </tr> |
63 | 74 | <tr> |
64 | 75 | <td></td> |
82 | 93 | <td class="memname">static inline struct bitmask* hwloc_cpuset_to_linux_libnuma_bitmask </td> |
83 | 94 | <td>(</td> |
84 | 95 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
85 | <td class="paramname"> <em>topology</em>, </td> | |
96 | <td class="paramname"><em>topology</em>, </td> | |
86 | 97 | </tr> |
87 | 98 | <tr> |
88 | 99 | <td class="paramkey"></td> |
89 | 100 | <td></td> |
90 | 101 | <td class="paramtype"><a class="el" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25">hwloc_const_cpuset_t</a> </td> |
91 | <td class="paramname"> <em>cpuset</em> </td> | |
102 | <td class="paramname"><em>cpuset</em> </td> | |
92 | 103 | </tr> |
93 | 104 | <tr> |
94 | 105 | <td></td> |
114 | 125 | <td class="memname">static inline int hwloc_nodeset_from_linux_libnuma_bitmask </td> |
115 | 126 | <td>(</td> |
116 | 127 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
117 | <td class="paramname"> <em>topology</em>, </td> | |
128 | <td class="paramname"><em>topology</em>, </td> | |
118 | 129 | </tr> |
119 | 130 | <tr> |
120 | 131 | <td class="paramkey"></td> |
121 | 132 | <td></td> |
122 | 133 | <td class="paramtype"><a class="el" href="a00034.html#ga37e35730fa7e775b5bb0afe893d6d508">hwloc_nodeset_t</a> </td> |
123 | <td class="paramname"> <em>nodeset</em>, </td> | |
134 | <td class="paramname"><em>nodeset</em>, </td> | |
124 | 135 | </tr> |
125 | 136 | <tr> |
126 | 137 | <td class="paramkey"></td> |
127 | 138 | <td></td> |
128 | 139 | <td class="paramtype">const struct bitmask * </td> |
129 | <td class="paramname"> <em>bitmask</em> </td> | |
140 | <td class="paramname"><em>bitmask</em> </td> | |
130 | 141 | </tr> |
131 | 142 | <tr> |
132 | 143 | <td></td> |
150 | 161 | <td class="memname">static inline struct bitmask* hwloc_nodeset_to_linux_libnuma_bitmask </td> |
151 | 162 | <td>(</td> |
152 | 163 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
153 | <td class="paramname"> <em>topology</em>, </td> | |
164 | <td class="paramname"><em>topology</em>, </td> | |
154 | 165 | </tr> |
155 | 166 | <tr> |
156 | 167 | <td class="paramkey"></td> |
157 | 168 | <td></td> |
158 | 169 | <td class="paramtype"><a class="el" href="a00034.html#ga2f5276235841ad66a79bedad16a5a10c">hwloc_const_nodeset_t</a> </td> |
159 | <td class="paramname"> <em>nodeset</em> </td> | |
170 | <td class="paramname"><em>nodeset</em> </td> | |
160 | 171 | </tr> |
161 | 172 | <tr> |
162 | 173 | <td></td> |
175 | 186 | </div> |
176 | 187 | </div> |
177 | 188 | </div> |
178 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
189 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
179 | 190 | <a href="http://www.doxygen.org/index.html"> |
180 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
191 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
181 | 192 | </body> |
182 | 193 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
42 | 53 | <td class="memname">static inline int hwloc_cpuset_from_linux_libnuma_nodemask </td> |
43 | 54 | <td>(</td> |
44 | 55 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
45 | <td class="paramname"> <em>topology</em>, </td> | |
56 | <td class="paramname"><em>topology</em>, </td> | |
46 | 57 | </tr> |
47 | 58 | <tr> |
48 | 59 | <td class="paramkey"></td> |
49 | 60 | <td></td> |
50 | 61 | <td class="paramtype"><a class="el" href="a00034.html#ga4bbf39b68b6f568fb92739e7c0ea7801">hwloc_cpuset_t</a> </td> |
51 | <td class="paramname"> <em>cpuset</em>, </td> | |
62 | <td class="paramname"><em>cpuset</em>, </td> | |
52 | 63 | </tr> |
53 | 64 | <tr> |
54 | 65 | <td class="paramkey"></td> |
55 | 66 | <td></td> |
56 | 67 | <td class="paramtype">const nodemask_t * </td> |
57 | <td class="paramname"> <em>nodemask</em> </td> | |
68 | <td class="paramname"><em>nodemask</em> </td> | |
58 | 69 | </tr> |
59 | 70 | <tr> |
60 | 71 | <td></td> |
78 | 89 | <td class="memname">static inline int hwloc_cpuset_to_linux_libnuma_nodemask </td> |
79 | 90 | <td>(</td> |
80 | 91 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
81 | <td class="paramname"> <em>topology</em>, </td> | |
92 | <td class="paramname"><em>topology</em>, </td> | |
82 | 93 | </tr> |
83 | 94 | <tr> |
84 | 95 | <td class="paramkey"></td> |
85 | 96 | <td></td> |
86 | 97 | <td class="paramtype"><a class="el" href="a00034.html#ga1f784433e9b606261f62d1134f6a3b25">hwloc_const_cpuset_t</a> </td> |
87 | <td class="paramname"> <em>cpuset</em>, </td> | |
98 | <td class="paramname"><em>cpuset</em>, </td> | |
88 | 99 | </tr> |
89 | 100 | <tr> |
90 | 101 | <td class="paramkey"></td> |
91 | 102 | <td></td> |
92 | 103 | <td class="paramtype">nodemask_t * </td> |
93 | <td class="paramname"> <em>nodemask</em> </td> | |
104 | <td class="paramname"><em>nodemask</em> </td> | |
94 | 105 | </tr> |
95 | 106 | <tr> |
96 | 107 | <td></td> |
114 | 125 | <td class="memname">static inline int hwloc_nodeset_from_linux_libnuma_nodemask </td> |
115 | 126 | <td>(</td> |
116 | 127 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
117 | <td class="paramname"> <em>topology</em>, </td> | |
128 | <td class="paramname"><em>topology</em>, </td> | |
118 | 129 | </tr> |
119 | 130 | <tr> |
120 | 131 | <td class="paramkey"></td> |
121 | 132 | <td></td> |
122 | 133 | <td class="paramtype"><a class="el" href="a00034.html#ga37e35730fa7e775b5bb0afe893d6d508">hwloc_nodeset_t</a> </td> |
123 | <td class="paramname"> <em>nodeset</em>, </td> | |
134 | <td class="paramname"><em>nodeset</em>, </td> | |
124 | 135 | </tr> |
125 | 136 | <tr> |
126 | 137 | <td class="paramkey"></td> |
127 | 138 | <td></td> |
128 | 139 | <td class="paramtype">const nodemask_t * </td> |
129 | <td class="paramname"> <em>nodemask</em> </td> | |
140 | <td class="paramname"><em>nodemask</em> </td> | |
130 | 141 | </tr> |
131 | 142 | <tr> |
132 | 143 | <td></td> |
150 | 161 | <td class="memname">static inline int hwloc_nodeset_to_linux_libnuma_nodemask </td> |
151 | 162 | <td>(</td> |
152 | 163 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
153 | <td class="paramname"> <em>topology</em>, </td> | |
164 | <td class="paramname"><em>topology</em>, </td> | |
154 | 165 | </tr> |
155 | 166 | <tr> |
156 | 167 | <td class="paramkey"></td> |
157 | 168 | <td></td> |
158 | 169 | <td class="paramtype"><a class="el" href="a00034.html#ga2f5276235841ad66a79bedad16a5a10c">hwloc_const_nodeset_t</a> </td> |
159 | <td class="paramname"> <em>nodeset</em>, </td> | |
170 | <td class="paramname"><em>nodeset</em>, </td> | |
160 | 171 | </tr> |
161 | 172 | <tr> |
162 | 173 | <td class="paramkey"></td> |
163 | 174 | <td></td> |
164 | 175 | <td class="paramtype">nodemask_t * </td> |
165 | <td class="paramname"> <em>nodemask</em> </td> | |
176 | <td class="paramname"><em>nodemask</em> </td> | |
166 | 177 | </tr> |
167 | 178 | <tr> |
168 | 179 | <td></td> |
179 | 190 | </div> |
180 | 191 | </div> |
181 | 192 | </div> |
182 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
193 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
183 | 194 | <a href="http://www.doxygen.org/index.html"> |
184 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
195 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
185 | 196 | </body> |
186 | 197 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
39 | 50 | <td class="memname">static inline int hwloc_cuda_get_device_cpuset </td> |
40 | 51 | <td>(</td> |
41 | 52 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> topology </td> |
42 | <td class="paramname"> <em></em>, </td> | |
53 | <td class="paramname"><em></em>, </td> | |
43 | 54 | </tr> |
44 | 55 | <tr> |
45 | 56 | <td class="paramkey"></td> |
46 | 57 | <td></td> |
47 | 58 | <td class="paramtype">CUdevice </td> |
48 | <td class="paramname"> <em>cudevice</em>, </td> | |
59 | <td class="paramname"><em>cudevice</em>, </td> | |
49 | 60 | </tr> |
50 | 61 | <tr> |
51 | 62 | <td class="paramkey"></td> |
52 | 63 | <td></td> |
53 | 64 | <td class="paramtype"><a class="el" href="a00034.html#ga4bbf39b68b6f568fb92739e7c0ea7801">hwloc_cpuset_t</a> </td> |
54 | <td class="paramname"> <em>set</em> </td> | |
65 | <td class="paramname"><em>set</em> </td> | |
55 | 66 | </tr> |
56 | 67 | <tr> |
57 | 68 | <td></td> |
68 | 79 | </div> |
69 | 80 | </div> |
70 | 81 | </div> |
71 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
82 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
72 | 83 | <a href="http://www.doxygen.org/index.html"> |
73 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
84 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
74 | 85 | </body> |
75 | 86 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
39 | 50 | <td class="memname">static inline int hwloc_cudart_get_device_cpuset </td> |
40 | 51 | <td>(</td> |
41 | 52 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> topology </td> |
42 | <td class="paramname"> <em></em>, </td> | |
53 | <td class="paramname"><em></em>, </td> | |
43 | 54 | </tr> |
44 | 55 | <tr> |
45 | 56 | <td class="paramkey"></td> |
46 | 57 | <td></td> |
47 | 58 | <td class="paramtype">int </td> |
48 | <td class="paramname"> <em>device</em>, </td> | |
59 | <td class="paramname"><em>device</em>, </td> | |
49 | 60 | </tr> |
50 | 61 | <tr> |
51 | 62 | <td class="paramkey"></td> |
52 | 63 | <td></td> |
53 | 64 | <td class="paramtype"><a class="el" href="a00034.html#ga4bbf39b68b6f568fb92739e7c0ea7801">hwloc_cpuset_t</a> </td> |
54 | <td class="paramname"> <em>set</em> </td> | |
65 | <td class="paramname"><em>set</em> </td> | |
55 | 66 | </tr> |
56 | 67 | <tr> |
57 | 68 | <td></td> |
68 | 79 | </div> |
69 | 80 | </div> |
70 | 81 | </div> |
71 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
82 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
72 | 83 | <a href="http://www.doxygen.org/index.html"> |
73 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
84 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
74 | 85 | </body> |
75 | 86 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
39 | 50 | <td class="memname">static inline int hwloc_ibv_get_device_cpuset </td> |
40 | 51 | <td>(</td> |
41 | 52 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> topology </td> |
42 | <td class="paramname"> <em></em>, </td> | |
53 | <td class="paramname"><em></em>, </td> | |
43 | 54 | </tr> |
44 | 55 | <tr> |
45 | 56 | <td class="paramkey"></td> |
46 | 57 | <td></td> |
47 | 58 | <td class="paramtype">struct ibv_device * </td> |
48 | <td class="paramname"> <em>ibdev</em>, </td> | |
59 | <td class="paramname"><em>ibdev</em>, </td> | |
49 | 60 | </tr> |
50 | 61 | <tr> |
51 | 62 | <td class="paramkey"></td> |
52 | 63 | <td></td> |
53 | 64 | <td class="paramtype"><a class="el" href="a00034.html#ga4bbf39b68b6f568fb92739e7c0ea7801">hwloc_cpuset_t</a> </td> |
54 | <td class="paramname"> <em>set</em> </td> | |
65 | <td class="paramname"><em>set</em> </td> | |
55 | 66 | </tr> |
56 | 67 | <tr> |
57 | 68 | <td></td> |
68 | 79 | </div> |
69 | 80 | </div> |
70 | 81 | </div> |
71 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
82 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
72 | 83 | <a href="http://www.doxygen.org/index.html"> |
73 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
84 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
74 | 85 | </body> |
75 | 86 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
40 | 51 | <td class="memname">static inline int hwloc_mx_board_get_device_cpuset </td> |
41 | 52 | <td>(</td> |
42 | 53 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
43 | <td class="paramname"> <em>topology</em>, </td> | |
54 | <td class="paramname"><em>topology</em>, </td> | |
44 | 55 | </tr> |
45 | 56 | <tr> |
46 | 57 | <td class="paramkey"></td> |
47 | 58 | <td></td> |
48 | 59 | <td class="paramtype">unsigned </td> |
49 | <td class="paramname"> <em>id</em>, </td> | |
60 | <td class="paramname"><em>id</em>, </td> | |
50 | 61 | </tr> |
51 | 62 | <tr> |
52 | 63 | <td class="paramkey"></td> |
53 | 64 | <td></td> |
54 | 65 | <td class="paramtype"><a class="el" href="a00034.html#ga4bbf39b68b6f568fb92739e7c0ea7801">hwloc_cpuset_t</a> </td> |
55 | <td class="paramname"> <em>set</em> </td> | |
66 | <td class="paramname"><em>set</em> </td> | |
56 | 67 | </tr> |
57 | 68 | <tr> |
58 | 69 | <td></td> |
76 | 87 | <td class="memname">static inline int hwloc_mx_endpoint_get_device_cpuset </td> |
77 | 88 | <td>(</td> |
78 | 89 | <td class="paramtype"><a class="el" href="a00033.html#ga9d1e76ee15a7dee158b786c30b6a6e38">hwloc_topology_t</a> </td> |
79 | <td class="paramname"> <em>topology</em>, </td> | |
90 | <td class="paramname"><em>topology</em>, </td> | |
80 | 91 | </tr> |
81 | 92 | <tr> |
82 | 93 | <td class="paramkey"></td> |
83 | 94 | <td></td> |
84 | 95 | <td class="paramtype">mx_endpoint_t </td> |
85 | <td class="paramname"> <em>endpoint</em>, </td> | |
96 | <td class="paramname"><em>endpoint</em>, </td> | |
86 | 97 | </tr> |
87 | 98 | <tr> |
88 | 99 | <td class="paramkey"></td> |
89 | 100 | <td></td> |
90 | 101 | <td class="paramtype"><a class="el" href="a00034.html#ga4bbf39b68b6f568fb92739e7c0ea7801">hwloc_cpuset_t</a> </td> |
91 | <td class="paramname"> <em>set</em> </td> | |
102 | <td class="paramname"><em>set</em> </td> | |
92 | 103 | </tr> |
93 | 104 | <tr> |
94 | 105 | <td></td> |
105 | 116 | </div> |
106 | 117 | </div> |
107 | 118 | </div> |
108 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
119 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
109 | 120 | <a href="http://www.doxygen.org/index.html"> |
110 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
121 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
111 | 122 | </body> |
112 | 123 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
17 | 28 | <li><a href="files.html"><span>Files</span></a></li> |
18 | 29 | </ul> |
19 | 30 | </div> |
20 | <div class="tabs2"> | |
31 | <div id="navrow2" class="tabs2"> | |
21 | 32 | <ul class="tablist"> |
22 | 33 | <li class="current"><a href="annotated.html"><span>Data Structures</span></a></li> |
23 | 34 | <li><a href="functions.html"><span>Data Fields</span></a></li> |
29 | 40 | <h1>Data Structures</h1> </div> |
30 | 41 | </div> |
31 | 42 | <div class="contents"> |
32 | Here are the data structures with brief descriptions:<table> | |
43 | <div class="textblock">Here are the data structures with brief descriptions:</div><table> | |
33 | 44 | <tr><td class="indexkey"><a class="el" href="a00010.html">hwloc_obj_attr_u::hwloc_cache_attr_s</a></td><td class="indexvalue">Cache-specific Object Attributes </td></tr> |
34 | 45 | <tr><td class="indexkey"><a class="el" href="a00011.html">hwloc_obj_attr_u::hwloc_group_attr_s</a></td><td class="indexvalue">Group-specific Object Attributes </td></tr> |
35 | 46 | <tr><td class="indexkey"><a class="el" href="a00012.html">hwloc_obj</a></td><td class="indexvalue">Structure of a topology object </td></tr> |
43 | 54 | <tr><td class="indexkey"><a class="el" href="a00020.html">hwloc_topology_support</a></td><td class="indexvalue">Set of flags describing actual support for this topology </td></tr> |
44 | 55 | </table> |
45 | 56 | </div> |
46 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
57 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
47 | 58 | <a href="http://www.doxygen.org/index.html"> |
48 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
59 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
49 | 60 | </body> |
50 | 61 | </html> |
1 | 1 | <html xmlns="http://www.w3.org/1999/xhtml"> |
2 | 2 | <head> |
3 | 3 | <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> |
4 | <title>Hardware Locality (hwloc): Alphabetical List</title> | |
4 | <title>Hardware Locality (hwloc): Data Structure Index</title> | |
5 | 5 | <link href="tabs.css" rel="stylesheet" type="text/css"/> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
17 | 28 | <li><a href="files.html"><span>Files</span></a></li> |
18 | 29 | </ul> |
19 | 30 | </div> |
20 | <div class="tabs2"> | |
31 | <div id="navrow2" class="tabs2"> | |
21 | 32 | <ul class="tablist"> |
22 | 33 | <li><a href="annotated.html"><span>Data Structures</span></a></li> |
23 | 34 | <li><a href="functions.html"><span>Data Fields</span></a></li> |
34 | 45 | <tr><td><a name="letter_H"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">  H  </div></td></tr></table> |
35 | 46 | </td><td><a class="el" href="a00012.html">hwloc_obj</a>   </td><td><a class="el" href="a00015.html">hwloc_obj_memory_s::hwloc_obj_memory_page_type_s</a>   </td><td><a class="el" href="a00017.html">hwloc_topology_cpubind_support</a>   </td><td><a class="el" href="a00019.html">hwloc_topology_membind_support</a>   </td></tr><tr><td><a class="el" href="a00010.html">hwloc_obj_attr_u::hwloc_cache_attr_s</a>   </td><td><a class="el" href="a00013.html">hwloc_obj_attr_u</a>   </td><td><a class="el" href="a00016.html">hwloc_obj_memory_s</a>   </td><td><a class="el" href="a00018.html">hwloc_topology_discovery_support</a>   </td><td><a class="el" href="a00020.html">hwloc_topology_support</a>   </td></tr><tr><td><a class="el" href="a00011.html">hwloc_obj_attr_u::hwloc_group_attr_s</a>   </td><td><a class="el" href="a00014.html">hwloc_obj_info_s</a>   </td></tr></table><div class="qindex"><a class="qindex" href="#letter_H">H</a></div> |
36 | 47 | </div> |
37 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
48 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
38 | 49 | <a href="http://www.doxygen.org/index.html"> |
39 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
50 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
40 | 51 | </body> |
41 | 52 | </html> |
Binary diff not shown
1 | 1 | <html xmlns="http://www.w3.org/1999/xhtml"> |
2 | 2 | <head> |
3 | 3 | <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> |
4 | <title>Hardware Locality (hwloc): File Index</title> | |
4 | <title>Hardware Locality (hwloc): File List</title> | |
5 | 5 | <link href="tabs.css" rel="stylesheet" type="text/css"/> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
17 | 28 | <li class="current"><a href="files.html"><span>Files</span></a></li> |
18 | 29 | </ul> |
19 | 30 | </div> |
20 | <div class="tabs2"> | |
31 | <div id="navrow2" class="tabs2"> | |
21 | 32 | <ul class="tablist"> |
22 | 33 | <li class="current"><a href="files.html"><span>File List</span></a></li> |
23 | 34 | </ul> |
28 | 39 | <h1>File List</h1> </div> |
29 | 40 | </div> |
30 | 41 | <div class="contents"> |
31 | Here is a list of all files with brief descriptions:<table> | |
42 | <div class="textblock">Here is a list of all files with brief descriptions:</div><table> | |
32 | 43 | <tr><td class="indexkey"><b>bitmap.h</b> <a href="a00021_source.html">[code]</a></td><td class="indexvalue">The bitmap API, for use in hwloc itself </td></tr> |
33 | 44 | <tr><td class="indexkey"><b>cuda.h</b> <a href="a00022_source.html">[code]</a></td><td class="indexvalue">Macros to help interaction between hwloc and the CUDA Driver API </td></tr> |
34 | 45 | <tr><td class="indexkey"><b>cudart.h</b> <a href="a00023_source.html">[code]</a></td><td class="indexvalue">Macros to help interaction between hwloc and the CUDA Runtime API </td></tr> |
41 | 52 | <tr><td class="indexkey"><b>openfabrics-verbs.h</b> <a href="a00031_source.html">[code]</a></td><td class="indexvalue">Macros to help interaction between hwloc and OpenFabrics verbs </td></tr> |
42 | 53 | </table> |
43 | 54 | </div> |
44 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
55 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
45 | 56 | <a href="http://www.doxygen.org/index.html"> |
46 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
57 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
47 | 58 | </body> |
48 | 59 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
17 | 28 | <li><a href="files.html"><span>Files</span></a></li> |
18 | 29 | </ul> |
19 | 30 | </div> |
20 | <div class="tabs2"> | |
31 | <div id="navrow2" class="tabs2"> | |
21 | 32 | <ul class="tablist"> |
22 | 33 | <li><a href="annotated.html"><span>Data Structures</span></a></li> |
23 | 34 | <li class="current"><a href="functions.html"><span>Data Fields</span></a></li> |
24 | 35 | </ul> |
25 | 36 | </div> |
26 | <div class="tabs2"> | |
37 | <div id="navrow3" class="tabs2"> | |
27 | 38 | <ul class="tablist"> |
28 | 39 | <li class="current"><a href="functions.html"><span>All</span></a></li> |
29 | 40 | <li><a href="functions_vars.html"><span>Variables</span></a></li> |
30 | 41 | </ul> |
31 | 42 | </div> |
32 | <div class="tabs3"> | |
43 | <div id="navrow4" class="tabs3"> | |
33 | 44 | <ul class="tablist"> |
34 | 45 | <li><a href="#index_a"><span>a</span></a></li> |
35 | 46 | <li><a href="#index_b"><span>b</span></a></li> |
52 | 63 | </div> |
53 | 64 | </div> |
54 | 65 | <div class="contents"> |
55 | Here is a list of all struct and union fields with links to the structures/unions they belong to: | |
66 | <div class="textblock">Here is a list of all struct and union fields with links to the structures/unions they belong to:</div> | |
56 | 67 | |
57 | 68 | <h3><a class="anchor" id="index_a"></a>- a -</h3><ul> |
58 | 69 | <li>alloc_membind |
94 | 105 | : <a class="el" href="a00012.html#ac38c4012127525ef74c5615c526f4c2e">hwloc_obj</a> |
95 | 106 | </li> |
96 | 107 | <li>count |
97 | : <a class="el" href="a00015.html#ab5d01db7b26177a6b5361107cad152c3">hwloc_obj_memory_s::hwloc_obj_memory_page_type_s</a> | |
108 | : <a class="el" href="a00015.html#aa5b9fa36f1dc47ff3c345fe4dd06b260">hwloc_obj_memory_s::hwloc_obj_memory_page_type_s</a> | |
98 | 109 | </li> |
99 | 110 | <li>cpubind |
100 | 111 | : <a class="el" href="a00020.html#adef2bb91f74c3e70a2a071393caf5f56">hwloc_topology_support</a> |
179 | 190 | : <a class="el" href="a00010.html#a801e8a668e28caf06c8b88e9ae5c10db">hwloc_obj_attr_u::hwloc_cache_attr_s</a> |
180 | 191 | </li> |
181 | 192 | <li>local_memory |
182 | : <a class="el" href="a00016.html#a27043a3150660f44ed84916c2d0d7e0e">hwloc_obj_memory_s</a> | |
193 | : <a class="el" href="a00016.html#aace044c7f3fd9dffe50202296bf1dc5a">hwloc_obj_memory_s</a> | |
183 | 194 | </li> |
184 | 195 | <li>logical_index |
185 | 196 | : <a class="el" href="a00012.html#a0d07fb7b8935e137c94d75a3eb492ae9">hwloc_obj</a> |
291 | 302 | : <a class="el" href="a00012.html#aaa6043eee6f55869933c1d974efd9acd">hwloc_obj</a> |
292 | 303 | </li> |
293 | 304 | <li>size |
294 | : <a class="el" href="a00015.html#af0619463fb5d10052b7fe3495a66d74b">hwloc_obj_memory_s::hwloc_obj_memory_page_type_s</a> | |
295 | , <a class="el" href="a00010.html#a3c68235220554308f89768f281ad1e62">hwloc_obj_attr_u::hwloc_cache_attr_s</a> | |
305 | : <a class="el" href="a00015.html#a3f1d261766352288791512974665ce01">hwloc_obj_memory_s::hwloc_obj_memory_page_type_s</a> | |
306 | , <a class="el" href="a00010.html#abe5e788943ed04302976740c829674c0">hwloc_obj_attr_u::hwloc_cache_attr_s</a> | |
296 | 307 | </li> |
297 | 308 | </ul> |
298 | 309 | |
299 | 310 | |
300 | 311 | <h3><a class="anchor" id="index_t"></a>- t -</h3><ul> |
301 | 312 | <li>total_memory |
302 | : <a class="el" href="a00016.html#a68c3323d2d0a248d1b7fec7af44bebe3">hwloc_obj_memory_s</a> | |
313 | : <a class="el" href="a00016.html#a8befd0b3f4f8b695cafed04b31f36a44">hwloc_obj_memory_s</a> | |
303 | 314 | </li> |
304 | 315 | <li>type |
305 | 316 | : <a class="el" href="a00012.html#acc4f0803f244867e68fe0036800be5de">hwloc_obj</a> |
320 | 331 | </li> |
321 | 332 | </ul> |
322 | 333 | </div> |
323 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
334 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
324 | 335 | <a href="http://www.doxygen.org/index.html"> |
325 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
336 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
326 | 337 | </body> |
327 | 338 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
17 | 28 | <li><a href="files.html"><span>Files</span></a></li> |
18 | 29 | </ul> |
19 | 30 | </div> |
20 | <div class="tabs2"> | |
31 | <div id="navrow2" class="tabs2"> | |
21 | 32 | <ul class="tablist"> |
22 | 33 | <li><a href="annotated.html"><span>Data Structures</span></a></li> |
23 | 34 | <li class="current"><a href="functions.html"><span>Data Fields</span></a></li> |
24 | 35 | </ul> |
25 | 36 | </div> |
26 | <div class="tabs2"> | |
37 | <div id="navrow3" class="tabs2"> | |
27 | 38 | <ul class="tablist"> |
28 | 39 | <li><a href="functions.html"><span>All</span></a></li> |
29 | 40 | <li class="current"><a href="functions_vars.html"><span>Variables</span></a></li> |
30 | 41 | </ul> |
31 | 42 | </div> |
32 | <div class="tabs3"> | |
43 | <div id="navrow4" class="tabs3"> | |
33 | 44 | <ul class="tablist"> |
34 | 45 | <li><a href="#index_a"><span>a</span></a></li> |
35 | 46 | <li><a href="#index_b"><span>b</span></a></li> |
94 | 105 | : <a class="el" href="a00012.html#ac38c4012127525ef74c5615c526f4c2e">hwloc_obj</a> |
95 | 106 | </li> |
96 | 107 | <li>count |
97 | : <a class="el" href="a00015.html#ab5d01db7b26177a6b5361107cad152c3">hwloc_obj_memory_s::hwloc_obj_memory_page_type_s</a> | |
108 | : <a class="el" href="a00015.html#aa5b9fa36f1dc47ff3c345fe4dd06b260">hwloc_obj_memory_s::hwloc_obj_memory_page_type_s</a> | |
98 | 109 | </li> |
99 | 110 | <li>cpubind |
100 | 111 | : <a class="el" href="a00020.html#adef2bb91f74c3e70a2a071393caf5f56">hwloc_topology_support</a> |
179 | 190 | : <a class="el" href="a00010.html#a801e8a668e28caf06c8b88e9ae5c10db">hwloc_obj_attr_u::hwloc_cache_attr_s</a> |
180 | 191 | </li> |
181 | 192 | <li>local_memory |
182 | : <a class="el" href="a00016.html#a27043a3150660f44ed84916c2d0d7e0e">hwloc_obj_memory_s</a> | |
193 | : <a class="el" href="a00016.html#aace044c7f3fd9dffe50202296bf1dc5a">hwloc_obj_memory_s</a> | |
183 | 194 | </li> |
184 | 195 | <li>logical_index |
185 | 196 | : <a class="el" href="a00012.html#a0d07fb7b8935e137c94d75a3eb492ae9">hwloc_obj</a> |
291 | 302 | : <a class="el" href="a00012.html#aaa6043eee6f55869933c1d974efd9acd">hwloc_obj</a> |
292 | 303 | </li> |
293 | 304 | <li>size |
294 | : <a class="el" href="a00015.html#af0619463fb5d10052b7fe3495a66d74b">hwloc_obj_memory_s::hwloc_obj_memory_page_type_s</a> | |
295 | , <a class="el" href="a00010.html#a3c68235220554308f89768f281ad1e62">hwloc_obj_attr_u::hwloc_cache_attr_s</a> | |
305 | : <a class="el" href="a00015.html#a3f1d261766352288791512974665ce01">hwloc_obj_memory_s::hwloc_obj_memory_page_type_s</a> | |
306 | , <a class="el" href="a00010.html#abe5e788943ed04302976740c829674c0">hwloc_obj_attr_u::hwloc_cache_attr_s</a> | |
296 | 307 | </li> |
297 | 308 | </ul> |
298 | 309 | |
299 | 310 | |
300 | 311 | <h3><a class="anchor" id="index_t"></a>- t -</h3><ul> |
301 | 312 | <li>total_memory |
302 | : <a class="el" href="a00016.html#a68c3323d2d0a248d1b7fec7af44bebe3">hwloc_obj_memory_s</a> | |
313 | : <a class="el" href="a00016.html#a8befd0b3f4f8b695cafed04b31f36a44">hwloc_obj_memory_s</a> | |
303 | 314 | </li> |
304 | 315 | <li>type |
305 | 316 | : <a class="el" href="a00012.html#acc4f0803f244867e68fe0036800be5de">hwloc_obj</a> |
320 | 331 | </li> |
321 | 332 | </ul> |
322 | 333 | </div> |
323 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
334 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
324 | 335 | <a href="http://www.doxygen.org/index.html"> |
325 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
336 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
326 | 337 | </body> |
327 | 338 | </html> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li class="current"><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
23 | 34 | <h1>Hardware Locality </h1> </div> |
24 | 35 | </div> |
25 | 36 | <div class="contents"> |
26 | <h3 class="version">1.1.1 </h3><h1 class="sub">Portable abstraction of hierarchical architectures for high-performance computing</h1> | |
37 | <div class="textblock"><h1 class="sub">Portable abstraction of hierarchical architectures for high-performance computing</h1> | |
27 | 38 | <hr/> |
28 | 39 | |
29 | 40 | <div class="section" id="introduction"> |
347 | 358 | <div class="fragment"><pre class="fragment"><span class="comment">/* Example hwloc API program.</span> |
348 | 359 | <span class="comment"> *</span> |
349 | 360 | <span class="comment"> * Copyright © 2009-2010 INRIA</span> |
350 | <span class="comment"> * Copyright © 2009-2010 Université Bordeaux 1</span> | |
361 | <span class="comment"> * Copyright © 2009-2011 Université Bordeaux 1</span> | |
351 | 362 | <span class="comment"> * Copyright © 2009-2010 Cisco Systems, Inc. All rights reserved.</span> |
352 | 363 | <span class="comment"> *</span> |
353 | 364 | <span class="comment"> * hwloc-hello.c</span> |
447 | 458 | obj = obj-><a class="code" href="a00012.html#adc494f6aed939992be1c55cca5822900" title="Parent, NULL if root (system object)">parent</a>) |
448 | 459 | <span class="keywordflow">if</span> (obj-><a class="code" href="a00012.html#acc4f0803f244867e68fe0036800be5de" title="Type of object.">type</a> == <a class="code" href="a00035.html#ggacd37bb612667dc437d66bfb175a8dc55a56ee0b7eca88f363b75b34fdde8c9ddc" title="Data cache. Can be L1, L2, L3, ...">HWLOC_OBJ_CACHE</a>) { |
449 | 460 | levels++; |
450 | size += obj-><a class="code" href="a00012.html#accd40e29f71f19e88db62ea3df02adc8" title="Object type-specific Attributes, may be NULL if no attribute value was found.">attr</a>-><a class="code" href="a00013.html#ab5a8ae3bf490e6b1071fea53f7382836">cache</a>.<a class="code" href="a00010.html#a3c68235220554308f89768f281ad1e62" title="Size of cache in bytes.">size</a>; | |
461 | size += obj-><a class="code" href="a00012.html#accd40e29f71f19e88db62ea3df02adc8" title="Object type-specific Attributes, may be NULL if no attribute value was found.">attr</a>-><a class="code" href="a00013.html#ab5a8ae3bf490e6b1071fea53f7382836">cache</a>.<a class="code" href="a00010.html#abe5e788943ed04302976740c829674c0" title="Size of cache in bytes.">size</a>; | |
451 | 462 | } |
452 | 463 | printf(<span class="stringliteral">"*** Logical processor 0 has %d caches totaling %luKB\n"</span>, |
453 | 464 | levels, size / 1024); |
494 | 505 | n = <a class="code" href="a00040.html#ga0131ab1051011fabfa69d7c1853e716c" title="Returns the width of level type type.">hwloc_get_nbobjs_by_type</a>(topology, <a class="code" href="a00035.html#ggacd37bb612667dc437d66bfb175a8dc55aaf0964881117bdedf1a5e9332cd120dd" title="NUMA node. A set of processors around memory which the processors can directly access.">HWLOC_OBJ_NODE</a>); |
495 | 506 | <span class="keywordflow">if</span> (n) { |
496 | 507 | <span class="keywordtype">void</span> *m; |
497 | <span class="keywordtype">size_t</span> size = 1024*1024; | |
508 | size = 1024*1024; | |
498 | 509 | |
499 | 510 | obj = <a class="code" href="a00041.html#ga701f83b2cf0cb8e0acd58cd2dc1c67a2" title="Returns the topology object at index index with type type.">hwloc_get_obj_by_type</a>(topology, <a class="code" href="a00035.html#ggacd37bb612667dc437d66bfb175a8dc55aaf0964881117bdedf1a5e9332cd120dd" title="NUMA node. A set of processors around memory which the processors can directly access.">HWLOC_OBJ_NODE</a>, n - 1); |
500 | 511 | m = <a class="code" href="a00044.html#gaeaa00714a9c4319bda0a74ca6f8720e8" title="Allocate some memory on the given nodeset nodeset.">hwloc_alloc_membind_nodeset</a>(topology, size, obj-><a class="code" href="a00012.html#a08f0d0e16c619a6e653526cbee4ffea3" title="NUMA nodes covered by this object or containing this object.">nodeset</a>, |
590 | 601 | <p>Make sure to have had a look at those too!</p> |
591 | 602 | |
592 | 603 | </div> |
593 | </div> | |
594 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:06 for Hardware Locality (hwloc) by  | |
604 | </div></div> | |
605 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:39 for Hardware Locality (hwloc) by  | |
595 | 606 | <a href="http://www.doxygen.org/index.html"> |
596 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
607 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
597 | 608 | </body> |
598 | 609 | </html> |
1 | 1 | <html xmlns="http://www.w3.org/1999/xhtml"> |
2 | 2 | <head> |
3 | 3 | <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> |
4 | <title>Hardware Locality (hwloc): Module Index</title> | |
4 | <title>Hardware Locality (hwloc): Modules</title> | |
5 | 5 | <link href="tabs.css" rel="stylesheet" type="text/css"/> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li><a href="pages.html"><span>Related Pages</span></a></li> |
23 | 34 | <h1>Modules</h1> </div> |
24 | 35 | </div> |
25 | 36 | <div class="contents"> |
26 | Here is a list of all modules:<ul> | |
37 | <div class="textblock">Here is a list of all modules:</div><ul> | |
27 | 38 | <li><a class="el" href="a00032.html">API version</a></li> |
28 | 39 | <li><a class="el" href="a00033.html">Topology context</a></li> |
29 | 40 | <li><a class="el" href="a00034.html">Object sets (hwloc_cpuset_t and hwloc_nodeset_t)</a></li> |
60 | 71 | <li><a class="el" href="a00065.html">Myrinet Express-Specific Functions</a></li> |
61 | 72 | </ul> |
62 | 73 | </div> |
63 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
74 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:40 for Hardware Locality (hwloc) by  | |
64 | 75 | <a href="http://www.doxygen.org/index.html"> |
65 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
76 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
66 | 77 | </body> |
67 | 78 | </html> |
1 | 1 | <html xmlns="http://www.w3.org/1999/xhtml"> |
2 | 2 | <head> |
3 | 3 | <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> |
4 | <title>Hardware Locality (hwloc): Page Index</title> | |
4 | <title>Hardware Locality (hwloc): Related Pages</title> | |
5 | 5 | <link href="tabs.css" rel="stylesheet" type="text/css"/> |
6 | 6 | <link href="doxygen.css" rel="stylesheet" type="text/css"/> |
7 | 7 | </head> |
8 | 8 | <body> |
9 | <!-- Generated by Doxygen 1.7.2 --> | |
10 | <div class="navigation" id="top"> | |
11 | <div class="tabs"> | |
9 | <!-- Generated by Doxygen 1.7.3 --> | |
10 | <div id="top"> | |
11 | <div id="titlearea"> | |
12 | <table cellspacing="0" cellpadding="0"> | |
13 | <tbody> | |
14 | <tr style="height: 56px;"> | |
15 | <td style="padding-left: 0.5em;"> | |
16 | <div id="projectname">Hardware Locality (hwloc) <span id="projectnumber">1.1.2</span></div> | |
17 | </td> | |
18 | </tr> | |
19 | </tbody> | |
20 | </table> | |
21 | </div> | |
22 | <div id="navrow1" class="tabs"> | |
12 | 23 | <ul class="tablist"> |
13 | 24 | <li><a href="index.html"><span>Main Page</span></a></li> |
14 | 25 | <li class="current"><a href="pages.html"><span>Related Pages</span></a></li> |
23 | 34 | <h1>Related Pages</h1> </div> |
24 | 35 | </div> |
25 | 36 | <div class="contents"> |
26 | Here is a list of all related documentation pages:<ul> | |
37 | <div class="textblock">Here is a list of all related documentation pages:</div><ul> | |
27 | 38 | <li><a class="el" href="a00001.html">Terms and Definitions</a> |
28 | 39 | </li> |
29 | 40 | <li><a class="el" href="a00002.html">Command-Line Tools</a> |
44 | 55 | </li> |
45 | 56 | </ul> |
46 | 57 | </div> |
47 | <hr class="footer"/><address class="footer"><small>Generated on Mon Jan 24 2011 17:12:07 for Hardware Locality (hwloc) by  | |
58 | <hr class="footer"/><address class="footer"><small>Generated on Wed Apr 6 2011 17:31:39 for Hardware Locality (hwloc) by  | |
48 | 59 | <a href="http://www.doxygen.org/index.html"> |
49 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.2 </small></address> | |
60 | <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </small></address> | |
50 | 61 | </body> |
51 | 62 | </html> |
Binary diff not shown
Binary diff not shown
1920 | 1920 | <name>hwloc_obj_attr_u::hwloc_cache_attr_s</name> |
1921 | 1921 | <filename>a00010.html</filename> |
1922 | 1922 | <member kind="variable"> |
1923 | <type>uint64_t</type> | |
1923 | <type>hwloc_uint64_t</type> | |
1924 | 1924 | <name>size</name> |
1925 | 1925 | <anchorfile>a00010.html</anchorfile> |
1926 | <anchor>a3c68235220554308f89768f281ad1e62</anchor> | |
1926 | <anchor>abe5e788943ed04302976740c829674c0</anchor> | |
1927 | 1927 | <arglist></arglist> |
1928 | 1928 | </member> |
1929 | 1929 | <member kind="variable"> |
1975 | 1975 | <filename>a00016.html</filename> |
1976 | 1976 | <class kind="struct">hwloc_obj_memory_s::hwloc_obj_memory_page_type_s</class> |
1977 | 1977 | <member kind="variable"> |
1978 | <type>uint64_t</type> | |
1978 | <type>hwloc_uint64_t</type> | |
1979 | 1979 | <name>total_memory</name> |
1980 | 1980 | <anchorfile>a00016.html</anchorfile> |
1981 | <anchor>a68c3323d2d0a248d1b7fec7af44bebe3</anchor> | |
1982 | <arglist></arglist> | |
1983 | </member> | |
1984 | <member kind="variable"> | |
1985 | <type>uint64_t</type> | |
1981 | <anchor>a8befd0b3f4f8b695cafed04b31f36a44</anchor> | |
1982 | <arglist></arglist> | |
1983 | </member> | |
1984 | <member kind="variable"> | |
1985 | <type>hwloc_uint64_t</type> | |
1986 | 1986 | <name>local_memory</name> |
1987 | 1987 | <anchorfile>a00016.html</anchorfile> |
1988 | <anchor>a27043a3150660f44ed84916c2d0d7e0e</anchor> | |
1988 | <anchor>aace044c7f3fd9dffe50202296bf1dc5a</anchor> | |
1989 | 1989 | <arglist></arglist> |
1990 | 1990 | </member> |
1991 | 1991 | <member kind="variable"> |
2007 | 2007 | <name>hwloc_obj_memory_s::hwloc_obj_memory_page_type_s</name> |
2008 | 2008 | <filename>a00015.html</filename> |
2009 | 2009 | <member kind="variable"> |
2010 | <type>uint64_t</type> | |
2010 | <type>hwloc_uint64_t</type> | |
2011 | 2011 | <name>size</name> |
2012 | 2012 | <anchorfile>a00015.html</anchorfile> |
2013 | <anchor>af0619463fb5d10052b7fe3495a66d74b</anchor> | |
2014 | <arglist></arglist> | |
2015 | </member> | |
2016 | <member kind="variable"> | |
2017 | <type>uint64_t</type> | |
2013 | <anchor>a3f1d261766352288791512974665ce01</anchor> | |
2014 | <arglist></arglist> | |
2015 | </member> | |
2016 | <member kind="variable"> | |
2017 | <type>hwloc_uint64_t</type> | |
2018 | 2018 | <name>count</name> |
2019 | 2019 | <anchorfile>a00015.html</anchorfile> |
2020 | <anchor>ab5d01db7b26177a6b5361107cad152c3</anchor> | |
2020 | <anchor>aa5b9fa36f1dc47ff3c345fe4dd06b260</anchor> | |
2021 | 2021 | <arglist></arglist> |
2022 | 2022 | </member> |
2023 | 2023 | </compound> |
0 | .TH "hwloc_obj" 3 "Mon Jan 24 2011" "Version 1.1.1" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
0 | .TH "hwloc_obj" 3 "Wed Apr 6 2011" "Version 1.1.2" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
1 | 1 | .ad l |
2 | 2 | .nh |
3 | 3 | .SH NAME |
0 | .TH "hwloc_obj_attr_u" 3 "Mon Jan 24 2011" "Version 1.1.1" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
0 | .TH "hwloc_obj_attr_u" 3 "Wed Apr 6 2011" "Version 1.1.2" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
1 | 1 | .ad l |
2 | 2 | .nh |
3 | 3 | .SH NAME |
0 | .TH "hwloc_obj_attr_u::hwloc_cache_attr_s" 3 "Mon Jan 24 2011" "Version 1.1.1" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
0 | .TH "hwloc_obj_attr_u::hwloc_cache_attr_s" 3 "Wed Apr 6 2011" "Version 1.1.2" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
1 | 1 | .ad l |
2 | 2 | .nh |
3 | 3 | .SH NAME |
14 | 14 | |
15 | 15 | .in +1c |
16 | 16 | .ti -1c |
17 | .RI "uint64_t \fBsize\fP" | |
17 | .RI "hwloc_uint64_t \fBsize\fP" | |
18 | 18 | .br |
19 | 19 | .ti -1c |
20 | 20 | .RI "unsigned \fBdepth\fP" |
34 | 34 | .SS "unsigned \fBhwloc_obj_attr_u::hwloc_cache_attr_s::linesize\fP" |
35 | 35 | .PP |
36 | 36 | Cache-line size in bytes. |
37 | .SS "uint64_t \fBhwloc_obj_attr_u::hwloc_cache_attr_s::size\fP" | |
37 | .SS "hwloc_uint64_t \fBhwloc_obj_attr_u::hwloc_cache_attr_s::size\fP" | |
38 | 38 | .PP |
39 | 39 | Size of cache in bytes. |
40 | 40 |
0 | .TH "hwloc_obj_attr_u::hwloc_group_attr_s" 3 "Mon Jan 24 2011" "Version 1.1.1" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
0 | .TH "hwloc_obj_attr_u::hwloc_group_attr_s" 3 "Wed Apr 6 2011" "Version 1.1.2" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
1 | 1 | .ad l |
2 | 2 | .nh |
3 | 3 | .SH NAME |
0 | .TH "hwloc_obj_info_s" 3 "Mon Jan 24 2011" "Version 1.1.1" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
0 | .TH "hwloc_obj_info_s" 3 "Wed Apr 6 2011" "Version 1.1.2" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
1 | 1 | .ad l |
2 | 2 | .nh |
3 | 3 | .SH NAME |
0 | .TH "hwloc_obj_memory_s" 3 "Mon Jan 24 2011" "Version 1.1.1" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
0 | .TH "hwloc_obj_memory_s" 3 "Wed Apr 6 2011" "Version 1.1.2" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
1 | 1 | .ad l |
2 | 2 | .nh |
3 | 3 | .SH NAME |
22 | 22 | |
23 | 23 | .in +1c |
24 | 24 | .ti -1c |
25 | .RI "uint64_t \fBtotal_memory\fP" | |
25 | .RI "hwloc_uint64_t \fBtotal_memory\fP" | |
26 | 26 | .br |
27 | 27 | .ti -1c |
28 | .RI "uint64_t \fBlocal_memory\fP" | |
28 | .RI "hwloc_uint64_t \fBlocal_memory\fP" | |
29 | 29 | .br |
30 | 30 | .ti -1c |
31 | 31 | .RI "unsigned \fBpage_types_len\fP" |
39 | 39 | Object memory. |
40 | 40 | .SH "Field Documentation" |
41 | 41 | .PP |
42 | .SS "uint64_t \fBhwloc_obj_memory_s::local_memory\fP" | |
42 | .SS "hwloc_uint64_t \fBhwloc_obj_memory_s::local_memory\fP" | |
43 | 43 | .PP |
44 | 44 | Local memory (in bytes) |
45 | 45 | .SS "struct \fBhwloc_obj_memory_s::hwloc_obj_memory_page_type_s\fP * \fBhwloc_obj_memory_s::page_types\fP" |
46 | 46 | .SS "unsigned \fBhwloc_obj_memory_s::page_types_len\fP" |
47 | 47 | .PP |
48 | 48 | Size of array \fCpage_types\fP. |
49 | .SS "uint64_t \fBhwloc_obj_memory_s::total_memory\fP" | |
49 | .SS "hwloc_uint64_t \fBhwloc_obj_memory_s::total_memory\fP" | |
50 | 50 | .PP |
51 | 51 | Total memory (in bytes) in this object and its children. |
52 | 52 |
0 | .TH "hwloc_obj_memory_s::hwloc_obj_memory_page_type_s" 3 "Mon Jan 24 2011" "Version 1.1.1" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
0 | .TH "hwloc_obj_memory_s::hwloc_obj_memory_page_type_s" 3 "Wed Apr 6 2011" "Version 1.1.2" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
1 | 1 | .ad l |
2 | 2 | .nh |
3 | 3 | .SH NAME |
14 | 14 | |
15 | 15 | .in +1c |
16 | 16 | .ti -1c |
17 | .RI "uint64_t \fBsize\fP" | |
17 | .RI "hwloc_uint64_t \fBsize\fP" | |
18 | 18 | .br |
19 | 19 | .ti -1c |
20 | .RI "uint64_t \fBcount\fP" | |
20 | .RI "hwloc_uint64_t \fBcount\fP" | |
21 | 21 | .br |
22 | 22 | .in -1c |
23 | 23 | .SH "Detailed Description" |
27 | 27 | The array is sorted by increasing \fCsize\fP fields. It contains \fCpage_types_len\fP slots. |
28 | 28 | .SH "Field Documentation" |
29 | 29 | .PP |
30 | .SS "uint64_t \fBhwloc_obj_memory_s::hwloc_obj_memory_page_type_s::count\fP" | |
30 | .SS "hwloc_uint64_t \fBhwloc_obj_memory_s::hwloc_obj_memory_page_type_s::count\fP" | |
31 | 31 | .PP |
32 | 32 | Number of pages of this size. |
33 | .SS "uint64_t \fBhwloc_obj_memory_s::hwloc_obj_memory_page_type_s::size\fP" | |
33 | .SS "hwloc_uint64_t \fBhwloc_obj_memory_s::hwloc_obj_memory_page_type_s::size\fP" | |
34 | 34 | .PP |
35 | 35 | Size of pages. |
36 | 36 |
0 | .TH "hwloc_topology_cpubind_support" 3 "Mon Jan 24 2011" "Version 1.1.1" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
0 | .TH "hwloc_topology_cpubind_support" 3 "Wed Apr 6 2011" "Version 1.1.2" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
1 | 1 | .ad l |
2 | 2 | .nh |
3 | 3 | .SH NAME |
0 | .TH "hwloc_topology_discovery_support" 3 "Mon Jan 24 2011" "Version 1.1.1" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
0 | .TH "hwloc_topology_discovery_support" 3 "Wed Apr 6 2011" "Version 1.1.2" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
1 | 1 | .ad l |
2 | 2 | .nh |
3 | 3 | .SH NAME |
0 | .TH "hwloc_topology_membind_support" 3 "Mon Jan 24 2011" "Version 1.1.1" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
0 | .TH "hwloc_topology_membind_support" 3 "Wed Apr 6 2011" "Version 1.1.2" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
1 | 1 | .ad l |
2 | 2 | .nh |
3 | 3 | .SH NAME |
0 | .TH "hwloc_topology_support" 3 "Mon Jan 24 2011" "Version 1.1.1" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
0 | .TH "hwloc_topology_support" 3 "Wed Apr 6 2011" "Version 1.1.2" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
1 | 1 | .ad l |
2 | 2 | .nh |
3 | 3 | .SH NAME |
0 | .TH "API version" 3 "Mon Jan 24 2011" "Version 1.1.1" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
0 | .TH "API version" 3 "Wed Apr 6 2011" "Version 1.1.2" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
1 | 1 | .ad l |
2 | 2 | .nh |
3 | 3 | .SH NAME |
0 | .TH "The bitmap API" 3 "Mon Jan 24 2011" "Version 1.1.1" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
0 | .TH "The bitmap API" 3 "Wed Apr 6 2011" "Version 1.1.2" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
1 | 1 | .ad l |
2 | 2 | .nh |
3 | 3 | .SH NAME |
189 | 189 | a non-modifiable \fBhwloc_bitmap_t\fP |
190 | 190 | .SH "Function Documentation" |
191 | 191 | .PP |
192 | .SS " void hwloc_bitmap_allbut (\fBhwloc_bitmap_t\fP bitmap, unsigned id)" | |
192 | .SS " void hwloc_bitmap_allbut (\fBhwloc_bitmap_t\fPbitmap, unsignedid)" | |
193 | 193 | .PP |
194 | 194 | Fill the bitmap \fCand\fP clear the index \fCid\fP. |
195 | 195 | .SS " \fBhwloc_bitmap_t\fP hwloc_bitmap_alloc (void)" |
196 | 196 | .PP |
197 | 197 | Allocate a new empty bitmap. \fBReturns:\fP |
198 | 198 | .RS 4 |
199 | A valid bitmap or NULL. | |
199 | A valid bitmap or \fCNULL\fP. | |
200 | 200 | .RE |
201 | 201 | .PP |
202 | 202 | The bitmap should be freed by a corresponding call to \fBhwloc_bitmap_free()\fP. |
203 | 203 | .SS " \fBhwloc_bitmap_t\fP hwloc_bitmap_alloc_full (void)" |
204 | 204 | .PP |
205 | 205 | Allocate a new full bitmap. |
206 | .SS " void hwloc_bitmap_and (\fBhwloc_bitmap_t\fP res, \fBhwloc_const_bitmap_t\fP bitmap1, \fBhwloc_const_bitmap_t\fP bitmap2)" | |
206 | .SS " void hwloc_bitmap_and (\fBhwloc_bitmap_t\fPres, \fBhwloc_const_bitmap_t\fPbitmap1, \fBhwloc_const_bitmap_t\fPbitmap2)" | |
207 | 207 | .PP |
208 | 208 | And bitmaps \fCbitmap1\fP and \fCbitmap2\fP and store the result in bitmap \fCres\fP. |
209 | .SS " void hwloc_bitmap_andnot (\fBhwloc_bitmap_t\fP res, \fBhwloc_const_bitmap_t\fP bitmap1, \fBhwloc_const_bitmap_t\fP bitmap2)" | |
209 | .SS " void hwloc_bitmap_andnot (\fBhwloc_bitmap_t\fPres, \fBhwloc_const_bitmap_t\fPbitmap1, \fBhwloc_const_bitmap_t\fPbitmap2)" | |
210 | 210 | .PP |
211 | 211 | And bitmap \fCbitmap1\fP and the negation of \fCbitmap2\fP and store the result in bitmap \fCres\fP. |
212 | .SS " int hwloc_bitmap_asprintf (char ** strp, \fBhwloc_const_bitmap_t\fP bitmap)" | |
212 | .SS " int hwloc_bitmap_asprintf (char **strp, \fBhwloc_const_bitmap_t\fPbitmap)" | |
213 | 213 | .PP |
214 | 214 | Stringify a bitmap into a newly allocated string. |
215 | .SS " void hwloc_bitmap_clr (\fBhwloc_bitmap_t\fP bitmap, unsigned id)" | |
215 | .SS " void hwloc_bitmap_clr (\fBhwloc_bitmap_t\fPbitmap, unsignedid)" | |
216 | 216 | .PP |
217 | 217 | Remove index \fCid\fP from bitmap \fCbitmap\fP. |
218 | .SS " void hwloc_bitmap_clr_range (\fBhwloc_bitmap_t\fP bitmap, unsigned begin, unsigned end)" | |
219 | .PP | |
220 | Remove index from \fCbegin\fP to \fCend\fP in bitmap \fCbitmap\fP. | |
221 | .SS " int hwloc_bitmap_compare (\fBhwloc_const_bitmap_t\fP bitmap1, \fBhwloc_const_bitmap_t\fP bitmap2)" | |
218 | .SS " void hwloc_bitmap_clr_range (\fBhwloc_bitmap_t\fPbitmap, unsignedbegin, unsignedend)" | |
219 | .PP | |
220 | Remove indexes from \fCbegin\fP to \fCend\fP in bitmap \fCbitmap\fP. | |
221 | .SS " int hwloc_bitmap_compare (\fBhwloc_const_bitmap_t\fPbitmap1, \fBhwloc_const_bitmap_t\fPbitmap2)" | |
222 | 222 | .PP |
223 | 223 | Compare bitmaps \fCbitmap1\fP and \fCbitmap2\fP using their highest index. Higher most significant bit is higher. The empty bitmap is considered lower than anything. |
224 | .SS " int hwloc_bitmap_compare_first (\fBhwloc_const_bitmap_t\fP bitmap1, \fBhwloc_const_bitmap_t\fP bitmap2)" | |
224 | .SS " int hwloc_bitmap_compare_first (\fBhwloc_const_bitmap_t\fPbitmap1, \fBhwloc_const_bitmap_t\fPbitmap2)" | |
225 | 225 | .PP |
226 | 226 | Compare bitmaps \fCbitmap1\fP and \fCbitmap2\fP using their lowest index. Smaller least significant bit is smaller. The empty bitmap is considered higher than anything. |
227 | .SS " void hwloc_bitmap_copy (\fBhwloc_bitmap_t\fP dst, \fBhwloc_const_bitmap_t\fP src)" | |
227 | .SS " void hwloc_bitmap_copy (\fBhwloc_bitmap_t\fPdst, \fBhwloc_const_bitmap_t\fPsrc)" | |
228 | 228 | .PP |
229 | 229 | Copy the contents of bitmap \fCsrc\fP into the already allocated bitmap \fCdst\fP. |
230 | .SS " \fBhwloc_bitmap_t\fP hwloc_bitmap_dup (\fBhwloc_const_bitmap_t\fP bitmap)" | |
230 | .SS " \fBhwloc_bitmap_t\fP hwloc_bitmap_dup (\fBhwloc_const_bitmap_t\fPbitmap)" | |
231 | 231 | .PP |
232 | 232 | Duplicate bitmap \fCbitmap\fP by allocating a new bitmap and copying \fCbitmap\fP contents. |
233 | .SS " void hwloc_bitmap_fill (\fBhwloc_bitmap_t\fP bitmap)" | |
233 | .SS " void hwloc_bitmap_fill (\fBhwloc_bitmap_t\fPbitmap)" | |
234 | 234 | .PP |
235 | 235 | Fill bitmap \fCbitmap\fP with all possible indexes (even if those objects don't exist or are otherwise unavailable) |
236 | .SS " int hwloc_bitmap_first (\fBhwloc_const_bitmap_t\fP bitmap)" | |
236 | .SS " int hwloc_bitmap_first (\fBhwloc_const_bitmap_t\fPbitmap)" | |
237 | 237 | .PP |
238 | 238 | Compute the first index (least significant bit) in bitmap \fCbitmap\fP. \fBReturns:\fP |
239 | 239 | .RS 4 |
241 | 241 | .RE |
242 | 242 | .PP |
243 | 243 | |
244 | .SS " void hwloc_bitmap_free (\fBhwloc_bitmap_t\fP bitmap)" | |
245 | .PP | |
246 | Free bitmap \fCbitmap\fP. | |
247 | .SS " void hwloc_bitmap_from_ith_ulong (\fBhwloc_bitmap_t\fP bitmap, unsigned i, unsigned long mask)" | |
244 | .SS " void hwloc_bitmap_free (\fBhwloc_bitmap_t\fPbitmap)" | |
245 | .PP | |
246 | Free bitmap \fCbitmap\fP. If \fCbitmap\fP is \fCNULL\fP, no operation is performed. | |
247 | .SS " void hwloc_bitmap_from_ith_ulong (\fBhwloc_bitmap_t\fPbitmap, unsignedi, unsigned longmask)" | |
248 | 248 | .PP |
249 | 249 | Setup bitmap \fCbitmap\fP from unsigned long \fCmask\fP used as \fCi\fP -th subset. |
250 | .SS " void hwloc_bitmap_from_ulong (\fBhwloc_bitmap_t\fP bitmap, unsigned long mask)" | |
250 | .SS " void hwloc_bitmap_from_ulong (\fBhwloc_bitmap_t\fPbitmap, unsigned longmask)" | |
251 | 251 | .PP |
252 | 252 | Setup bitmap \fCbitmap\fP from unsigned long \fCmask\fP. |
253 | .SS " int hwloc_bitmap_intersects (\fBhwloc_const_bitmap_t\fP bitmap1, \fBhwloc_const_bitmap_t\fP bitmap2)" | |
253 | .SS " int hwloc_bitmap_intersects (\fBhwloc_const_bitmap_t\fPbitmap1, \fBhwloc_const_bitmap_t\fPbitmap2)" | |
254 | 254 | .PP |
255 | 255 | Test whether bitmaps \fCbitmap1\fP and \fCbitmap2\fP intersects. |
256 | .SS " int hwloc_bitmap_isequal (\fBhwloc_const_bitmap_t\fP bitmap1, \fBhwloc_const_bitmap_t\fP bitmap2)" | |
256 | .SS " int hwloc_bitmap_isequal (\fBhwloc_const_bitmap_t\fPbitmap1, \fBhwloc_const_bitmap_t\fPbitmap2)" | |
257 | 257 | .PP |
258 | 258 | Test whether bitmap \fCbitmap1\fP is equal to bitmap \fCbitmap2\fP. |
259 | .SS " int hwloc_bitmap_isfull (\fBhwloc_const_bitmap_t\fP bitmap)" | |
259 | .SS " int hwloc_bitmap_isfull (\fBhwloc_const_bitmap_t\fPbitmap)" | |
260 | 260 | .PP |
261 | 261 | Test whether bitmap \fCbitmap\fP is completely full. |
262 | .SS " int hwloc_bitmap_isincluded (\fBhwloc_const_bitmap_t\fP sub_bitmap, \fBhwloc_const_bitmap_t\fP super_bitmap)" | |
262 | .SS " int hwloc_bitmap_isincluded (\fBhwloc_const_bitmap_t\fPsub_bitmap, \fBhwloc_const_bitmap_t\fPsuper_bitmap)" | |
263 | 263 | .PP |
264 | 264 | Test whether bitmap \fCsub_bitmap\fP is part of bitmap \fCsuper_bitmap\fP. |
265 | .SS " int hwloc_bitmap_isset (\fBhwloc_const_bitmap_t\fP bitmap, unsigned id)" | |
265 | .SS " int hwloc_bitmap_isset (\fBhwloc_const_bitmap_t\fPbitmap, unsignedid)" | |
266 | 266 | .PP |
267 | 267 | Test whether index \fCid\fP is part of bitmap \fCbitmap\fP. |
268 | .SS " int hwloc_bitmap_iszero (\fBhwloc_const_bitmap_t\fP bitmap)" | |
268 | .SS " int hwloc_bitmap_iszero (\fBhwloc_const_bitmap_t\fPbitmap)" | |
269 | 269 | .PP |
270 | 270 | Test whether bitmap \fCbitmap\fP is empty. |
271 | .SS " int hwloc_bitmap_last (\fBhwloc_const_bitmap_t\fP bitmap)" | |
271 | .SS " int hwloc_bitmap_last (\fBhwloc_const_bitmap_t\fPbitmap)" | |
272 | 272 | .PP |
273 | 273 | Compute the last index (most significant bit) in bitmap \fCbitmap\fP. \fBReturns:\fP |
274 | 274 | .RS 4 |
276 | 276 | .RE |
277 | 277 | .PP |
278 | 278 | |
279 | .SS " int hwloc_bitmap_next (\fBhwloc_const_bitmap_t\fP bitmap, unsigned prev)" | |
279 | .SS " int hwloc_bitmap_next (\fBhwloc_const_bitmap_t\fPbitmap, unsignedprev)" | |
280 | 280 | .PP |
281 | 281 | Compute the next index in bitmap \fCbitmap\fP which is after index \fCprev\fP. \fBReturns:\fP |
282 | 282 | .RS 4 |
284 | 284 | .RE |
285 | 285 | .PP |
286 | 286 | |
287 | .SS " void hwloc_bitmap_not (\fBhwloc_bitmap_t\fP res, \fBhwloc_const_bitmap_t\fP bitmap)" | |
287 | .SS " void hwloc_bitmap_not (\fBhwloc_bitmap_t\fPres, \fBhwloc_const_bitmap_t\fPbitmap)" | |
288 | 288 | .PP |
289 | 289 | Negate bitmap \fCbitmap\fP and store the result in bitmap \fCres\fP. |
290 | .SS " void hwloc_bitmap_only (\fBhwloc_bitmap_t\fP bitmap, unsigned id)" | |
290 | .SS " void hwloc_bitmap_only (\fBhwloc_bitmap_t\fPbitmap, unsignedid)" | |
291 | 291 | .PP |
292 | 292 | Empty the bitmap \fCbitmap\fP and add bit \fCid\fP. |
293 | .SS " void hwloc_bitmap_or (\fBhwloc_bitmap_t\fP res, \fBhwloc_const_bitmap_t\fP bitmap1, \fBhwloc_const_bitmap_t\fP bitmap2)" | |
293 | .SS " void hwloc_bitmap_or (\fBhwloc_bitmap_t\fPres, \fBhwloc_const_bitmap_t\fPbitmap1, \fBhwloc_const_bitmap_t\fPbitmap2)" | |
294 | 294 | .PP |
295 | 295 | Or bitmaps \fCbitmap1\fP and \fCbitmap2\fP and store the result in bitmap \fCres\fP. |
296 | .SS " void hwloc_bitmap_set (\fBhwloc_bitmap_t\fP bitmap, unsigned id)" | |
296 | .SS " void hwloc_bitmap_set (\fBhwloc_bitmap_t\fPbitmap, unsignedid)" | |
297 | 297 | .PP |
298 | 298 | Add index \fCid\fP in bitmap \fCbitmap\fP. |
299 | .SS " void hwloc_bitmap_set_ith_ulong (\fBhwloc_bitmap_t\fP bitmap, unsigned i, unsigned long mask)" | |
299 | .SS " void hwloc_bitmap_set_ith_ulong (\fBhwloc_bitmap_t\fPbitmap, unsignedi, unsigned longmask)" | |
300 | 300 | .PP |
301 | 301 | Replace \fCi\fP -th subset of bitmap \fCbitmap\fP with unsigned long \fCmask\fP. |
302 | .SS " void hwloc_bitmap_set_range (\fBhwloc_bitmap_t\fP bitmap, unsigned begin, unsigned end)" | |
303 | .PP | |
304 | Add indexess from \fCbegin\fP to \fCend\fP in bitmap \fCbitmap\fP. | |
305 | .SS " void hwloc_bitmap_singlify (\fBhwloc_bitmap_t\fP bitmap)" | |
302 | .SS " void hwloc_bitmap_set_range (\fBhwloc_bitmap_t\fPbitmap, unsignedbegin, unsignedend)" | |
303 | .PP | |
304 | Add indexes from \fCbegin\fP to \fCend\fP in bitmap \fCbitmap\fP. | |
305 | .SS " void hwloc_bitmap_singlify (\fBhwloc_bitmap_t\fPbitmap)" | |
306 | 306 | .PP |
307 | 307 | Keep a single index among those set in bitmap \fCbitmap\fP. May be useful before binding so that the process does not have a chance of migrating between multiple logical CPUs in the original mask. |
308 | .SS " int hwloc_bitmap_snprintf (char *restrict buf, size_t buflen, \fBhwloc_const_bitmap_t\fP bitmap)" | |
308 | .SS " int hwloc_bitmap_snprintf (char *restrictbuf, size_tbuflen, \fBhwloc_const_bitmap_t\fPbitmap)" | |
309 | 309 | .PP |
310 | 310 | Stringify a bitmap. Up to \fCbuflen\fP characters may be written in buffer \fCbuf\fP. |
311 | 311 | .PP |
317 | 317 | .RE |
318 | 318 | .PP |
319 | 319 | |
320 | .SS " int hwloc_bitmap_sscanf (\fBhwloc_bitmap_t\fP bitmap, const char *restrict string)" | |
320 | .SS " int hwloc_bitmap_sscanf (\fBhwloc_bitmap_t\fPbitmap, const char *restrictstring)" | |
321 | 321 | .PP |
322 | 322 | Parse a bitmap string and stores it in bitmap \fCbitmap\fP. |
323 | .SS " int hwloc_bitmap_taskset_asprintf (char ** strp, \fBhwloc_const_bitmap_t\fP bitmap)" | |
323 | .SS " int hwloc_bitmap_taskset_asprintf (char **strp, \fBhwloc_const_bitmap_t\fPbitmap)" | |
324 | 324 | .PP |
325 | 325 | Stringify a bitmap into a newly allocated taskset-specific string. |
326 | .SS " int hwloc_bitmap_taskset_snprintf (char *restrict buf, size_t buflen, \fBhwloc_const_bitmap_t\fP bitmap)" | |
326 | .SS " int hwloc_bitmap_taskset_snprintf (char *restrictbuf, size_tbuflen, \fBhwloc_const_bitmap_t\fPbitmap)" | |
327 | 327 | .PP |
328 | 328 | Stringify a bitmap in the taskset-specific format. The taskset command manipulates bitmap strings that contain a single (possible very long) hexadecimal number starting with 0x. |
329 | 329 | .PP |
337 | 337 | .RE |
338 | 338 | .PP |
339 | 339 | |
340 | .SS " int hwloc_bitmap_taskset_sscanf (\fBhwloc_bitmap_t\fP bitmap, const char *restrict string)" | |
340 | .SS " int hwloc_bitmap_taskset_sscanf (\fBhwloc_bitmap_t\fPbitmap, const char *restrictstring)" | |
341 | 341 | .PP |
342 | 342 | Parse a taskset-specific bitmap string and stores it in bitmap \fCbitmap\fP. |
343 | .SS " unsigned long hwloc_bitmap_to_ith_ulong (\fBhwloc_const_bitmap_t\fP bitmap, unsigned i)" | |
343 | .SS " unsigned long hwloc_bitmap_to_ith_ulong (\fBhwloc_const_bitmap_t\fPbitmap, unsignedi)" | |
344 | 344 | .PP |
345 | 345 | Convert the \fCi\fP -th subset of bitmap \fCbitmap\fP into unsigned long mask. |
346 | .SS " unsigned long hwloc_bitmap_to_ulong (\fBhwloc_const_bitmap_t\fP bitmap)" | |
346 | .SS " unsigned long hwloc_bitmap_to_ulong (\fBhwloc_const_bitmap_t\fPbitmap)" | |
347 | 347 | .PP |
348 | 348 | Convert the beginning part of bitmap \fCbitmap\fP into unsigned long \fCmask\fP. |
349 | .SS " int hwloc_bitmap_weight (\fBhwloc_const_bitmap_t\fP bitmap)" | |
349 | .SS " int hwloc_bitmap_weight (\fBhwloc_const_bitmap_t\fPbitmap)" | |
350 | 350 | .PP |
351 | 351 | Compute the 'weight' of bitmap \fCbitmap\fP (i.e., number of indexes that are in the bitmap). \fBReturns:\fP |
352 | 352 | .RS 4 |
354 | 354 | .RE |
355 | 355 | .PP |
356 | 356 | |
357 | .SS " void hwloc_bitmap_xor (\fBhwloc_bitmap_t\fP res, \fBhwloc_const_bitmap_t\fP bitmap1, \fBhwloc_const_bitmap_t\fP bitmap2)" | |
357 | .SS " void hwloc_bitmap_xor (\fBhwloc_bitmap_t\fPres, \fBhwloc_const_bitmap_t\fPbitmap1, \fBhwloc_const_bitmap_t\fPbitmap2)" | |
358 | 358 | .PP |
359 | 359 | Xor bitmaps \fCbitmap1\fP and \fCbitmap2\fP and store the result in bitmap \fCres\fP. |
360 | .SS " void hwloc_bitmap_zero (\fBhwloc_bitmap_t\fP bitmap)" | |
360 | .SS " void hwloc_bitmap_zero (\fBhwloc_bitmap_t\fPbitmap)" | |
361 | 361 | .PP |
362 | 362 | Empty the bitmap \fCbitmap\fP. |
363 | 363 | .SH "Author" |
0 | .TH "Configure Topology Detection" 3 "Mon Jan 24 2011" "Version 1.1.1" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
0 | .TH "Configure Topology Detection" 3 "Wed Apr 6 2011" "Version 1.1.2" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
1 | 1 | .ad l |
2 | 2 | .nh |
3 | 3 | .SH NAME |
90 | 90 | This can be used for efficiency reasons to first detect the topology once, save it to an XML file, and quickly reload it later through the XML backend, but still having binding functions actually do bind. |
91 | 91 | .SH "Function Documentation" |
92 | 92 | .PP |
93 | .SS " struct \fBhwloc_topology_support\fP* hwloc_topology_get_support (\fBhwloc_topology_t\fP restrict topology)\fC [read]\fP" | |
93 | .SS " struct \fBhwloc_topology_support\fP* hwloc_topology_get_support (\fBhwloc_topology_t\fP restricttopology)\fC [read]\fP" | |
94 | 94 | .PP |
95 | 95 | Retrieve the topology support. |
96 | .SS " int hwloc_topology_ignore_all_keep_structure (\fBhwloc_topology_t\fP topology)" | |
96 | .SS " int hwloc_topology_ignore_all_keep_structure (\fBhwloc_topology_t\fPtopology)" | |
97 | 97 | .PP |
98 | 98 | Ignore all objects that do not bring any structure. Ignore all objects that do not bring any structure: Each ignored object should have a single children or be the only child of its parent. |
99 | .SS " int hwloc_topology_ignore_type (\fBhwloc_topology_t\fP topology, \fBhwloc_obj_type_t\fP type)" | |
99 | .SS " int hwloc_topology_ignore_type (\fBhwloc_topology_t\fPtopology, \fBhwloc_obj_type_t\fPtype)" | |
100 | 100 | .PP |
101 | 101 | Ignore an object type. Ignore all objects from the given type. The bottom-level type HWLOC_OBJ_PU may not be ignored. The top-level object of the hierarchy will never be ignored, even if this function succeeds. |
102 | .SS " int hwloc_topology_ignore_type_keep_structure (\fBhwloc_topology_t\fP topology, \fBhwloc_obj_type_t\fP type)" | |
102 | .SS " int hwloc_topology_ignore_type_keep_structure (\fBhwloc_topology_t\fPtopology, \fBhwloc_obj_type_t\fPtype)" | |
103 | 103 | .PP |
104 | 104 | Ignore an object type if it does not bring any structure. Ignore all objects from the given type as long as they do not bring any structure: Each ignored object should have a single children or be the only child of its parent. The bottom-level type HWLOC_OBJ_PU may not be ignored. |
105 | .SS " int hwloc_topology_set_flags (\fBhwloc_topology_t\fP topology, unsigned long flags)" | |
105 | .SS " int hwloc_topology_set_flags (\fBhwloc_topology_t\fPtopology, unsigned longflags)" | |
106 | 106 | .PP |
107 | Set OR'ed flags to non-yet-loaded topology. Set a OR'ed set of hwloc_topology_flags_e onto a topology that was not yet loaded. | |
108 | .SS " int hwloc_topology_set_fsroot (\fBhwloc_topology_t\fP restrict topology, const char *restrict fsroot_path)" | |
107 | Set OR'ed flags to non-yet-loaded topology. Set a OR'ed set of \fBhwloc_topology_flags_e\fP onto a topology that was not yet loaded. | |
108 | .SS " int hwloc_topology_set_fsroot (\fBhwloc_topology_t\fP restricttopology, const char *restrictfsroot_path)" | |
109 | 109 | .PP |
110 | 110 | Change the file-system root path when building the topology from sysfs/procfs. On Linux system, use sysfs and procfs files as if they were mounted on the given \fCfsroot_path\fP instead of the main file-system root. Setting the environment variable HWLOC_FSROOT may also result in this behavior. Not using the main file-system root causes \fBhwloc_topology_is_thissystem()\fP to return 0. |
111 | 111 | .PP |
115 | 115 | .RE |
116 | 116 | .PP |
117 | 117 | |
118 | .SS " int hwloc_topology_set_pid (\fBhwloc_topology_t\fP restrict topology, hwloc_pid_t pid)" | |
118 | .SS " int hwloc_topology_set_pid (\fBhwloc_topology_t\fP restricttopology, hwloc_pid_tpid)" | |
119 | 119 | .PP |
120 | 120 | Change which pid the topology is viewed from. On some systems, processes may have different views of the machine, for instance the set of allowed CPUs. By default, hwloc exposes the view from the current process. Calling \fBhwloc_topology_set_pid()\fP permits to make it expose the topology of the machine from the point of view of another process. |
121 | 121 | .PP |
127 | 127 | .RE |
128 | 128 | .PP |
129 | 129 | |
130 | .SS " int hwloc_topology_set_synthetic (\fBhwloc_topology_t\fP restrict topology, const char *restrict description)" | |
130 | .SS " int hwloc_topology_set_synthetic (\fBhwloc_topology_t\fP restricttopology, const char *restrictdescription)" | |
131 | 131 | .PP |
132 | Enable synthetic topology. Gather topology information from the given \fCdescription\fP which should be a comma separated string of numbers describing the arity of each level. Each number may be prefixed with a type and a colon to enforce the type of a level. If only some level types are enforced, hwloc will try to choose the other types according to usual topologies, but it may fail and you may have to specify more level types manually. | |
132 | Enable synthetic topology. Gather topology information from the given \fCdescription\fP which should be a space-separated string of numbers describing the arity of each level. Each number may be prefixed with a type and a colon to enforce the type of a level. If only some level types are enforced, hwloc will try to choose the other types according to usual topologies, but it may fail and you may have to specify more level types manually. | |
133 | .PP | |
134 | If \fCdescription\fP was properly parsed and describes a valid topology configuration, this function returns 0. Otherwise -1 is returned and errno is set to EINVAL. | |
133 | 135 | .PP |
134 | 136 | \fBNote:\fP |
135 | 137 | .RS 4 |
137 | 139 | .RE |
138 | 140 | .PP |
139 | 141 | |
140 | .SS " int hwloc_topology_set_xml (\fBhwloc_topology_t\fP restrict topology, const char *restrict xmlpath)" | |
142 | .SS " int hwloc_topology_set_xml (\fBhwloc_topology_t\fP restricttopology, const char *restrictxmlpath)" | |
141 | 143 | .PP |
142 | 144 | Enable XML-file based topology. Gather topology information from the XML file given at \fCxmlpath\fP. Setting the environment variable HWLOC_XMLFILE may also result in this behavior. This file may have been generated earlier with lstopo file.xml. |
143 | 145 | .PP |
147 | 149 | .RE |
148 | 150 | .PP |
149 | 151 | |
150 | .SS " int hwloc_topology_set_xmlbuffer (\fBhwloc_topology_t\fP restrict topology, const char *restrict buffer, int size)" | |
152 | .SS " int hwloc_topology_set_xmlbuffer (\fBhwloc_topology_t\fP restricttopology, const char *restrictbuffer, intsize)" | |
151 | 153 | .PP |
152 | 154 | Enable XML based topology using a memory buffer instead of a file. Gather topology information from the XML memory buffer given at \fCbuffer\fP and of length \fClength\fP. |
153 | 155 | .SH "Author" |
0 | .TH "Object/String Conversion" 3 "Mon Jan 24 2011" "Version 1.1.1" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
0 | .TH "Object/String Conversion" 3 "Wed Apr 6 2011" "Version 1.1.2" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
1 | 1 | .ad l |
2 | 2 | .nh |
3 | 3 | .SH NAME |
29 | 29 | .in -1c |
30 | 30 | .SH "Function Documentation" |
31 | 31 | .PP |
32 | .SS " int hwloc_obj_attr_snprintf (char *restrict string, size_t size, \fBhwloc_obj_t\fP obj, const char *restrict separator, int verbose)" | |
32 | .SS " int hwloc_obj_attr_snprintf (char *restrictstring, size_tsize, \fBhwloc_obj_t\fPobj, const char *restrictseparator, intverbose)" | |
33 | 33 | .PP |
34 | 34 | Stringify the attributes of a given topology object into a human-readable form. Attribute values are separated by \fCseparator\fP. |
35 | 35 | .PP |
43 | 43 | .RE |
44 | 44 | .PP |
45 | 45 | |
46 | .SS " int hwloc_obj_cpuset_snprintf (char *restrict str, size_t size, size_t nobj, const \fBhwloc_obj_t\fP *restrict objs)" | |
46 | .SS " int hwloc_obj_cpuset_snprintf (char *restrictstr, size_tsize, size_tnobj, const \fBhwloc_obj_t\fP *restrictobjs)" | |
47 | 47 | .PP |
48 | 48 | Stringify the cpuset containing a set of objects. If \fCsize\fP is 0, \fCstring\fP may safely be \fCNULL\fP. |
49 | 49 | .PP |
53 | 53 | .RE |
54 | 54 | .PP |
55 | 55 | |
56 | .SS "static inline char* hwloc_obj_get_info_by_name (\fBhwloc_obj_t\fP obj, const char * name)\fC [static]\fP" | |
56 | .SS "static inline char* hwloc_obj_get_info_by_name (\fBhwloc_obj_t\fPobj, const char *name)\fC [static]\fP" | |
57 | 57 | .PP |
58 | 58 | Search the given key name in object infos and return the corresponding value. \fBReturns:\fP |
59 | 59 | .RS 4 |
61 | 61 | .RE |
62 | 62 | .PP |
63 | 63 | |
64 | .SS " int hwloc_obj_snprintf (char *restrict string, size_t size, \fBhwloc_topology_t\fP topology, \fBhwloc_obj_t\fP obj, const char *restrict indexprefix, int verbose)" | |
64 | .SS " int hwloc_obj_snprintf (char *restrictstring, size_tsize, \fBhwloc_topology_t\fPtopology, \fBhwloc_obj_t\fPobj, const char *restrictindexprefix, intverbose)" | |
65 | 65 | .PP |
66 | 66 | Stringify a given topology object into a human-readable form. \fBNote:\fP |
67 | 67 | .RS 4 |
82 | 82 | .RE |
83 | 83 | .PP |
84 | 84 | |
85 | .SS " \fBhwloc_obj_type_t\fP hwloc_obj_type_of_string (const char * string)" | |
85 | .SS " \fBhwloc_obj_type_t\fP hwloc_obj_type_of_string (const char *string)" | |
86 | 86 | .PP |
87 | 87 | Return an object type from the string. \fBReturns:\fP |
88 | 88 | .RS 4 |
90 | 90 | .RE |
91 | 91 | .PP |
92 | 92 | |
93 | .SS " int hwloc_obj_type_snprintf (char *restrict string, size_t size, \fBhwloc_obj_t\fP obj, int verbose)" | |
93 | .SS " int hwloc_obj_type_snprintf (char *restrictstring, size_tsize, \fBhwloc_obj_t\fPobj, intverbose)" | |
94 | 94 | .PP |
95 | 95 | Stringify the type of a given topology object into a human-readable form. It differs from \fBhwloc_obj_type_string()\fP because it prints type attributes such as cache depth. |
96 | 96 | .PP |
102 | 102 | .RE |
103 | 103 | .PP |
104 | 104 | |
105 | .SS " const char* hwloc_obj_type_string (\fBhwloc_obj_type_t\fP type) const" | |
105 | .SS " const char* hwloc_obj_type_string (\fBhwloc_obj_type_t\fPtype) const" | |
106 | 106 | .PP |
107 | 107 | Return a stringified topology object type. |
108 | 108 | .SH "Author" |
0 | .TH "CPU binding" 3 "Mon Jan 24 2011" "Version 1.1.1" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
0 | .TH "CPU binding" 3 "Wed Apr 6 2011" "Version 1.1.2" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
1 | 1 | .ad l |
2 | 2 | .nh |
3 | 3 | .SH NAME |
111 | 111 | Avoid any effect on memory binding. On some operating systems, some CPU binding function would also bind the memory on the corresponding NUMA node. It is often not a problem for the application, but if it is, setting this flag will make hwloc avoid using OS functions that would also bind memory. This will however reduce the support of CPU bindings, i.e. potentially return -1 with errno set to ENOSYS in some cases. |
112 | 112 | .SH "Function Documentation" |
113 | 113 | .PP |
114 | .SS " int hwloc_get_cpubind (\fBhwloc_topology_t\fP topology, \fBhwloc_cpuset_t\fP set, int flags)" | |
114 | .SS " int hwloc_get_cpubind (\fBhwloc_topology_t\fPtopology, \fBhwloc_cpuset_t\fPset, intflags)" | |
115 | 115 | .PP |
116 | 116 | Get current process or thread binding. |
117 | .SS " int hwloc_get_proc_cpubind (\fBhwloc_topology_t\fP topology, hwloc_pid_t pid, \fBhwloc_cpuset_t\fP set, int flags)" | |
117 | .SS " int hwloc_get_proc_cpubind (\fBhwloc_topology_t\fPtopology, hwloc_pid_tpid, \fBhwloc_cpuset_t\fPset, intflags)" | |
118 | 118 | .PP |
119 | 119 | Get the current binding of process \fCpid\fP. \fBNote:\fP |
120 | 120 | .RS 4 |
124 | 124 | .RE |
125 | 125 | .PP |
126 | 126 | |
127 | .SS " int hwloc_get_thread_cpubind (\fBhwloc_topology_t\fP topology, hwloc_thread_t tid, \fBhwloc_cpuset_t\fP set, int flags)" | |
127 | .SS " int hwloc_get_thread_cpubind (\fBhwloc_topology_t\fPtopology, hwloc_thread_ttid, \fBhwloc_cpuset_t\fPset, intflags)" | |
128 | 128 | .PP |
129 | 129 | Get the current binding of thread \fCtid\fP. \fBNote:\fP |
130 | 130 | .RS 4 |
134 | 134 | .RE |
135 | 135 | .PP |
136 | 136 | |
137 | .SS " int hwloc_set_cpubind (\fBhwloc_topology_t\fP topology, \fBhwloc_const_cpuset_t\fP set, int flags)" | |
137 | .SS " int hwloc_set_cpubind (\fBhwloc_topology_t\fPtopology, \fBhwloc_const_cpuset_t\fPset, intflags)" | |
138 | 138 | .PP |
139 | 139 | Bind current process or thread on cpus given in bitmap \fCset\fP. \fBReturns:\fP |
140 | 140 | .RS 4 |
144 | 144 | .RE |
145 | 145 | .PP |
146 | 146 | |
147 | .SS " int hwloc_set_proc_cpubind (\fBhwloc_topology_t\fP topology, hwloc_pid_t pid, \fBhwloc_const_cpuset_t\fP set, int flags)" | |
147 | .SS " int hwloc_set_proc_cpubind (\fBhwloc_topology_t\fPtopology, hwloc_pid_tpid, \fBhwloc_const_cpuset_t\fPset, intflags)" | |
148 | 148 | .PP |
149 | 149 | Bind a process \fCpid\fP on cpus given in bitmap \fCset\fP. \fBNote:\fP |
150 | 150 | .RS 4 |
154 | 154 | .RE |
155 | 155 | .PP |
156 | 156 | |
157 | .SS " int hwloc_set_thread_cpubind (\fBhwloc_topology_t\fP topology, hwloc_thread_t tid, \fBhwloc_const_cpuset_t\fP set, int flags)" | |
157 | .SS " int hwloc_set_thread_cpubind (\fBhwloc_topology_t\fPtopology, hwloc_thread_ttid, \fBhwloc_const_cpuset_t\fPset, intflags)" | |
158 | 158 | .PP |
159 | 159 | Bind a thread \fCtid\fP on cpus given in bitmap \fCset\fP. \fBNote:\fP |
160 | 160 | .RS 4 |
0 | .TH "Create and Destroy Topologies" 3 "Mon Jan 24 2011" "Version 1.1.1" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
0 | .TH "Create and Destroy Topologies" 3 "Wed Apr 6 2011" "Version 1.1.2" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
1 | 1 | .ad l |
2 | 2 | .nh |
3 | 3 | .SH NAME |
20 | 20 | .in -1c |
21 | 21 | .SH "Function Documentation" |
22 | 22 | .PP |
23 | .SS " void hwloc_topology_check (\fBhwloc_topology_t\fP topology)" | |
23 | .SS " void hwloc_topology_check (\fBhwloc_topology_t\fPtopology)" | |
24 | 24 | .PP |
25 | 25 | Run internal checks on a topology structure. \fBParameters:\fP |
26 | 26 | .RS 4 |
28 | 28 | .RE |
29 | 29 | .PP |
30 | 30 | |
31 | .SS " void hwloc_topology_destroy (\fBhwloc_topology_t\fP topology)" | |
31 | .SS " void hwloc_topology_destroy (\fBhwloc_topology_t\fPtopology)" | |
32 | 32 | .PP |
33 | 33 | Terminate and free a topology context. \fBParameters:\fP |
34 | 34 | .RS 4 |
36 | 36 | .RE |
37 | 37 | .PP |
38 | 38 | |
39 | .SS " int hwloc_topology_init (\fBhwloc_topology_t\fP * topologyp)" | |
39 | .SS " int hwloc_topology_init (\fBhwloc_topology_t\fP *topologyp)" | |
40 | 40 | .PP |
41 | 41 | Allocate a topology context. \fBParameters:\fP |
42 | 42 | .RS 4 |
49 | 49 | .RE |
50 | 50 | .PP |
51 | 51 | |
52 | .SS " int hwloc_topology_load (\fBhwloc_topology_t\fP topology)" | |
52 | .SS " int hwloc_topology_load (\fBhwloc_topology_t\fPtopology)" | |
53 | 53 | .PP |
54 | 54 | Build the actual topology. Build the actual topology once initialized with \fBhwloc_topology_init()\fP and tuned with \fBConfigure Topology Detection\fP routines. No other routine may be called earlier using this topology context. |
55 | 55 | .PP |
0 | .TH "CUDA Driver API Specific Functions" 3 "Mon Jan 24 2011" "Version 1.1.1" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
0 | .TH "CUDA Driver API Specific Functions" 3 "Wed Apr 6 2011" "Version 1.1.2" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
1 | 1 | .ad l |
2 | 2 | .nh |
3 | 3 | .SH NAME |
11 | 11 | .in -1c |
12 | 12 | .SH "Function Documentation" |
13 | 13 | .PP |
14 | .SS "static inline int hwloc_cuda_get_device_cpuset (\fBhwloc_topology_t\fP topology , CUdevice cudevice, \fBhwloc_cpuset_t\fP set)\fC [static]\fP" | |
14 | .SS "static inline int hwloc_cuda_get_device_cpuset (\fBhwloc_topology_t\fP topology, CUdevicecudevice, \fBhwloc_cpuset_t\fPset)\fC [static]\fP" | |
15 | 15 | .PP |
16 | 16 | Get the CPU set of logical processors that are physically close to device \fCcudevice\fP. For the given CUDA Driver API device \fCcudevice\fP, read the corresponding kernel-provided cpumap file and return the corresponding CPU set. This function is currently only implemented in a meaningful way for Linux; other systems will simply get a full cpuset. |
17 | 17 | .SH "Author" |
0 | .TH "CUDA Runtime API Specific Functions" 3 "Mon Jan 24 2011" "Version 1.1.1" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
0 | .TH "CUDA Runtime API Specific Functions" 3 "Wed Apr 6 2011" "Version 1.1.2" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
1 | 1 | .ad l |
2 | 2 | .nh |
3 | 3 | .SH NAME |
11 | 11 | .in -1c |
12 | 12 | .SH "Function Documentation" |
13 | 13 | .PP |
14 | .SS "static inline int hwloc_cudart_get_device_cpuset (\fBhwloc_topology_t\fP topology , int device, \fBhwloc_cpuset_t\fP set)\fC [static]\fP" | |
14 | .SS "static inline int hwloc_cudart_get_device_cpuset (\fBhwloc_topology_t\fP topology, intdevice, \fBhwloc_cpuset_t\fPset)\fC [static]\fP" | |
15 | 15 | .PP |
16 | 16 | Get the CPU set of logical processors that are physically close to device \fCcudevice\fP. For the given CUDA Runtime API device \fCcudevice\fP, read the corresponding kernel-provided cpumap file and return the corresponding CPU set. This function is currently only implemented in a meaningful way for Linux; other systems will simply get a full cpuset. |
17 | 17 | .SH "Author" |
0 | .TH "Helpers for manipulating glibc sched affinity" 3 "Mon Jan 24 2011" "Version 1.1.1" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
0 | .TH "Helpers for manipulating glibc sched affinity" 3 "Wed Apr 6 2011" "Version 1.1.2" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
1 | 1 | .ad l |
2 | 2 | .nh |
3 | 3 | .SH NAME |
14 | 14 | .in -1c |
15 | 15 | .SH "Function Documentation" |
16 | 16 | .PP |
17 | .SS "static inline int hwloc_cpuset_from_glibc_sched_affinity (\fBhwloc_topology_t\fP topology , \fBhwloc_cpuset_t\fP hwlocset, const cpu_set_t * schedset, size_t schedsetsize)\fC [static]\fP" | |
17 | .SS "static inline int hwloc_cpuset_from_glibc_sched_affinity (\fBhwloc_topology_t\fP topology, \fBhwloc_cpuset_t\fPhwlocset, const cpu_set_t *schedset, size_tschedsetsize)\fC [static]\fP" | |
18 | 18 | .PP |
19 | 19 | Convert glibc sched affinity CPU set \fCschedset\fP into hwloc CPU set. This function may be used before calling sched_setaffinity or any other function that takes a cpu_set_t as input parameter. |
20 | 20 | .PP |
21 | 21 | \fCschedsetsize\fP should be sizeof(cpu_set_t) unless \fCschedset\fP was dynamically allocated with CPU_ALLOC |
22 | .SS "static inline int hwloc_cpuset_to_glibc_sched_affinity (\fBhwloc_topology_t\fP topology , \fBhwloc_const_cpuset_t\fP hwlocset, cpu_set_t * schedset, size_t schedsetsize)\fC [static]\fP" | |
22 | .SS "static inline int hwloc_cpuset_to_glibc_sched_affinity (\fBhwloc_topology_t\fP topology, \fBhwloc_const_cpuset_t\fPhwlocset, cpu_set_t *schedset, size_tschedsetsize)\fC [static]\fP" | |
23 | 23 | .PP |
24 | 24 | Convert hwloc CPU set \fCtoposet\fP into glibc sched affinity CPU set \fCschedset\fP. This function may be used before calling sched_setaffinity or any other function that takes a cpu_set_t as input parameter. |
25 | 25 | .PP |
0 | .TH "Binding Helpers" 3 "Mon Jan 24 2011" "Version 1.1.1" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
0 | .TH "Binding Helpers" 3 "Wed Apr 6 2011" "Version 1.1.2" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
1 | 1 | .ad l |
2 | 2 | .nh |
3 | 3 | .SH NAME |
20 | 20 | .in -1c |
21 | 21 | .SH "Function Documentation" |
22 | 22 | .PP |
23 | .SS "static inline void* hwloc_alloc_membind_policy (\fBhwloc_topology_t\fP topology, size_t len, \fBhwloc_const_cpuset_t\fP cpuset, \fBhwloc_membind_policy_t\fP policy, int flags)\fC [static]\fP" | |
23 | .SS "static inline void* hwloc_alloc_membind_policy (\fBhwloc_topology_t\fPtopology, size_tlen, \fBhwloc_const_cpuset_t\fPcpuset, \fBhwloc_membind_policy_t\fPpolicy, intflags)\fC [static]\fP" | |
24 | 24 | .PP |
25 | 25 | Allocate some memory on the memory nodes near given cpuset \fCcpuset\fP. This is similar to hwloc_alloc_membind_policy_nodeset, but for a given cpuset. |
26 | .SS "static inline void* hwloc_alloc_membind_policy_nodeset (\fBhwloc_topology_t\fP topology, size_t len, \fBhwloc_const_nodeset_t\fP nodeset, \fBhwloc_membind_policy_t\fP policy, int flags)\fC [static]\fP" | |
26 | .SS "static inline void* hwloc_alloc_membind_policy_nodeset (\fBhwloc_topology_t\fPtopology, size_tlen, \fBhwloc_const_nodeset_t\fPnodeset, \fBhwloc_membind_policy_t\fPpolicy, intflags)\fC [static]\fP" | |
27 | 27 | .PP |
28 | 28 | Allocate some memory on the given nodeset \fCnodeset\fP. 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 the expense of changing the current state. |
29 | .SS "static inline void hwloc_distribute (\fBhwloc_topology_t\fP topology, \fBhwloc_obj_t\fP root, \fBhwloc_cpuset_t\fP * cpuset, unsigned n, unsigned until)\fC [static]\fP" | |
30 | .SS "static inline void hwloc_distributev (\fBhwloc_topology_t\fP topology, \fBhwloc_obj_t\fP * roots, unsigned n_roots, \fBhwloc_cpuset_t\fP * cpuset, unsigned n, unsigned until)\fC [static]\fP" | |
29 | .SS "static inline void hwloc_distribute (\fBhwloc_topology_t\fPtopology, \fBhwloc_obj_t\fProot, \fBhwloc_cpuset_t\fP *cpuset, unsignedn, unsigneduntil)\fC [static]\fP" | |
30 | .SS "static inline void hwloc_distributev (\fBhwloc_topology_t\fPtopology, \fBhwloc_obj_t\fP *roots, unsignedn_roots, \fBhwloc_cpuset_t\fP *cpuset, unsignedn, unsigneduntil)\fC [static]\fP" | |
31 | 31 | .PP |
32 | 32 | Distribute \fCn\fP items over the topology under \fCroot\fP. Distribute \fCn\fP items over the topology under \fCroots\fP. |
33 | 33 | .PP |
0 | .TH "Cpuset Helpers" 3 "Mon Jan 24 2011" "Version 1.1.1" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
0 | .TH "Cpuset Helpers" 3 "Wed Apr 6 2011" "Version 1.1.2" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
1 | 1 | .ad l |
2 | 2 | .nh |
3 | 3 | .SH NAME |
20 | 20 | .in -1c |
21 | 21 | .SH "Function Documentation" |
22 | 22 | .PP |
23 | .SS "static inline \fBhwloc_const_cpuset_t\fP hwloc_topology_get_allowed_cpuset (\fBhwloc_topology_t\fP topology)\fC [static]\fP" | |
23 | .SS "static inline \fBhwloc_const_cpuset_t\fP hwloc_topology_get_allowed_cpuset (\fBhwloc_topology_t\fPtopology)\fC [static]\fP" | |
24 | 24 | .PP |
25 | 25 | Get allowed CPU set. \fBReturns:\fP |
26 | 26 | .RS 4 |
33 | 33 | .RE |
34 | 34 | .PP |
35 | 35 | |
36 | .SS "static inline \fBhwloc_const_cpuset_t\fP hwloc_topology_get_complete_cpuset (\fBhwloc_topology_t\fP topology)\fC [static]\fP" | |
36 | .SS "static inline \fBhwloc_const_cpuset_t\fP hwloc_topology_get_complete_cpuset (\fBhwloc_topology_t\fPtopology)\fC [static]\fP" | |
37 | 37 | .PP |
38 | 38 | Get complete CPU set. \fBReturns:\fP |
39 | 39 | .RS 4 |
46 | 46 | .RE |
47 | 47 | .PP |
48 | 48 | |
49 | .SS "static inline \fBhwloc_const_cpuset_t\fP hwloc_topology_get_online_cpuset (\fBhwloc_topology_t\fP topology)\fC [static]\fP" | |
49 | .SS "static inline \fBhwloc_const_cpuset_t\fP hwloc_topology_get_online_cpuset (\fBhwloc_topology_t\fPtopology)\fC [static]\fP" | |
50 | 50 | .PP |
51 | 51 | Get online CPU set. \fBReturns:\fP |
52 | 52 | .RS 4 |
59 | 59 | .RE |
60 | 60 | .PP |
61 | 61 | |
62 | .SS "static inline \fBhwloc_const_cpuset_t\fP hwloc_topology_get_topology_cpuset (\fBhwloc_topology_t\fP topology)\fC [static]\fP" | |
62 | .SS "static inline \fBhwloc_const_cpuset_t\fP hwloc_topology_get_topology_cpuset (\fBhwloc_topology_t\fPtopology)\fC [static]\fP" | |
63 | 63 | .PP |
64 | 64 | Get topology CPU set. \fBReturns:\fP |
65 | 65 | .RS 4 |
0 | .TH "Cache-specific Finding Helpers" 3 "Mon Jan 24 2011" "Version 1.1.1" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
0 | .TH "Cache-specific Finding Helpers" 3 "Wed Apr 6 2011" "Version 1.1.2" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
1 | 1 | .ad l |
2 | 2 | .nh |
3 | 3 | .SH NAME |
14 | 14 | .in -1c |
15 | 15 | .SH "Function Documentation" |
16 | 16 | .PP |
17 | .SS "static inline \fBhwloc_obj_t\fP hwloc_get_cache_covering_cpuset (\fBhwloc_topology_t\fP topology, \fBhwloc_const_cpuset_t\fP set)\fC [static]\fP" | |
17 | .SS "static inline \fBhwloc_obj_t\fP hwloc_get_cache_covering_cpuset (\fBhwloc_topology_t\fPtopology, \fBhwloc_const_cpuset_t\fPset)\fC [static]\fP" | |
18 | 18 | .PP |
19 | 19 | Get the first cache covering a cpuset \fCset\fP. \fBReturns:\fP |
20 | 20 | .RS 4 |
22 | 22 | .RE |
23 | 23 | .PP |
24 | 24 | |
25 | .SS "static inline \fBhwloc_obj_t\fP hwloc_get_shared_cache_covering_obj (\fBhwloc_topology_t\fP topology , \fBhwloc_obj_t\fP obj)\fC [static]\fP" | |
25 | .SS "static inline \fBhwloc_obj_t\fP hwloc_get_shared_cache_covering_obj (\fBhwloc_topology_t\fP topology, \fBhwloc_obj_t\fPobj)\fC [static]\fP" | |
26 | 26 | .PP |
27 | 27 | Get the first cache shared between an object and somebody else. \fBReturns:\fP |
28 | 28 | .RS 4 |
0 | .TH "Finding a single Object covering at least CPU set" 3 "Mon Jan 24 2011" "Version 1.1.1" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
0 | .TH "Finding a single Object covering at least CPU set" 3 "Wed Apr 6 2011" "Version 1.1.2" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
1 | 1 | .ad l |
2 | 2 | .nh |
3 | 3 | .SH NAME |
14 | 14 | .in -1c |
15 | 15 | .SH "Function Documentation" |
16 | 16 | .PP |
17 | .SS "static inline \fBhwloc_obj_t\fP hwloc_get_child_covering_cpuset (\fBhwloc_topology_t\fP topology , \fBhwloc_const_cpuset_t\fP set, \fBhwloc_obj_t\fP parent)\fC [static]\fP" | |
17 | .SS "static inline \fBhwloc_obj_t\fP hwloc_get_child_covering_cpuset (\fBhwloc_topology_t\fP topology, \fBhwloc_const_cpuset_t\fPset, \fBhwloc_obj_t\fPparent)\fC [static]\fP" | |
18 | 18 | .PP |
19 | 19 | Get the child covering at least CPU set \fCset\fP. \fBReturns:\fP |
20 | 20 | .RS 4 |
22 | 22 | .RE |
23 | 23 | .PP |
24 | 24 | |
25 | .SS "static inline \fBhwloc_obj_t\fP hwloc_get_obj_covering_cpuset (\fBhwloc_topology_t\fP topology, \fBhwloc_const_cpuset_t\fP set)\fC [static]\fP" | |
25 | .SS "static inline \fBhwloc_obj_t\fP hwloc_get_obj_covering_cpuset (\fBhwloc_topology_t\fPtopology, \fBhwloc_const_cpuset_t\fPset)\fC [static]\fP" | |
26 | 26 | .PP |
27 | 27 | Get the lowest object covering at least CPU set \fCset\fP. \fBReturns:\fP |
28 | 28 | .RS 4 |
0 | .TH "Finding a set of similar Objects covering at least a CPU set" 3 "Mon Jan 24 2011" "Version 1.1.1" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
0 | .TH "Finding a set of similar Objects covering at least a CPU set" 3 "Wed Apr 6 2011" "Version 1.1.2" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
1 | 1 | .ad l |
2 | 2 | .nh |
3 | 3 | .SH NAME |
14 | 14 | .in -1c |
15 | 15 | .SH "Function Documentation" |
16 | 16 | .PP |
17 | .SS "static inline \fBhwloc_obj_t\fP hwloc_get_next_obj_covering_cpuset_by_depth (\fBhwloc_topology_t\fP topology, \fBhwloc_const_cpuset_t\fP set, unsigned depth, \fBhwloc_obj_t\fP prev)\fC [static]\fP" | |
17 | .SS "static inline \fBhwloc_obj_t\fP hwloc_get_next_obj_covering_cpuset_by_depth (\fBhwloc_topology_t\fPtopology, \fBhwloc_const_cpuset_t\fPset, unsigneddepth, \fBhwloc_obj_t\fPprev)\fC [static]\fP" | |
18 | 18 | .PP |
19 | 19 | Iterate through same-depth objects covering at least CPU set \fCset\fP. If object \fCprev\fP is \fCNULL\fP, return the first object at depth \fCdepth\fP covering at least part of CPU set \fCset\fP. The next invokation should pass the previous return value in \fCprev\fP so as to obtain the next object covering at least another part of \fCset\fP. |
20 | .SS "static inline \fBhwloc_obj_t\fP hwloc_get_next_obj_covering_cpuset_by_type (\fBhwloc_topology_t\fP topology, \fBhwloc_const_cpuset_t\fP set, \fBhwloc_obj_type_t\fP type, \fBhwloc_obj_t\fP prev)\fC [static]\fP" | |
20 | .SS "static inline \fBhwloc_obj_t\fP hwloc_get_next_obj_covering_cpuset_by_type (\fBhwloc_topology_t\fPtopology, \fBhwloc_const_cpuset_t\fPset, \fBhwloc_obj_type_t\fPtype, \fBhwloc_obj_t\fPprev)\fC [static]\fP" | |
21 | 21 | .PP |
22 | 22 | Iterate through same-type objects covering at least CPU set \fCset\fP. If object \fCprev\fP is \fCNULL\fP, return the first object of type \fCtype\fP covering at least part of CPU set \fCset\fP. The next invokation should pass the previous return value in \fCprev\fP so as to obtain the next object of type \fCtype\fP covering at least another part of \fCset\fP. |
23 | 23 | .PP |
0 | .TH "Finding Objects Inside a CPU set" 3 "Mon Jan 24 2011" "Version 1.1.1" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
0 | .TH "Finding Objects Inside a CPU set" 3 "Wed Apr 6 2011" "Version 1.1.2" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
1 | 1 | .ad l |
2 | 2 | .nh |
3 | 3 | .SH NAME |
32 | 32 | .in -1c |
33 | 33 | .SH "Function Documentation" |
34 | 34 | .PP |
35 | .SS "static inline \fBhwloc_obj_t\fP hwloc_get_first_largest_obj_inside_cpuset (\fBhwloc_topology_t\fP topology, \fBhwloc_const_cpuset_t\fP set)\fC [static]\fP" | |
35 | .SS "static inline \fBhwloc_obj_t\fP hwloc_get_first_largest_obj_inside_cpuset (\fBhwloc_topology_t\fPtopology, \fBhwloc_const_cpuset_t\fPset)\fC [static]\fP" | |
36 | 36 | .PP |
37 | 37 | Get the first largest object included in the given cpuset \fCset\fP. \fBReturns:\fP |
38 | 38 | .RS 4 |
40 | 40 | .RE |
41 | 41 | .PP |
42 | 42 | This is convenient for iterating over all largest objects within a CPU set by doing a loop getting the first largest object and clearing its CPU set from the remaining CPU set. |
43 | .SS " int hwloc_get_largest_objs_inside_cpuset (\fBhwloc_topology_t\fP topology, \fBhwloc_const_cpuset_t\fP set, \fBhwloc_obj_t\fP *restrict objs, int max)" | |
43 | .SS " int hwloc_get_largest_objs_inside_cpuset (\fBhwloc_topology_t\fPtopology, \fBhwloc_const_cpuset_t\fPset, \fBhwloc_obj_t\fP *restrictobjs, intmax)" | |
44 | 44 | .PP |
45 | 45 | Get the set of largest objects covering exactly a given cpuset \fCset\fP. \fBReturns:\fP |
46 | 46 | .RS 4 |
48 | 48 | .RE |
49 | 49 | .PP |
50 | 50 | |
51 | .SS "static inline unsigned hwloc_get_nbobjs_inside_cpuset_by_depth (\fBhwloc_topology_t\fP topology, \fBhwloc_const_cpuset_t\fP set, unsigned depth)\fC [static]\fP" | |
51 | .SS "static inline unsigned hwloc_get_nbobjs_inside_cpuset_by_depth (\fBhwloc_topology_t\fPtopology, \fBhwloc_const_cpuset_t\fPset, unsigneddepth)\fC [static]\fP" | |
52 | 52 | .PP |
53 | 53 | Return the number of objects at depth \fCdepth\fP included in CPU set \fCset\fP. |
54 | .SS "static inline int hwloc_get_nbobjs_inside_cpuset_by_type (\fBhwloc_topology_t\fP topology, \fBhwloc_const_cpuset_t\fP set, \fBhwloc_obj_type_t\fP type)\fC [static]\fP" | |
54 | .SS "static inline int hwloc_get_nbobjs_inside_cpuset_by_type (\fBhwloc_topology_t\fPtopology, \fBhwloc_const_cpuset_t\fPset, \fBhwloc_obj_type_t\fPtype)\fC [static]\fP" | |
55 | 55 | .PP |
56 | 56 | Return the number of objects of type \fCtype\fP included in CPU set \fCset\fP. If no object for that type exists inside CPU set \fCset\fP, 0 is returned. If there are several levels with objects of that type inside CPU set \fCset\fP, -1 is returned. |
57 | .SS "static inline \fBhwloc_obj_t\fP hwloc_get_next_obj_inside_cpuset_by_depth (\fBhwloc_topology_t\fP topology, \fBhwloc_const_cpuset_t\fP set, unsigned depth, \fBhwloc_obj_t\fP prev)\fC [static]\fP" | |
57 | .SS "static inline \fBhwloc_obj_t\fP hwloc_get_next_obj_inside_cpuset_by_depth (\fBhwloc_topology_t\fPtopology, \fBhwloc_const_cpuset_t\fPset, unsigneddepth, \fBhwloc_obj_t\fPprev)\fC [static]\fP" | |
58 | 58 | .PP |
59 | 59 | Return the next object at depth \fCdepth\fP included in CPU set \fCset\fP. If \fCprev\fP is \fCNULL\fP, return the first object at depth \fCdepth\fP included in \fCset\fP. The next invokation should pass the previous return value in \fCprev\fP so as to obtain the next object in \fCset\fP. |
60 | .SS "static inline \fBhwloc_obj_t\fP hwloc_get_next_obj_inside_cpuset_by_type (\fBhwloc_topology_t\fP topology, \fBhwloc_const_cpuset_t\fP set, \fBhwloc_obj_type_t\fP type, \fBhwloc_obj_t\fP prev)\fC [static]\fP" | |
60 | .SS "static inline \fBhwloc_obj_t\fP hwloc_get_next_obj_inside_cpuset_by_type (\fBhwloc_topology_t\fPtopology, \fBhwloc_const_cpuset_t\fPset, \fBhwloc_obj_type_t\fPtype, \fBhwloc_obj_t\fPprev)\fC [static]\fP" | |
61 | 61 | .PP |
62 | 62 | Return the next object of type \fCtype\fP included in CPU set \fCset\fP. If there are multiple or no depth for given type, return \fCNULL\fP and let the caller fallback to \fBhwloc_get_next_obj_inside_cpuset_by_depth()\fP. |
63 | .SS "static inline \fBhwloc_obj_t\fP hwloc_get_obj_inside_cpuset_by_depth (\fBhwloc_topology_t\fP topology, \fBhwloc_const_cpuset_t\fP set, unsigned depth, unsigned idx)\fC [static]\fP" | |
63 | .SS "static inline \fBhwloc_obj_t\fP hwloc_get_obj_inside_cpuset_by_depth (\fBhwloc_topology_t\fPtopology, \fBhwloc_const_cpuset_t\fPset, unsigneddepth, unsignedidx)\fC [static]\fP" | |
64 | 64 | .PP |
65 | 65 | Return the \fCindex\fP -th object at depth \fCdepth\fP included in CPU set \fCset\fP. |
66 | .SS "static inline \fBhwloc_obj_t\fP hwloc_get_obj_inside_cpuset_by_type (\fBhwloc_topology_t\fP topology, \fBhwloc_const_cpuset_t\fP set, \fBhwloc_obj_type_t\fP type, unsigned idx)\fC [static]\fP" | |
66 | .SS "static inline \fBhwloc_obj_t\fP hwloc_get_obj_inside_cpuset_by_type (\fBhwloc_topology_t\fPtopology, \fBhwloc_const_cpuset_t\fPset, \fBhwloc_obj_type_t\fPtype, unsignedidx)\fC [static]\fP" | |
67 | 67 | .PP |
68 | 68 | Return the \fCidx\fP -th object of type \fCtype\fP included in CPU set \fCset\fP. If there are multiple or no depth for given type, return \fCNULL\fP and let the caller fallback to \fBhwloc_get_obj_inside_cpuset_by_depth()\fP. |
69 | 69 | .SH "Author" |
0 | .TH "Nodeset Helpers" 3 "Mon Jan 24 2011" "Version 1.1.1" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
0 | .TH "Nodeset Helpers" 3 "Wed Apr 6 2011" "Version 1.1.2" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
1 | 1 | .ad l |
2 | 2 | .nh |
3 | 3 | .SH NAME |
17 | 17 | .in -1c |
18 | 18 | .SH "Function Documentation" |
19 | 19 | .PP |
20 | .SS "static inline \fBhwloc_const_nodeset_t\fP hwloc_topology_get_allowed_nodeset (\fBhwloc_topology_t\fP topology)\fC [static]\fP" | |
20 | .SS "static inline \fBhwloc_const_nodeset_t\fP hwloc_topology_get_allowed_nodeset (\fBhwloc_topology_t\fPtopology)\fC [static]\fP" | |
21 | 21 | .PP |
22 | 22 | Get allowed node set. \fBReturns:\fP |
23 | 23 | .RS 4 |
30 | 30 | .RE |
31 | 31 | .PP |
32 | 32 | |
33 | .SS "static inline \fBhwloc_const_nodeset_t\fP hwloc_topology_get_complete_nodeset (\fBhwloc_topology_t\fP topology)\fC [static]\fP" | |
33 | .SS "static inline \fBhwloc_const_nodeset_t\fP hwloc_topology_get_complete_nodeset (\fBhwloc_topology_t\fPtopology)\fC [static]\fP" | |
34 | 34 | .PP |
35 | 35 | Get complete node set. \fBReturns:\fP |
36 | 36 | .RS 4 |
43 | 43 | .RE |
44 | 44 | .PP |
45 | 45 | |
46 | .SS "static inline \fBhwloc_const_nodeset_t\fP hwloc_topology_get_topology_nodeset (\fBhwloc_topology_t\fP topology)\fC [static]\fP" | |
46 | .SS "static inline \fBhwloc_const_nodeset_t\fP hwloc_topology_get_topology_nodeset (\fBhwloc_topology_t\fPtopology)\fC [static]\fP" | |
47 | 47 | .PP |
48 | 48 | Get topology node set. \fBReturns:\fP |
49 | 49 | .RS 4 |
0 | .TH "Conversion between cpuset and nodeset" 3 "Mon Jan 24 2011" "Version 1.1.1" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
0 | .TH "Conversion between cpuset and nodeset" 3 "Wed Apr 6 2011" "Version 1.1.2" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
1 | 1 | .ad l |
2 | 2 | .nh |
3 | 3 | .SH NAME |
27 | 27 | When manipulating nodesets as an actual list of NUMA nodes without any need to handle memory binding on non-NUMA machines, the strict conversion routines may be used instead. |
28 | 28 | .SH "Function Documentation" |
29 | 29 | .PP |
30 | .SS "static inline void hwloc_cpuset_from_nodeset (\fBhwloc_topology_t\fP topology, \fBhwloc_cpuset_t\fP cpuset, \fBhwloc_const_nodeset_t\fP nodeset)\fC [static]\fP" | |
30 | .SS "static inline void hwloc_cpuset_from_nodeset (\fBhwloc_topology_t\fPtopology, \fBhwloc_cpuset_t\fPcpuset, \fBhwloc_const_nodeset_t\fPnodeset)\fC [static]\fP" | |
31 | 31 | .PP |
32 | 32 | Convert a NUMA node set into a CPU set and handle non-NUMA cases. If the topology contains no NUMA nodes, the machine is considered as a single memory node, and the following behavior is used: If \fCnodeset\fP is empty, \fCcpuset\fP will be emptied as well. Otherwise \fCcpuset\fP will be entirely filled. This is useful for manipulating memory binding sets. |
33 | .SS "static inline void hwloc_cpuset_from_nodeset_strict (struct hwloc_topology * topology, \fBhwloc_cpuset_t\fP cpuset, \fBhwloc_const_nodeset_t\fP nodeset)\fC [static]\fP" | |
33 | .SS "static inline void hwloc_cpuset_from_nodeset_strict (struct hwloc_topology *topology, \fBhwloc_cpuset_t\fPcpuset, \fBhwloc_const_nodeset_t\fPnodeset)\fC [static]\fP" | |
34 | 34 | .PP |
35 | 35 | Convert a NUMA node set into a CPU set without handling non-NUMA cases. This is the strict variant of \fBhwloc_cpuset_from_nodeset\fP. It does not fix non-NUMA cases. If the topology contains some NUMA nodes, behave exactly the same. However, if the topology contains no NUMA nodes, return an empty cpuset. |
36 | .SS "static inline void hwloc_cpuset_to_nodeset (\fBhwloc_topology_t\fP topology, \fBhwloc_const_cpuset_t\fP cpuset, \fBhwloc_nodeset_t\fP nodeset)\fC [static]\fP" | |
36 | .SS "static inline void hwloc_cpuset_to_nodeset (\fBhwloc_topology_t\fPtopology, \fBhwloc_const_cpuset_t\fPcpuset, \fBhwloc_nodeset_t\fPnodeset)\fC [static]\fP" | |
37 | 37 | .PP |
38 | 38 | Convert a CPU set into a NUMA node set and handle non-NUMA cases. If some NUMA nodes have no CPUs at all, this function never sets their indexes in the output node set, even if a full CPU set is given in input. |
39 | 39 | .PP |
40 | 40 | If the topology contains no NUMA nodes, the machine is considered as a single memory node, and the following behavior is used: If \fCcpuset\fP is empty, \fCnodeset\fP will be emptied as well. Otherwise \fCnodeset\fP will be entirely filled. |
41 | .SS "static inline void hwloc_cpuset_to_nodeset_strict (struct hwloc_topology * topology, \fBhwloc_const_cpuset_t\fP cpuset, \fBhwloc_nodeset_t\fP nodeset)\fC [static]\fP" | |
41 | .SS "static inline void hwloc_cpuset_to_nodeset_strict (struct hwloc_topology *topology, \fBhwloc_const_cpuset_t\fPcpuset, \fBhwloc_nodeset_t\fPnodeset)\fC [static]\fP" | |
42 | 42 | .PP |
43 | 43 | Convert a CPU set into a NUMA node set without handling non-NUMA cases. This is the strict variant of \fBhwloc_cpuset_to_nodeset\fP. It does not fix non-NUMA cases. If the topology contains some NUMA nodes, behave exactly the same. However, if the topology contains no NUMA nodes, return an empty nodeset. |
44 | 44 | .SH "Author" |
0 | .TH "Advanced Traversal Helpers" 3 "Mon Jan 24 2011" "Version 1.1.1" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
0 | .TH "Advanced Traversal Helpers" 3 "Wed Apr 6 2011" "Version 1.1.2" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
1 | 1 | .ad l |
2 | 2 | .nh |
3 | 3 | .SH NAME |
17 | 17 | .in -1c |
18 | 18 | .SH "Function Documentation" |
19 | 19 | .PP |
20 | .SS " unsigned hwloc_get_closest_objs (\fBhwloc_topology_t\fP topology, \fBhwloc_obj_t\fP src, \fBhwloc_obj_t\fP *restrict objs, unsigned max)" | |
20 | .SS " unsigned hwloc_get_closest_objs (\fBhwloc_topology_t\fPtopology, \fBhwloc_obj_t\fPsrc, \fBhwloc_obj_t\fP *restrictobjs, unsignedmax)" | |
21 | 21 | .PP |
22 | 22 | Do a depth-first traversal of the topology to find and sort. all objects that are at the same depth than \fCsrc\fP. Report in \fCobjs\fP up to \fCmax\fP physically closest ones to \fCsrc\fP. |
23 | 23 | .PP |
27 | 27 | .RE |
28 | 28 | .PP |
29 | 29 | |
30 | .SS "static inline \fBhwloc_obj_t\fP hwloc_get_obj_below_array_by_type (\fBhwloc_topology_t\fP topology, int nr, \fBhwloc_obj_type_t\fP * typev, unsigned * idxv)\fC [static]\fP" | |
30 | .SS "static inline \fBhwloc_obj_t\fP hwloc_get_obj_below_array_by_type (\fBhwloc_topology_t\fPtopology, intnr, \fBhwloc_obj_type_t\fP *typev, unsigned *idxv)\fC [static]\fP" | |
31 | 31 | .PP |
32 | 32 | Find an object below a chain of objects specified by types and indexes. This is a generalized version of \fBhwloc_get_obj_below_by_type()\fP. |
33 | 33 | .PP |
36 | 36 | Start from the top system object and walk the arrays \fCtypev\fP and \fCidxv\fP. For each type and index couple in the arrays, look under the previously found object to find the index-th object of the given type. Indexes are specified within the parent, not withing the entire system. |
37 | 37 | .PP |
38 | 38 | For instance, if nr is 3, typev contains NODE, SOCKET and CORE, and idxv contains 0, 1 and 2, return the third core object below the second socket below the first NUMA node. |
39 | .SS "static inline \fBhwloc_obj_t\fP hwloc_get_obj_below_by_type (\fBhwloc_topology_t\fP topology, \fBhwloc_obj_type_t\fP type1, unsigned idx1, \fBhwloc_obj_type_t\fP type2, unsigned idx2)\fC [static]\fP" | |
39 | .SS "static inline \fBhwloc_obj_t\fP hwloc_get_obj_below_by_type (\fBhwloc_topology_t\fPtopology, \fBhwloc_obj_type_t\fPtype1, unsignedidx1, \fBhwloc_obj_type_t\fPtype2, unsignedidx2)\fC [static]\fP" | |
40 | 40 | .PP |
41 | 41 | Find an object below another object, both specified by types and indexes. Start from the top system object and find object of type \fCtype1\fP and index \fCidx1\fP. Then look below this object and find another object of type \fCtype2\fP and index \fCidx2\fP. Indexes are specified within the parent, not withing the entire system. |
42 | 42 | .PP |
0 | .TH "Basic Traversal Helpers" 3 "Mon Jan 24 2011" "Version 1.1.1" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
0 | .TH "Basic Traversal Helpers" 3 "Wed Apr 6 2011" "Version 1.1.2" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
1 | 1 | .ad l |
2 | 2 | .nh |
3 | 3 | .SH NAME |
35 | 35 | .in -1c |
36 | 36 | .SH "Function Documentation" |
37 | 37 | .PP |
38 | .SS "static inline \fBhwloc_obj_t\fP hwloc_get_ancestor_obj_by_depth (\fBhwloc_topology_t\fP topology , unsigned depth, \fBhwloc_obj_t\fP obj)\fC [static]\fP" | |
38 | .SS "static inline \fBhwloc_obj_t\fP hwloc_get_ancestor_obj_by_depth (\fBhwloc_topology_t\fP topology, unsigneddepth, \fBhwloc_obj_t\fPobj)\fC [static]\fP" | |
39 | 39 | .PP |
40 | 40 | Returns the ancestor object of \fCobj\fP at depth \fCdepth\fP. |
41 | .SS "static inline \fBhwloc_obj_t\fP hwloc_get_ancestor_obj_by_type (\fBhwloc_topology_t\fP topology , \fBhwloc_obj_type_t\fP type, \fBhwloc_obj_t\fP obj)\fC [static]\fP" | |
41 | .SS "static inline \fBhwloc_obj_t\fP hwloc_get_ancestor_obj_by_type (\fBhwloc_topology_t\fP topology, \fBhwloc_obj_type_t\fPtype, \fBhwloc_obj_t\fPobj)\fC [static]\fP" | |
42 | 42 | .PP |
43 | 43 | Returns the ancestor object of \fCobj\fP with type \fCtype\fP. |
44 | .SS "static inline \fBhwloc_obj_t\fP hwloc_get_common_ancestor_obj (\fBhwloc_topology_t\fP topology , \fBhwloc_obj_t\fP obj1, \fBhwloc_obj_t\fP obj2)\fC [static]\fP" | |
44 | .SS "static inline \fBhwloc_obj_t\fP hwloc_get_common_ancestor_obj (\fBhwloc_topology_t\fP topology, \fBhwloc_obj_t\fPobj1, \fBhwloc_obj_t\fPobj2)\fC [static]\fP" | |
45 | 45 | .PP |
46 | 46 | Returns the common parent object to objects lvl1 and lvl2. |
47 | .SS "static inline \fBhwloc_obj_t\fP hwloc_get_next_child (\fBhwloc_topology_t\fP topology , \fBhwloc_obj_t\fP parent, \fBhwloc_obj_t\fP prev)\fC [static]\fP" | |
47 | .SS "static inline \fBhwloc_obj_t\fP hwloc_get_next_child (\fBhwloc_topology_t\fP topology, \fBhwloc_obj_t\fPparent, \fBhwloc_obj_t\fPprev)\fC [static]\fP" | |
48 | 48 | .PP |
49 | 49 | Return the next child. If \fCprev\fP is \fCNULL\fP, return the first child. |
50 | .SS "static inline \fBhwloc_obj_t\fP hwloc_get_next_obj_by_depth (\fBhwloc_topology_t\fP topology, unsigned depth, \fBhwloc_obj_t\fP prev)\fC [static]\fP" | |
50 | .SS "static inline \fBhwloc_obj_t\fP hwloc_get_next_obj_by_depth (\fBhwloc_topology_t\fPtopology, unsigneddepth, \fBhwloc_obj_t\fPprev)\fC [static]\fP" | |
51 | 51 | .PP |
52 | 52 | Returns the next object at depth \fCdepth\fP. If \fCprev\fP is \fCNULL\fP, return the first object at depth \fCdepth\fP. |
53 | .SS "static inline \fBhwloc_obj_t\fP hwloc_get_next_obj_by_type (\fBhwloc_topology_t\fP topology, \fBhwloc_obj_type_t\fP type, \fBhwloc_obj_t\fP prev)\fC [static]\fP" | |
53 | .SS "static inline \fBhwloc_obj_t\fP hwloc_get_next_obj_by_type (\fBhwloc_topology_t\fPtopology, \fBhwloc_obj_type_t\fPtype, \fBhwloc_obj_t\fPprev)\fC [static]\fP" | |
54 | 54 | .PP |
55 | 55 | Returns the next object of type \fCtype\fP. If \fCprev\fP is \fCNULL\fP, return the first object at type \fCtype\fP. If there are multiple or no depth for given type, return \fCNULL\fP and let the caller fallback to \fBhwloc_get_next_obj_by_depth()\fP. |
56 | .SS "static inline \fBhwloc_obj_t\fP hwloc_get_pu_obj_by_os_index (\fBhwloc_topology_t\fP topology, unsigned os_index)\fC [static]\fP" | |
56 | .SS "static inline \fBhwloc_obj_t\fP hwloc_get_pu_obj_by_os_index (\fBhwloc_topology_t\fPtopology, unsignedos_index)\fC [static]\fP" | |
57 | 57 | .PP |
58 | 58 | Returns the object of type \fBHWLOC_OBJ_PU\fP with \fCos_index\fP. \fBNote:\fP |
59 | 59 | .RS 4 |
61 | 61 | .RE |
62 | 62 | .PP |
63 | 63 | |
64 | .SS "static inline \fBhwloc_obj_t\fP hwloc_get_root_obj (\fBhwloc_topology_t\fP topology)\fC [static]\fP" | |
64 | .SS "static inline \fBhwloc_obj_t\fP hwloc_get_root_obj (\fBhwloc_topology_t\fPtopology)\fC [static]\fP" | |
65 | 65 | .PP |
66 | 66 | Returns the top-object of the topology-tree. Its type is typically \fBHWLOC_OBJ_MACHINE\fP but it could be different for complex topologies. This function replaces the old deprecated hwloc_get_system_obj(). |
67 | .SS "static inline int hwloc_obj_is_in_subtree (\fBhwloc_topology_t\fP topology , \fBhwloc_obj_t\fP obj, \fBhwloc_obj_t\fP subtree_root)\fC [static]\fP" | |
67 | .SS "static inline int hwloc_obj_is_in_subtree (\fBhwloc_topology_t\fP topology, \fBhwloc_obj_t\fPobj, \fBhwloc_obj_t\fPsubtree_root)\fC [static]\fP" | |
68 | 68 | .PP |
69 | Returns true if _obj_ is inside the subtree beginning with \fCsubtree_root\fP. | |
69 | Returns true if \fCobj\fP is inside the subtree beginning with \fCsubtree_root\fP. \fBNote:\fP | |
70 | .RS 4 | |
71 | This function assumes that both \fCobj\fP and \fCsubtree_root\fP have a \fCcpuset\fP. | |
72 | .RE | |
73 | .PP | |
74 | ||
70 | 75 | .SH "Author" |
71 | 76 | .PP |
72 | 77 | Generated automatically by Doxygen for Hardware Locality (hwloc) from the source code. |
0 | .TH "Object Type Helpers" 3 "Mon Jan 24 2011" "Version 1.1.1" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
0 | .TH "Object Type Helpers" 3 "Wed Apr 6 2011" "Version 1.1.2" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
1 | 1 | .ad l |
2 | 2 | .nh |
3 | 3 | .SH NAME |
14 | 14 | .in -1c |
15 | 15 | .SH "Function Documentation" |
16 | 16 | .PP |
17 | .SS "static inline int hwloc_get_type_or_above_depth (\fBhwloc_topology_t\fP topology, \fBhwloc_obj_type_t\fP type)\fC [static]\fP" | |
17 | .SS "static inline int hwloc_get_type_or_above_depth (\fBhwloc_topology_t\fPtopology, \fBhwloc_obj_type_t\fPtype)\fC [static]\fP" | |
18 | 18 | .PP |
19 | 19 | Returns the depth of objects of type \fCtype\fP or above. If no object of this type is present on the underlying architecture, the function returns the depth of the first 'present' object typically containing \fCtype\fP. |
20 | .SS "static inline int hwloc_get_type_or_below_depth (\fBhwloc_topology_t\fP topology, \fBhwloc_obj_type_t\fP type)\fC [static]\fP" | |
20 | .SS "static inline int hwloc_get_type_or_below_depth (\fBhwloc_topology_t\fPtopology, \fBhwloc_obj_type_t\fPtype)\fC [static]\fP" | |
21 | 21 | .PP |
22 | 22 | Returns the depth of objects of type \fCtype\fP or below. If no object of this type is present on the underlying architecture, the function returns the depth of the first 'present' object typically found inside \fCtype\fP. |
23 | 23 | .SH "Author" |
0 | .TH "Get some Topology Information" 3 "Mon Jan 24 2011" "Version 1.1.1" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
0 | .TH "Get some Topology Information" 3 "Wed Apr 6 2011" "Version 1.1.2" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
1 | 1 | .ad l |
2 | 2 | .nh |
3 | 3 | .SH NAME |
45 | 45 | Objects of given type exist at different depth in the topology. |
46 | 46 | .SH "Function Documentation" |
47 | 47 | .PP |
48 | .SS " \fBhwloc_obj_type_t\fP hwloc_get_depth_type (\fBhwloc_topology_t\fP topology, unsigned depth)" | |
48 | .SS " \fBhwloc_obj_type_t\fP hwloc_get_depth_type (\fBhwloc_topology_t\fPtopology, unsigneddepth)" | |
49 | 49 | .PP |
50 | 50 | Returns the type of objects at depth \fCdepth\fP. \fBReturns:\fP |
51 | 51 | .RS 4 |
53 | 53 | .RE |
54 | 54 | .PP |
55 | 55 | |
56 | .SS " unsigned hwloc_get_nbobjs_by_depth (\fBhwloc_topology_t\fP topology, unsigned depth)" | |
56 | .SS " unsigned hwloc_get_nbobjs_by_depth (\fBhwloc_topology_t\fPtopology, unsigneddepth)" | |
57 | 57 | .PP |
58 | 58 | Returns the width of level at depth \fCdepth\fP. |
59 | .SS "static inline int hwloc_get_nbobjs_by_type (\fBhwloc_topology_t\fP topology, \fBhwloc_obj_type_t\fP type)\fC [static]\fP" | |
59 | .SS "static inline int hwloc_get_nbobjs_by_type (\fBhwloc_topology_t\fPtopology, \fBhwloc_obj_type_t\fPtype)\fC [static]\fP" | |
60 | 60 | .PP |
61 | 61 | Returns the width of level type \fCtype\fP. If no object for that type exists, 0 is returned. If there are several levels with objects of that type, -1 is returned. |
62 | .SS " int hwloc_get_type_depth (\fBhwloc_topology_t\fP topology, \fBhwloc_obj_type_t\fP type)" | |
62 | .SS " int hwloc_get_type_depth (\fBhwloc_topology_t\fPtopology, \fBhwloc_obj_type_t\fPtype)" | |
63 | 63 | .PP |
64 | 64 | Returns the depth of objects of type \fCtype\fP. If no object of this type is present on the underlying architecture, or if the OS doesn't provide this kind of information, the function returns HWLOC_TYPE_DEPTH_UNKNOWN. |
65 | 65 | .PP |
66 | If type is absent but a similar type is acceptable, see also \fBhwloc_get_type_or_below_depth()\fP and \fBhwloc_get_type_or_above_depth()\fP. | |
67 | .SS " unsigned hwloc_topology_get_depth (\fBhwloc_topology_t\fP restrict topology)" | |
66 | If type is absent but a similar type is acceptable, see also \fBhwloc_get_type_or_below_depth()\fP and \fBhwloc_get_type_or_above_depth()\fP. | |
67 | .PP | |
68 | If some objects of the given type exist in different levels, for instance L1 and L2 caches, the function returns HWLOC_TYPE_DEPTH_MULTIPLE. | |
69 | .SS " unsigned hwloc_topology_get_depth (\fBhwloc_topology_t\fP restricttopology)" | |
68 | 70 | .PP |
69 | 71 | Get the depth of the hierachical tree of objects. This is the depth of HWLOC_OBJ_PU objects plus one. |
70 | .SS " int hwloc_topology_is_thissystem (\fBhwloc_topology_t\fP restrict topology)" | |
72 | .SS " int hwloc_topology_is_thissystem (\fBhwloc_topology_t\fP restricttopology)" | |
71 | 73 | .PP |
72 | 74 | Does the topology context come from this system? \fBReturns:\fP |
73 | 75 | .RS 4 |
0 | .TH "Linux-only helpers" 3 "Mon Jan 24 2011" "Version 1.1.1" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
0 | .TH "Linux-only helpers" 3 "Wed Apr 6 2011" "Version 1.1.2" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
1 | 1 | .ad l |
2 | 2 | .nh |
3 | 3 | .SH NAME |
20 | 20 | This includes helpers for manipulating linux kernel cpumap files, and hwloc equivalents of the Linux sched_setaffinity and sched_getaffinity system calls. |
21 | 21 | .SH "Function Documentation" |
22 | 22 | .PP |
23 | .SS " int hwloc_linux_get_tid_cpubind (\fBhwloc_topology_t\fP topology, pid_t tid, \fBhwloc_cpuset_t\fP set)" | |
23 | .SS " int hwloc_linux_get_tid_cpubind (\fBhwloc_topology_t\fPtopology, pid_ttid, \fBhwloc_cpuset_t\fPset)" | |
24 | 24 | .PP |
25 | 25 | Get the current binding of thread \fCtid\fP. The behavior is exactly the same as the Linux sched_setaffinity system call, but uses a hwloc cpuset. |
26 | .SS " int hwloc_linux_parse_cpumap_file (FILE * file, \fBhwloc_cpuset_t\fP set)" | |
26 | .SS " int hwloc_linux_parse_cpumap_file (FILE *file, \fBhwloc_cpuset_t\fPset)" | |
27 | 27 | .PP |
28 | 28 | Convert a linux kernel cpumap file \fCfile\fP into hwloc CPU set. Might be used when reading CPU set from sysfs attributes such as topology and caches for processors, or local_cpus for devices. |
29 | .SS " int hwloc_linux_set_tid_cpubind (\fBhwloc_topology_t\fP topology, pid_t tid, \fBhwloc_const_cpuset_t\fP set)" | |
29 | .SS " int hwloc_linux_set_tid_cpubind (\fBhwloc_topology_t\fPtopology, pid_ttid, \fBhwloc_const_cpuset_t\fPset)" | |
30 | 30 | .PP |
31 | 31 | Bind a thread \fCtid\fP on cpus given in cpuset \fCset\fP. The behavior is exactly the same as the Linux sched_setaffinity system call, but uses a hwloc cpuset. |
32 | 32 | .SH "Author" |
0 | .TH "Helpers for manipulating Linux libnuma bitmask" 3 "Mon Jan 24 2011" "Version 1.1.1" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
0 | .TH "Helpers for manipulating Linux libnuma bitmask" 3 "Wed Apr 6 2011" "Version 1.1.2" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
1 | 1 | .ad l |
2 | 2 | .nh |
3 | 3 | .SH NAME |
20 | 20 | .in -1c |
21 | 21 | .SH "Function Documentation" |
22 | 22 | .PP |
23 | .SS "static inline int hwloc_cpuset_from_linux_libnuma_bitmask (\fBhwloc_topology_t\fP topology, \fBhwloc_cpuset_t\fP cpuset, const struct bitmask * bitmask)\fC [static]\fP" | |
23 | .SS "static inline int hwloc_cpuset_from_linux_libnuma_bitmask (\fBhwloc_topology_t\fPtopology, \fBhwloc_cpuset_t\fPcpuset, const struct bitmask *bitmask)\fC [static]\fP" | |
24 | 24 | .PP |
25 | 25 | Convert libnuma bitmask \fCbitmask\fP into hwloc CPU set \fCcpuset\fP. This function may be used after calling many numa_ functions that use a struct bitmask as an output parameter. |
26 | .SS "static inline struct bitmask* hwloc_cpuset_to_linux_libnuma_bitmask (\fBhwloc_topology_t\fP topology, \fBhwloc_const_cpuset_t\fP cpuset)\fC [static, read]\fP" | |
26 | .SS "static inline struct bitmask* hwloc_cpuset_to_linux_libnuma_bitmask (\fBhwloc_topology_t\fPtopology, \fBhwloc_const_cpuset_t\fPcpuset)\fC [static, read]\fP" | |
27 | 27 | .PP |
28 | 28 | Convert hwloc CPU set \fCcpuset\fP into the returned libnuma bitmask. The returned bitmask should later be freed with numa_bitmask_free. |
29 | 29 | .PP |
35 | 35 | .RE |
36 | 36 | .PP |
37 | 37 | |
38 | .SS "static inline int hwloc_nodeset_from_linux_libnuma_bitmask (\fBhwloc_topology_t\fP topology, \fBhwloc_nodeset_t\fP nodeset, const struct bitmask * bitmask)\fC [static]\fP" | |
38 | .SS "static inline int hwloc_nodeset_from_linux_libnuma_bitmask (\fBhwloc_topology_t\fPtopology, \fBhwloc_nodeset_t\fPnodeset, const struct bitmask *bitmask)\fC [static]\fP" | |
39 | 39 | .PP |
40 | 40 | Convert libnuma bitmask \fCbitmask\fP into hwloc NUMA node set \fCnodeset\fP. This function may be used after calling many numa_ functions that use a struct bitmask as an output parameter. |
41 | .SS "static inline struct bitmask* hwloc_nodeset_to_linux_libnuma_bitmask (\fBhwloc_topology_t\fP topology, \fBhwloc_const_nodeset_t\fP nodeset)\fC [static, read]\fP" | |
41 | .SS "static inline struct bitmask* hwloc_nodeset_to_linux_libnuma_bitmask (\fBhwloc_topology_t\fPtopology, \fBhwloc_const_nodeset_t\fPnodeset)\fC [static, read]\fP" | |
42 | 42 | .PP |
43 | 43 | Convert hwloc NUMA node set \fCnodeset\fP into the returned libnuma bitmask. The returned bitmask should later be freed with numa_bitmask_free. |
44 | 44 | .PP |
0 | .TH "Helpers for manipulating Linux libnuma nodemask_t" 3 "Mon Jan 24 2011" "Version 1.1.1" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
0 | .TH "Helpers for manipulating Linux libnuma nodemask_t" 3 "Wed Apr 6 2011" "Version 1.1.2" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
1 | 1 | .ad l |
2 | 2 | .nh |
3 | 3 | .SH NAME |
20 | 20 | .in -1c |
21 | 21 | .SH "Function Documentation" |
22 | 22 | .PP |
23 | .SS "static inline int hwloc_cpuset_from_linux_libnuma_nodemask (\fBhwloc_topology_t\fP topology, \fBhwloc_cpuset_t\fP cpuset, const nodemask_t * nodemask)\fC [static]\fP" | |
23 | .SS "static inline int hwloc_cpuset_from_linux_libnuma_nodemask (\fBhwloc_topology_t\fPtopology, \fBhwloc_cpuset_t\fPcpuset, const nodemask_t *nodemask)\fC [static]\fP" | |
24 | 24 | .PP |
25 | 25 | Convert libnuma nodemask \fCnodemask\fP into hwloc CPU set \fCcpuset\fP. This function may be used before calling some old libnuma functions that use a nodemask_t as an output parameter. |
26 | .SS "static inline int hwloc_cpuset_to_linux_libnuma_nodemask (\fBhwloc_topology_t\fP topology, \fBhwloc_const_cpuset_t\fP cpuset, nodemask_t * nodemask)\fC [static]\fP" | |
26 | .SS "static inline int hwloc_cpuset_to_linux_libnuma_nodemask (\fBhwloc_topology_t\fPtopology, \fBhwloc_const_cpuset_t\fPcpuset, nodemask_t *nodemask)\fC [static]\fP" | |
27 | 27 | .PP |
28 | 28 | Convert hwloc CPU set \fCcpuset\fP into libnuma nodemask \fCnodemask\fP. This function may be used before calling some old libnuma functions that use a nodemask_t as an input parameter. |
29 | .SS "static inline int hwloc_nodeset_from_linux_libnuma_nodemask (\fBhwloc_topology_t\fP topology, \fBhwloc_nodeset_t\fP nodeset, const nodemask_t * nodemask)\fC [static]\fP" | |
29 | .SS "static inline int hwloc_nodeset_from_linux_libnuma_nodemask (\fBhwloc_topology_t\fPtopology, \fBhwloc_nodeset_t\fPnodeset, const nodemask_t *nodemask)\fC [static]\fP" | |
30 | 30 | .PP |
31 | 31 | Convert libnuma nodemask \fCnodemask\fP into hwloc NUMA node set \fCnodeset\fP. This function may be used before calling some old libnuma functions that use a nodemask_t as an output parameter. |
32 | .SS "static inline int hwloc_nodeset_to_linux_libnuma_nodemask (\fBhwloc_topology_t\fP topology, \fBhwloc_const_nodeset_t\fP nodeset, nodemask_t * nodemask)\fC [static]\fP" | |
32 | .SS "static inline int hwloc_nodeset_to_linux_libnuma_nodemask (\fBhwloc_topology_t\fPtopology, \fBhwloc_const_nodeset_t\fPnodeset, nodemask_t *nodemask)\fC [static]\fP" | |
33 | 33 | .PP |
34 | 34 | Convert hwloc NUMA node set \fCnodeset\fP into libnuma nodemask \fCnodemask\fP. This function may be used before calling some old libnuma functions that use a nodemask_t as an input parameter. |
35 | 35 | .SH "Author" |
0 | .TH "Helpers for manipulating Linux libnuma unsigned long masks" 3 "Mon Jan 24 2011" "Version 1.1.1" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
0 | .TH "Helpers for manipulating Linux libnuma unsigned long masks" 3 "Wed Apr 6 2011" "Version 1.1.2" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
1 | 1 | .ad l |
2 | 2 | .nh |
3 | 3 | .SH NAME |
20 | 20 | .in -1c |
21 | 21 | .SH "Function Documentation" |
22 | 22 | .PP |
23 | .SS "static inline int hwloc_cpuset_from_linux_libnuma_ulongs (\fBhwloc_topology_t\fP topology, \fBhwloc_cpuset_t\fP cpuset, const unsigned long * mask, unsigned long maxnode)\fC [static]\fP" | |
23 | .SS "static inline int hwloc_cpuset_from_linux_libnuma_ulongs (\fBhwloc_topology_t\fPtopology, \fBhwloc_cpuset_t\fPcpuset, const unsigned long *mask, unsigned longmaxnode)\fC [static]\fP" | |
24 | 24 | .PP |
25 | 25 | Convert the array of unsigned long \fCmask\fP into hwloc CPU set. \fCmask\fP is a array of unsigned long that will be read. \fCmaxnode\fP contains the maximal node number that may be read in \fCmask\fP. |
26 | 26 | .PP |
27 | 27 | This function may be used after calling get_mempolicy or any other function that takes an array of unsigned long as output parameter (and possibly a maximal node number as input parameter). |
28 | .SS "static inline int hwloc_cpuset_to_linux_libnuma_ulongs (\fBhwloc_topology_t\fP topology, \fBhwloc_const_cpuset_t\fP cpuset, unsigned long * mask, unsigned long * maxnode)\fC [static]\fP" | |
28 | .SS "static inline int hwloc_cpuset_to_linux_libnuma_ulongs (\fBhwloc_topology_t\fPtopology, \fBhwloc_const_cpuset_t\fPcpuset, unsigned long *mask, unsigned long *maxnode)\fC [static]\fP" | |
29 | 29 | .PP |
30 | 30 | Convert hwloc CPU set \fCcpuset\fP into the array of unsigned long \fCmask\fP. \fCmask\fP is the array of unsigned long that will be filled. \fCmaxnode\fP contains the maximal node number that may be stored in \fCmask\fP. \fCmaxnode\fP will be set to the maximal node number that was found, plus one. |
31 | 31 | .PP |
32 | 32 | This function may be used before calling set_mempolicy, mbind, migrate_pages or any other function that takes an array of unsigned long and a maximal node number as input parameter. |
33 | .SS "static inline int hwloc_nodeset_from_linux_libnuma_ulongs (\fBhwloc_topology_t\fP topology, \fBhwloc_nodeset_t\fP nodeset, const unsigned long * mask, unsigned long maxnode)\fC [static]\fP" | |
33 | .SS "static inline int hwloc_nodeset_from_linux_libnuma_ulongs (\fBhwloc_topology_t\fPtopology, \fBhwloc_nodeset_t\fPnodeset, const unsigned long *mask, unsigned longmaxnode)\fC [static]\fP" | |
34 | 34 | .PP |
35 | 35 | Convert the array of unsigned long \fCmask\fP into hwloc NUMA node set. \fCmask\fP is a array of unsigned long that will be read. \fCmaxnode\fP contains the maximal node number that may be read in \fCmask\fP. |
36 | 36 | .PP |
37 | 37 | This function may be used after calling get_mempolicy or any other function that takes an array of unsigned long as output parameter (and possibly a maximal node number as input parameter). |
38 | .SS "static inline int hwloc_nodeset_to_linux_libnuma_ulongs (\fBhwloc_topology_t\fP topology, \fBhwloc_const_nodeset_t\fP nodeset, unsigned long * mask, unsigned long * maxnode)\fC [static]\fP" | |
38 | .SS "static inline int hwloc_nodeset_to_linux_libnuma_ulongs (\fBhwloc_topology_t\fPtopology, \fBhwloc_const_nodeset_t\fPnodeset, unsigned long *mask, unsigned long *maxnode)\fC [static]\fP" | |
39 | 39 | .PP |
40 | 40 | Convert hwloc NUMA node set \fCnodeset\fP into the array of unsigned long \fCmask\fP. \fCmask\fP is the array of unsigned long that will be filled. \fCmaxnode\fP contains the maximal node number that may be stored in \fCmask\fP. \fCmaxnode\fP will be set to the maximal node number that was found, plus one. |
41 | 41 | .PP |
0 | .TH "Memory binding" 3 "Mon Jan 24 2011" "Version 1.1.1" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
0 | .TH "Memory binding" 3 "Wed Apr 6 2011" "Version 1.1.2" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
1 | 1 | .ad l |
2 | 2 | .nh |
3 | 3 | .SH NAME |
158 | 158 | Returned by hwloc_get_membind*() functions when multiple threads or parts of a memory area have differing memory binding policies. |
159 | 159 | .SH "Function Documentation" |
160 | 160 | .PP |
161 | .SS " void* hwloc_alloc (\fBhwloc_topology_t\fP topology, size_t len)" | |
161 | .SS " void* hwloc_alloc (\fBhwloc_topology_t\fPtopology, size_tlen)" | |
162 | 162 | .PP |
163 | 163 | Allocate some memory. This is equivalent to malloc(), except that it tries to allocate page-aligned memory from the OS. |
164 | 164 | .PP |
168 | 168 | .RE |
169 | 169 | .PP |
170 | 170 | |
171 | .SS " void* hwloc_alloc_membind (\fBhwloc_topology_t\fP topology, size_t len, \fBhwloc_const_cpuset_t\fP cpuset, \fBhwloc_membind_policy_t\fP policy, int flags)" | |
171 | .SS " void* hwloc_alloc_membind (\fBhwloc_topology_t\fPtopology, size_tlen, \fBhwloc_const_cpuset_t\fPcpuset, \fBhwloc_membind_policy_t\fPpolicy, intflags)" | |
172 | 172 | .PP |
173 | 173 | Allocate some memory on memory nodes near the given cpuset \fCcpuset\fP. \fBReturns:\fP |
174 | 174 | .RS 4 |
183 | 183 | .RE |
184 | 184 | .PP |
185 | 185 | |
186 | .SS " void* hwloc_alloc_membind_nodeset (\fBhwloc_topology_t\fP topology, size_t len, \fBhwloc_const_nodeset_t\fP nodeset, \fBhwloc_membind_policy_t\fP policy, int flags)" | |
186 | .SS " void* hwloc_alloc_membind_nodeset (\fBhwloc_topology_t\fPtopology, size_tlen, \fBhwloc_const_nodeset_t\fPnodeset, \fBhwloc_membind_policy_t\fPpolicy, intflags)" | |
187 | 187 | .PP |
188 | 188 | Allocate some memory on the given nodeset \fCnodeset\fP. \fBReturns:\fP |
189 | 189 | .RS 4 |
198 | 198 | .RE |
199 | 199 | .PP |
200 | 200 | |
201 | .SS " int hwloc_free (\fBhwloc_topology_t\fP topology, void * addr, size_t len)" | |
201 | .SS " int hwloc_free (\fBhwloc_topology_t\fPtopology, void *addr, size_tlen)" | |
202 | 202 | .PP |
203 | 203 | Free memory that was previously allocated by \fBhwloc_alloc()\fP or \fBhwloc_alloc_membind()\fP. |
204 | .SS " int hwloc_get_area_membind (\fBhwloc_topology_t\fP topology, const void * addr, size_t len, \fBhwloc_cpuset_t\fP cpuset, \fBhwloc_membind_policy_t\fP * policy, int flags)" | |
204 | .SS " int hwloc_get_area_membind (\fBhwloc_topology_t\fPtopology, const void *addr, size_tlen, \fBhwloc_cpuset_t\fPcpuset, \fBhwloc_membind_policy_t\fP *policy, intflags)" | |
205 | 205 | .PP |
206 | 206 | Query the CPUs near the NUMA node(s) and binding policy of the memory identified by (\fCaddr\fP, \fClen\fP ). This function has two output parameters: \fCcpuset\fP and \fCpolicy\fP. The values returned in these parameters depend on both the \fCflags\fP passed in and the memory binding policies and nodesets of the pages in the address range. |
207 | 207 | .PP |
210 | 210 | If HWLOC_MEMBIND_STRICT is not specified, the union of all NUMA node(s) containing pages in the address range is calculated. \fCcpuset\fP is then set to the CPUs near the NUMA node(s) in this union. If all pages in the target have the same policy, it is returned in \fCpolicy\fP. Otherwise, \fCpolicy\fP is set to HWLOC_MEMBIND_MIXED. |
211 | 211 | .PP |
212 | 212 | If any other flags are specified, -1 is returned and errno is set to EINVAL. |
213 | .SS " int hwloc_get_area_membind_nodeset (\fBhwloc_topology_t\fP topology, const void * addr, size_t len, \fBhwloc_nodeset_t\fP nodeset, \fBhwloc_membind_policy_t\fP * policy, int flags)" | |
213 | .SS " int hwloc_get_area_membind_nodeset (\fBhwloc_topology_t\fPtopology, const void *addr, size_tlen, \fBhwloc_nodeset_t\fPnodeset, \fBhwloc_membind_policy_t\fP *policy, intflags)" | |
214 | 214 | .PP |
215 | 215 | Query the NUMA node(s) and binding policy of the memory identified by (\fCaddr\fP, \fClen\fP ). This function has two output parameters: \fCnodeset\fP and \fCpolicy\fP. The values returned in these parameters depend on both the \fCflags\fP passed in and the memory binding policies and nodesets of the pages in the address range. |
216 | 216 | .PP |
219 | 219 | If HWLOC_MEMBIND_STRICT is not specified, \fCnodeset\fP is set to the union of all NUMA node(s) containing pages in the address range. If all pages in the target have the same policy, it is returned in \fCpolicy\fP. Otherwise, \fCpolicy\fP is set to HWLOC_MEMBIND_MIXED. |
220 | 220 | .PP |
221 | 221 | If any other flags are specified, -1 is returned and errno is set to EINVAL. |
222 | .SS " int hwloc_get_membind (\fBhwloc_topology_t\fP topology, \fBhwloc_cpuset_t\fP cpuset, \fBhwloc_membind_policy_t\fP * policy, int flags)" | |
222 | .SS " int hwloc_get_membind (\fBhwloc_topology_t\fPtopology, \fBhwloc_cpuset_t\fPcpuset, \fBhwloc_membind_policy_t\fP *policy, intflags)" | |
223 | 223 | .PP |
224 | 224 | Query the default memory binding policy and locality of the current process or thread (the locality is returned in \fCcpuset\fP as CPUs near the locality's actual NUMA node(s)). This function has two output parameters: \fCcpuset\fP and \fCpolicy\fP. The values returned in these parameters depend on both the \fCflags\fP passed in and the current memory binding policies and nodesets in the queried target. |
225 | 225 | .PP |
234 | 234 | 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 \fCpolicy\fP; \fCcpuset\fP is set to the union of CPUs near the NUMA node(s) in the \fCnodeset\fP. |
235 | 235 | .PP |
236 | 236 | If any other flags are specified, -1 is returned and errno is set to EINVAL. |
237 | .SS " int hwloc_get_membind_nodeset (\fBhwloc_topology_t\fP topology, \fBhwloc_nodeset_t\fP nodeset, \fBhwloc_membind_policy_t\fP * policy, int flags)" | |
237 | .SS " int hwloc_get_membind_nodeset (\fBhwloc_topology_t\fPtopology, \fBhwloc_nodeset_t\fPnodeset, \fBhwloc_membind_policy_t\fP *policy, intflags)" | |
238 | 238 | .PP |
239 | 239 | Query the default memory binding policy and locality of the current process or thread. This function has two output parameters: \fCnodeset\fP and \fCpolicy\fP. The values returned in these parameters depend on both the \fCflags\fP passed in and the current memory binding policies and nodesets in the queried target. |
240 | 240 | .PP |
249 | 249 | 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; they are returned in \fCnodeset\fP and \fCpolicy\fP, respectively. |
250 | 250 | .PP |
251 | 251 | If any other flags are specified, -1 is returned and errno is set to EINVAL. |
252 | .SS " int hwloc_get_proc_membind (\fBhwloc_topology_t\fP topology, hwloc_pid_t pid, \fBhwloc_cpuset_t\fP cpuset, \fBhwloc_membind_policy_t\fP * policy, int flags)" | |
252 | .SS " int hwloc_get_proc_membind (\fBhwloc_topology_t\fPtopology, hwloc_pid_tpid, \fBhwloc_cpuset_t\fPcpuset, \fBhwloc_membind_policy_t\fP *policy, intflags)" | |
253 | 253 | .PP |
254 | 254 | Query the default memory binding policy and locality of the specified process (the locality is returned in \fCcpuset\fP as CPUs near the locality's actual NUMA node(s)). This function has two output parameters: \fCcpuset\fP and \fCpolicy\fP. The values returned in these parameters depend on both the \fCflags\fP passed in and the current memory binding policies and nodesets in the queried target. |
255 | 255 | .PP |
262 | 262 | Otherwise, the default nodeset from each thread is logically OR'ed together. \fCcpuset\fP is set to the union of CPUs near the NUMA node(s) in the resulting nodeset. If all threads' default policies are the same, \fCpolicy\fP is set to that policy. If they are different, \fCpolicy\fP is set to HWLOC_MEMBIND_MIXED. |
263 | 263 | .PP |
264 | 264 | If any other flags are specified, -1 is returned and errno is set to EINVAL. |
265 | .SS " int hwloc_get_proc_membind_nodeset (\fBhwloc_topology_t\fP topology, hwloc_pid_t pid, \fBhwloc_nodeset_t\fP nodeset, \fBhwloc_membind_policy_t\fP * policy, int flags)" | |
265 | .SS " int hwloc_get_proc_membind_nodeset (\fBhwloc_topology_t\fPtopology, hwloc_pid_tpid, \fBhwloc_nodeset_t\fPnodeset, \fBhwloc_membind_policy_t\fP *policy, intflags)" | |
266 | 266 | .PP |
267 | 267 | Query the default memory binding policy and locality of the specified process. This function has two output parameters: \fCnodeset\fP and \fCpolicy\fP. The values returned in these parameters depend on both the \fCflags\fP passed in and the current memory binding policies and nodesets in the queried target. |
268 | 268 | .PP |
275 | 275 | Otherwise, \fCnodeset\fP is set to the logical OR of all threads' default nodeset. If all threads' default policies are the same, \fCpolicy\fP is set to that policy. If they are different, \fCpolicy\fP is set to HWLOC_MEMBIND_MIXED. |
276 | 276 | .PP |
277 | 277 | If any other flags are specified, -1 is returned and errno is set to EINVAL. |
278 | .SS " int hwloc_set_area_membind (\fBhwloc_topology_t\fP topology, const void * addr, size_t len, \fBhwloc_const_cpuset_t\fP cpuset, \fBhwloc_membind_policy_t\fP policy, int flags)" | |
278 | .SS " int hwloc_set_area_membind (\fBhwloc_topology_t\fPtopology, const void *addr, size_tlen, \fBhwloc_const_cpuset_t\fPcpuset, \fBhwloc_membind_policy_t\fPpolicy, intflags)" | |
279 | 279 | .PP |
280 | 280 | Bind the already-allocated memory identified by (addr, len) to the NUMA node(s) near \fCcpuset\fP. \fBReturns:\fP |
281 | 281 | .RS 4 |
285 | 285 | .RE |
286 | 286 | .PP |
287 | 287 | |
288 | .SS " int hwloc_set_area_membind_nodeset (\fBhwloc_topology_t\fP topology, const void * addr, size_t len, \fBhwloc_const_nodeset_t\fP nodeset, \fBhwloc_membind_policy_t\fP policy, int flags)" | |
288 | .SS " int hwloc_set_area_membind_nodeset (\fBhwloc_topology_t\fPtopology, const void *addr, size_tlen, \fBhwloc_const_nodeset_t\fPnodeset, \fBhwloc_membind_policy_t\fPpolicy, intflags)" | |
289 | 289 | .PP |
290 | 290 | Bind the already-allocated memory identified by (addr, len) to the NUMA node(s) in \fCnodeset\fP. \fBReturns:\fP |
291 | 291 | .RS 4 |
295 | 295 | .RE |
296 | 296 | .PP |
297 | 297 | |
298 | .SS " int hwloc_set_membind (\fBhwloc_topology_t\fP topology, \fBhwloc_const_cpuset_t\fP cpuset, \fBhwloc_membind_policy_t\fP policy, int flags)" | |
298 | .SS " int hwloc_set_membind (\fBhwloc_topology_t\fPtopology, \fBhwloc_const_cpuset_t\fPcpuset, \fBhwloc_membind_policy_t\fPpolicy, intflags)" | |
299 | 299 | .PP |
300 | 300 | Set the default memory binding policy of the current process or thread to prefer the NUMA node(s) near the specified \fCcpuset\fP. If neither HWLOC_MEMBIND_PROCESS nor HWLOC_MEMBIND_THREAD is specified, the current process is assumed to be single-threaded. This is the most portable form as it permits hwloc to use either process-based OS functions or thread-based OS functions, depending on which are available. |
301 | 301 | .PP |
307 | 307 | .RE |
308 | 308 | .PP |
309 | 309 | |
310 | .SS " int hwloc_set_membind_nodeset (\fBhwloc_topology_t\fP topology, \fBhwloc_const_nodeset_t\fP nodeset, \fBhwloc_membind_policy_t\fP policy, int flags)" | |
310 | .SS " int hwloc_set_membind_nodeset (\fBhwloc_topology_t\fPtopology, \fBhwloc_const_nodeset_t\fPnodeset, \fBhwloc_membind_policy_t\fPpolicy, intflags)" | |
311 | 311 | .PP |
312 | 312 | Set the default memory binding policy of the current process or thread to prefer the NUMA node(s) specified by \fCnodeset\fP. If neither HWLOC_MEMBIND_PROCESS nor HWLOC_MEMBIND_THREAD is specified, the current process is assumed to be single-threaded. This is the most portable form as it permits hwloc to use either process-based OS functions or thread-based OS functions, depending on which are available. |
313 | 313 | .PP |
319 | 319 | .RE |
320 | 320 | .PP |
321 | 321 | |
322 | .SS " int hwloc_set_proc_membind (\fBhwloc_topology_t\fP topology, hwloc_pid_t pid, \fBhwloc_const_cpuset_t\fP cpuset, \fBhwloc_membind_policy_t\fP policy, int flags)" | |
322 | .SS " int hwloc_set_proc_membind (\fBhwloc_topology_t\fPtopology, hwloc_pid_tpid, \fBhwloc_const_cpuset_t\fPcpuset, \fBhwloc_membind_policy_t\fPpolicy, intflags)" | |
323 | 323 | .PP |
324 | 324 | Set the default memory binding policy of the specified process to prefer the NUMA node(s) near the specified \fCcpuset\fP. \fBReturns:\fP |
325 | 325 | .RS 4 |
329 | 329 | .RE |
330 | 330 | .PP |
331 | 331 | |
332 | .SS " int hwloc_set_proc_membind_nodeset (\fBhwloc_topology_t\fP topology, hwloc_pid_t pid, \fBhwloc_const_nodeset_t\fP nodeset, \fBhwloc_membind_policy_t\fP policy, int flags)" | |
332 | .SS " int hwloc_set_proc_membind_nodeset (\fBhwloc_topology_t\fPtopology, hwloc_pid_tpid, \fBhwloc_const_nodeset_t\fPnodeset, \fBhwloc_membind_policy_t\fPpolicy, intflags)" | |
333 | 333 | .PP |
334 | 334 | Set the default memory binding policy of the specified process to prefer the NUMA node(s) specified by \fCnodeset\fP. \fBReturns:\fP |
335 | 335 | .RS 4 |
0 | .TH "Myrinet Express-Specific Functions" 3 "Mon Jan 24 2011" "Version 1.1.1" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
0 | .TH "Myrinet Express-Specific Functions" 3 "Wed Apr 6 2011" "Version 1.1.2" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
1 | 1 | .ad l |
2 | 2 | .nh |
3 | 3 | .SH NAME |
14 | 14 | .in -1c |
15 | 15 | .SH "Function Documentation" |
16 | 16 | .PP |
17 | .SS "static inline int hwloc_mx_board_get_device_cpuset (\fBhwloc_topology_t\fP topology, unsigned id, \fBhwloc_cpuset_t\fP set)\fC [static]\fP" | |
17 | .SS "static inline int hwloc_mx_board_get_device_cpuset (\fBhwloc_topology_t\fPtopology, unsignedid, \fBhwloc_cpuset_t\fPset)\fC [static]\fP" | |
18 | 18 | .PP |
19 | 19 | Get the CPU set of logical processors that are physically close the MX board \fCid\fP. For the given Myrinet Express board index \fCid\fP, read the OS-provided NUMA node and return the corresponding CPU set. |
20 | .SS "static inline int hwloc_mx_endpoint_get_device_cpuset (\fBhwloc_topology_t\fP topology, mx_endpoint_t endpoint, \fBhwloc_cpuset_t\fP set)\fC [static]\fP" | |
20 | .SS "static inline int hwloc_mx_endpoint_get_device_cpuset (\fBhwloc_topology_t\fPtopology, mx_endpoint_tendpoint, \fBhwloc_cpuset_t\fPset)\fC [static]\fP" | |
21 | 21 | .PP |
22 | 22 | Get the CPU set of logical processors that are physically close to endpoint \fCendpoint\fP. For the given Myrinet Express endpoint \fCendpoint\fP, read the OS-provided NUMA node and return the corresponding CPU set. |
23 | 23 | .SH "Author" |
0 | .TH "Topology Objects" 3 "Mon Jan 24 2011" "Version 1.1.1" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
0 | .TH "Topology Objects" 3 "Wed Apr 6 2011" "Version 1.1.2" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
1 | 1 | .ad l |
2 | 2 | .nh |
3 | 3 | .SH NAME |
0 | .TH "OpenFabrics-Specific Functions" 3 "Mon Jan 24 2011" "Version 1.1.1" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
0 | .TH "OpenFabrics-Specific Functions" 3 "Wed Apr 6 2011" "Version 1.1.2" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
1 | 1 | .ad l |
2 | 2 | .nh |
3 | 3 | .SH NAME |
11 | 11 | .in -1c |
12 | 12 | .SH "Function Documentation" |
13 | 13 | .PP |
14 | .SS "static inline int hwloc_ibv_get_device_cpuset (\fBhwloc_topology_t\fP topology , struct ibv_device * ibdev, \fBhwloc_cpuset_t\fP set)\fC [static]\fP" | |
14 | .SS "static inline int hwloc_ibv_get_device_cpuset (\fBhwloc_topology_t\fP topology, struct ibv_device *ibdev, \fBhwloc_cpuset_t\fPset)\fC [static]\fP" | |
15 | 15 | .PP |
16 | 16 | Get the CPU set of logical processors that are physically close to device \fCibdev\fP. For the given OpenFabrics device \fCibdev\fP, read the corresponding kernel-provided cpumap file and return the corresponding CPU set. This function is currently only implemented in a meaningful way for Linux; other systems will simply get a full cpuset. |
17 | 17 | .SH "Author" |
0 | .TH "Object sets (hwloc_cpuset_t and hwloc_nodeset_t)" 3 "Mon Jan 24 2011" "Version 1.1.1" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
0 | .TH "Object sets (hwloc_cpuset_t and hwloc_nodeset_t)" 3 "Wed Apr 6 2011" "Version 1.1.2" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
1 | 1 | .ad l |
2 | 2 | .nh |
3 | 3 | .SH NAME |
0 | .TH "Tinker with topologies." 3 "Mon Jan 24 2011" "Version 1.1.1" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
0 | .TH "Tinker with topologies." 3 "Wed Apr 6 2011" "Version 1.1.2" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
1 | 1 | .ad l |
2 | 2 | .nh |
3 | 3 | .SH NAME |
20 | 20 | .in -1c |
21 | 21 | .SH "Function Documentation" |
22 | 22 | .PP |
23 | .SS " void hwloc_topology_export_xml (\fBhwloc_topology_t\fP topology, const char * xmlpath)" | |
23 | .SS " void hwloc_topology_export_xml (\fBhwloc_topology_t\fPtopology, const char *xmlpath)" | |
24 | 24 | .PP |
25 | 25 | Export the topology into an XML file. This file may be loaded later through \fBhwloc_topology_set_xml()\fP. |
26 | .SS " void hwloc_topology_export_xmlbuffer (\fBhwloc_topology_t\fP topology, char ** xmlbuffer, int * buflen)" | |
26 | .SS " void hwloc_topology_export_xmlbuffer (\fBhwloc_topology_t\fPtopology, char **xmlbuffer, int *buflen)" | |
27 | 27 | .PP |
28 | 28 | Export the topology into a newly-allocated XML memory buffer. \fCxmlbuffer\fP is allocated by the callee and should be freed with xmlFree later in the caller. |
29 | 29 | .PP |
30 | 30 | This memory buffer may be loaded later through \fBhwloc_topology_set_xmlbuffer()\fP. |
31 | .SS " \fBhwloc_obj_t\fP hwloc_topology_insert_misc_object_by_cpuset (\fBhwloc_topology_t\fP topology, \fBhwloc_const_cpuset_t\fP cpuset, const char * name)" | |
31 | .SS " \fBhwloc_obj_t\fP hwloc_topology_insert_misc_object_by_cpuset (\fBhwloc_topology_t\fPtopology, \fBhwloc_const_cpuset_t\fPcpuset, const char *name)" | |
32 | 32 | .PP |
33 | 33 | Add a MISC object to the topology. A new MISC object will be created and inserted into the topology at the position given by bitmap \fCcpuset\fP. |
34 | 34 | .PP |
40 | 40 | .RE |
41 | 41 | .PP |
42 | 42 | |
43 | .SS " \fBhwloc_obj_t\fP hwloc_topology_insert_misc_object_by_parent (\fBhwloc_topology_t\fP topology, \fBhwloc_obj_t\fP parent, const char * name)" | |
43 | .SS " \fBhwloc_obj_t\fP hwloc_topology_insert_misc_object_by_parent (\fBhwloc_topology_t\fPtopology, \fBhwloc_obj_t\fPparent, const char *name)" | |
44 | 44 | .PP |
45 | 45 | Add a MISC object to the topology. A new MISC object will be created and inserted into the topology at the position given by parent. |
46 | 46 | .PP |
0 | .TH "Topology context" 3 "Mon Jan 24 2011" "Version 1.1.1" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
0 | .TH "Topology context" 3 "Wed Apr 6 2011" "Version 1.1.2" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
1 | 1 | .ad l |
2 | 2 | .nh |
3 | 3 | .SH NAME |
0 | .TH "Retrieve Objects" 3 "Mon Jan 24 2011" "Version 1.1.1" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
0 | .TH "Retrieve Objects" 3 "Wed Apr 6 2011" "Version 1.1.2" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
1 | 1 | .ad l |
2 | 2 | .nh |
3 | 3 | .SH NAME |
14 | 14 | .in -1c |
15 | 15 | .SH "Function Documentation" |
16 | 16 | .PP |
17 | .SS " \fBhwloc_obj_t\fP hwloc_get_obj_by_depth (\fBhwloc_topology_t\fP topology, unsigned depth, unsigned idx)" | |
17 | .SS " \fBhwloc_obj_t\fP hwloc_get_obj_by_depth (\fBhwloc_topology_t\fPtopology, unsigneddepth, unsignedidx)" | |
18 | 18 | .PP |
19 | 19 | Returns the topology object at index \fCindex\fP from depth \fCdepth\fP. |
20 | .SS "static inline \fBhwloc_obj_t\fP hwloc_get_obj_by_type (\fBhwloc_topology_t\fP topology, \fBhwloc_obj_type_t\fP type, unsigned idx)\fC [static]\fP" | |
20 | .SS "static inline \fBhwloc_obj_t\fP hwloc_get_obj_by_type (\fBhwloc_topology_t\fPtopology, \fBhwloc_obj_type_t\fPtype, unsignedidx)\fC [static]\fP" | |
21 | 21 | .PP |
22 | 22 | Returns the topology object at index \fCindex\fP with type \fCtype\fP. If no object for that type exists, \fCNULL\fP is returned. If there are several levels with objects of that type, \fCNULL\fP is returned and ther caller may fallback to \fBhwloc_get_obj_by_depth()\fP. |
23 | 23 | .SH "Author" |
0 | .TH "Topology Object Types" 3 "Mon Jan 24 2011" "Version 1.1.1" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
0 | .TH "Topology Object Types" 3 "Wed Apr 6 2011" "Version 1.1.2" "Hardware Locality (hwloc)" \" -*- nroff -*- | |
1 | 1 | .ad l |
2 | 2 | .nh |
3 | 3 | .SH NAME |
68 | 68 | Miscellaneous objects. Objects without particular meaning, that can e.g. be added by the application for its own use. |
69 | 69 | .SH "Function Documentation" |
70 | 70 | .PP |
71 | .SS " int hwloc_compare_types (\fBhwloc_obj_type_t\fP type1, \fBhwloc_obj_type_t\fP type2) const" | |
71 | .SS " int hwloc_compare_types (\fBhwloc_obj_type_t\fPtype1, \fBhwloc_obj_type_t\fPtype2) const" | |
72 | 72 | .PP |
73 | 73 | Compare the depth of two object types. Types shouldn't be compared as they are, since newer ones may be added in the future. This function returns less than, equal to, or greater than zero respectively if \fCtype1\fP objects usually include \fCtype2\fP objects, are the same as \fCtype2\fP objects, or are included in \fCtype2\fP objects. If the types can not be compared (because neither is usually contained in the other), HWLOC_TYPE_UNORDERED is returned. Object types containing CPUs can always be compared (usually, a system contains machines which contain nodes which contain sockets which contain caches, which contain cores, which contain processors). |
74 | 74 | .PP |
0 | 0 | /* Example hwloc API program. |
1 | 1 | * |
2 | 2 | * Copyright © 2009-2010 INRIA |
3 | * Copyright © 2009-2010 Université Bordeaux 1 | |
3 | * Copyright © 2009-2011 Université Bordeaux 1 | |
4 | 4 | * Copyright © 2009-2010 Cisco Systems, Inc. All rights reserved. |
5 | 5 | * |
6 | 6 | * hwloc-hello.c |
147 | 147 | n = hwloc_get_nbobjs_by_type(topology, HWLOC_OBJ_NODE); |
148 | 148 | if (n) { |
149 | 149 | void *m; |
150 | size_t size = 1024*1024; | |
150 | size = 1024*1024; | |
151 | 151 | |
152 | 152 | obj = hwloc_get_obj_by_type(topology, HWLOC_OBJ_NODE, n - 1); |
153 | 153 | m = hwloc_alloc_membind_nodeset(topology, size, obj->nodeset, |
720 | 720 | graphical or textual, and can also be exported to numerous file |
721 | 721 | formats such as PDF, PNG, XML, and others. |
722 | 722 | |
723 | It can also display the processes currently bound to a part of the machine (--ps | |
724 | option). | |
725 | ||
723 | 726 | Note that lstopo can read XML files and/or alternate chroot |
724 | 727 | filesystems and display topological maps representing those systems |
725 | 728 | (e.g., use lstopo to output an XML file on one system, and then use |
808 | 811 | This can be used for efficiency reasons to first detect the topology once, |
809 | 812 | save it to an XML file, and quickly reload it later through the XML |
810 | 813 | backend, but still having binding functions actually do bind. |
814 | </dd> | |
815 | ||
816 | <dt>HWLOC_IGNORE_DISTANCES=0</dt> | |
817 | <dd>disables objects grouping based on distances. | |
818 | By default, hwloc uses distance matrices between objects (read | |
819 | from the OS) to find groups of close objects. | |
820 | These groups are described by adding intermediate Group objects in the topology. | |
821 | Setting this environment variable to 1 will disable this grouping. | |
811 | 822 | </dd> |
812 | 823 | |
813 | 824 | </dl> |
0 | %!PS-Adobe-3.0 EPSF-3.0 | |
0 | %!PS-Adobe-2.0 EPSF-2.0 | |
1 | 1 | %%Title: images/diagram.fig |
2 | %%Creator: /opt/local/bin/fig2dev Version 3.2 Patchlevel 5d | |
3 | %%CreationDate: Thu Jan 20 09:04:44 2011 | |
4 | %%For: jsquyres@rtp-jsquyres-8713.cisco.com (Jeffrey Squyres) | |
2 | %%Creator: /usr/bin/fig2dev Version 3.2 Patchlevel 5c | |
3 | %%CreationDate: Wed Apr 6 17:30:24 2011 | |
5 | 4 | %%BoundingBox: 0 0 671 688 |
6 | 5 | %Magnification: 1.0000 |
7 | 6 | %%EndComments |
138 | 137 | % |
139 | 138 | % |
140 | 139 | % here starts figure with depth 50 |
141 | /Times-Roman-iso ff 180.00 scf sf | |
142 | 8775 9090 m | |
143 | gs 1 -1 sc (prev_cousin) col0 sh gr | |
144 | 140 | % Polyline |
145 | 141 | 0 slj |
146 | 142 | 0 slc |
147 | 143 | 7.500 slw |
144 | n 3060 3330 m | |
145 | 4500 3330 l gs col0 s gr | |
146 | % Polyline | |
148 | 147 | n 3165 3060 m 3060 3060 3060 4395 105 arcto 4 {pop} repeat |
149 | 148 | 3060 4500 4395 4500 105 arcto 4 {pop} repeat |
150 | 149 | 4500 4500 4500 3165 105 arcto 4 {pop} repeat |
151 | 150 | 4500 3060 3165 3060 105 arcto 4 {pop} repeat |
152 | 151 | cp gs col0 s gr |
153 | /Times-Roman-iso ff 210.00 scf sf | |
154 | 3150 3285 m | |
155 | gs 1 -1 sc (Socket) col0 sh gr | |
156 | /Times-Roman-iso ff 180.00 scf sf | |
157 | 3150 3510 m | |
158 | gs 1 -1 sc (.depth = 1) col0 sh gr | |
159 | /Times-Roman-iso ff 180.00 scf sf | |
160 | 3150 3735 m | |
161 | gs 1 -1 sc (.logical_index =0) col0 sh gr | |
162 | /Times-Roman-iso ff 180.00 scf sf | |
163 | 3150 3960 m | |
164 | gs 1 -1 sc (.os_index = 0) col0 sh gr | |
165 | /Times-Roman-iso ff 180.00 scf sf | |
166 | 3150 4185 m | |
167 | gs 1 -1 sc (.sibling_rank=0) col0 sh gr | |
168 | /Times-Roman-iso ff 180.00 scf sf | |
169 | 3150 4410 m | |
170 | gs 1 -1 sc (.arity=2) col0 sh gr | |
171 | 152 | % Polyline |
172 | 153 | gs clippath |
173 | 154 | 8279 3630 m 8430 3630 l 8430 3570 l 8279 3570 l 8279 3570 l 8399 3600 l 8279 3630 l cp |
186 | 167 | |
187 | 168 | % arrowhead |
188 | 169 | n 4636 3660 m 4516 3690 l 4636 3720 l 4636 3660 l cp gs 0.00 setgray ef gr col0 s |
189 | /Times-Roman-iso ff 180.00 scf sf | |
190 | 4545 3510 m | |
191 | gs 1 -1 sc (next_sibling) col0 sh gr | |
192 | /Times-Roman-iso ff 180.00 scf sf | |
193 | 7470 3870 m | |
194 | gs 1 -1 sc (prev_sibling) col0 sh gr | |
195 | /Times-Roman-iso ff 180.00 scf sf | |
196 | 8640 2565 m | |
197 | gs 1 -1 sc (last_child) dup sw pop neg 0 rm col0 sh gr | |
198 | /Times-Roman-iso ff 180.00 scf sf | |
199 | 8190 2385 m | |
200 | gs 1 -1 sc (children[1]) dup sw pop neg 0 rm col0 sh gr | |
201 | /Times-Roman-iso ff 180.00 scf sf | |
202 | 2385 4725 m | |
203 | gs 1 -1 sc (children[0]) col0 sh gr | |
204 | /Times-Roman-iso ff 180.00 scf sf | |
205 | 2205 4905 m | |
206 | gs 1 -1 sc (first_child) col0 sh gr | |
207 | /Times-Roman-iso ff 180.00 scf sf | |
208 | 4185 4725 m | |
209 | gs 1 -1 sc (children[1]) col0 sh gr | |
210 | /Times-Roman-iso ff 180.00 scf sf | |
211 | 4455 4905 m | |
212 | gs 1 -1 sc (last_child) col0 sh gr | |
213 | /Times-Roman-iso ff 180.00 scf sf | |
214 | 7785 4725 m | |
215 | gs 1 -1 sc (children[0]) col0 sh gr | |
216 | /Times-Roman-iso ff 180.00 scf sf | |
217 | 7605 4905 m | |
218 | gs 1 -1 sc (first_child) col0 sh gr | |
219 | /Times-Roman-iso ff 180.00 scf sf | |
220 | 9585 4725 m | |
221 | gs 1 -1 sc (children[1]) col0 sh gr | |
222 | /Times-Roman-iso ff 180.00 scf sf | |
223 | 9855 4905 m | |
224 | gs 1 -1 sc (last_child) col0 sh gr | |
225 | /Times-Roman-iso ff 180.00 scf sf | |
226 | 4275 2565 m | |
227 | gs 1 -1 sc (first_child) col0 sh gr | |
228 | /Times-Roman-iso ff 180.00 scf sf | |
229 | 4725 2385 m | |
230 | gs 1 -1 sc (children[0]) col0 sh gr | |
231 | /Times-Roman-iso ff 180.00 scf sf | |
232 | 4770 945 m | |
233 | gs 1 -1 sc (Machine) col4 sh gr | |
234 | /Times-Roman-iso ff 180.00 scf sf | |
235 | 4770 1170 m | |
236 | gs 1 -1 sc (level) col4 sh gr | |
237 | /Times-Roman-iso ff 180.00 scf sf | |
238 | 4770 1395 m | |
239 | gs 1 -1 sc (depth=0) col4 sh gr | |
240 | /Times-Roman-iso ff 180.00 scf sf | |
241 | 2115 3285 m | |
242 | gs 1 -1 sc (Socket) col4 sh gr | |
243 | /Times-Roman-iso ff 180.00 scf sf | |
244 | 2115 3510 m | |
245 | gs 1 -1 sc (level) col4 sh gr | |
246 | /Times-Roman-iso ff 180.00 scf sf | |
247 | 2115 3735 m | |
248 | gs 1 -1 sc (depth=1) col4 sh gr | |
249 | 170 | % Polyline |
250 | 171 | n 9765 5670 m |
251 | 172 | 11205 5670 l gs col0 s gr |
255 | 176 | 11205 6840 11205 5505 105 arcto 4 {pop} repeat |
256 | 177 | 11205 5400 9870 5400 105 arcto 4 {pop} repeat |
257 | 178 | cp gs col0 s gr |
258 | /Times-Roman-iso ff 210.00 scf sf | |
259 | 9855 5625 m | |
260 | gs 1 -1 sc (Cache) col0 sh gr | |
261 | /Times-Roman-iso ff 180.00 scf sf | |
262 | 9855 6750 m | |
263 | gs 1 -1 sc (.arity=1) col0 sh gr | |
264 | /Times-Roman-iso ff 180.00 scf sf | |
265 | 9855 5850 m | |
266 | gs 1 -1 sc (.depth = 2) col0 sh gr | |
267 | /Times-Roman-iso ff 180.00 scf sf | |
268 | 9855 6075 m | |
269 | gs 1 -1 sc (.logical_index = 3) col0 sh gr | |
270 | /Times-Roman-iso ff 180.00 scf sf | |
271 | 9855 6300 m | |
272 | gs 1 -1 sc (.os_index = 1) col0 sh gr | |
273 | /Times-Roman-iso ff 180.00 scf sf | |
274 | 9855 6525 m | |
275 | gs 1 -1 sc (.sibling_rank=1) col0 sh gr | |
276 | 179 | % Polyline |
277 | 180 | gs clippath |
278 | 181 | 9629 5880 m 9780 5880 l 9780 5820 l 9629 5820 l 9629 5820 l 9749 5850 l 9629 5880 l cp |
291 | 194 | |
292 | 195 | % arrowhead |
293 | 196 | n 8641 5910 m 8521 5940 l 8641 5970 l 8641 5910 l cp gs 0.00 setgray ef gr col0 s |
294 | /Times-Roman-iso ff 180.00 scf sf | |
295 | 8550 5760 m | |
296 | gs 1 -1 sc (next_sibling) col0 sh gr | |
297 | /Times-Roman-iso ff 180.00 scf sf | |
298 | 8820 6120 m | |
299 | gs 1 -1 sc (prev_sibling) col0 sh gr | |
300 | 197 | % Polyline |
301 | 198 | gs clippath |
302 | 199 | 9629 6510 m 9780 6510 l 9780 6450 l 9629 6450 l 9629 6450 l 9749 6480 l 9629 6510 l cp |
315 | 212 | |
316 | 213 | % arrowhead |
317 | 214 | n 8641 6540 m 8521 6570 l 8641 6600 l 8641 6540 l cp gs 0.00 setgray ef gr col0 s |
318 | /Times-Roman-iso ff 180.00 scf sf | |
319 | 8550 6390 m | |
320 | gs 1 -1 sc (next_cousin) col0 sh gr | |
321 | /Times-Roman-iso ff 180.00 scf sf | |
322 | 8775 6750 m | |
323 | gs 1 -1 sc (prev_cousin) col0 sh gr | |
324 | 215 | % Polyline |
325 | 216 | gs clippath |
326 | 217 | 4229 5880 m 4380 5880 l 4380 5820 l 4229 5820 l 4229 5820 l 4349 5850 l 4229 5880 l cp |
339 | 230 | |
340 | 231 | % arrowhead |
341 | 232 | n 3241 5910 m 3121 5940 l 3241 5970 l 3241 5910 l cp gs 0.00 setgray ef gr col0 s |
342 | /Times-Roman-iso ff 180.00 scf sf | |
343 | 3150 5760 m | |
344 | gs 1 -1 sc (next_sibling) col0 sh gr | |
345 | /Times-Roman-iso ff 180.00 scf sf | |
346 | 3420 6120 m | |
347 | gs 1 -1 sc (prev_sibling) col0 sh gr | |
348 | 233 | % Polyline |
349 | 234 | gs clippath |
350 | 235 | 4229 6510 m 4380 6510 l 4380 6450 l 4229 6450 l 4229 6450 l 4349 6480 l 4229 6510 l cp |
363 | 248 | |
364 | 249 | % arrowhead |
365 | 250 | n 3241 6540 m 3121 6570 l 3241 6600 l 3241 6540 l cp gs 0.00 setgray ef gr col0 s |
366 | /Times-Roman-iso ff 180.00 scf sf | |
367 | 3150 6390 m | |
368 | gs 1 -1 sc (next_cousin) col0 sh gr | |
369 | /Times-Roman-iso ff 180.00 scf sf | |
370 | 3375 6750 m | |
371 | gs 1 -1 sc (prev_cousin) col0 sh gr | |
372 | 251 | % Polyline |
373 | 252 | gs clippath |
374 | 253 | 6929 6510 m 7080 6510 l 7080 6450 l 6929 6450 l 6929 6450 l 7049 6480 l 6929 6510 l cp |
387 | 266 | |
388 | 267 | % arrowhead |
389 | 268 | n 5941 6540 m 5821 6570 l 5941 6600 l 5941 6540 l cp gs 0.00 setgray ef gr col0 s |
390 | /Times-Roman-iso ff 180.00 scf sf | |
391 | 5850 6390 m | |
392 | gs 1 -1 sc (next_cousin) col0 sh gr | |
393 | /Times-Roman-iso ff 180.00 scf sf | |
394 | 6075 6750 m | |
395 | gs 1 -1 sc (prev_cousin) col0 sh gr | |
396 | /Times-Roman-iso ff 180.00 scf sf | |
397 | 765 5625 m | |
398 | gs 1 -1 sc (Cache) col4 sh gr | |
399 | /Times-Roman-iso ff 180.00 scf sf | |
400 | 765 5850 m | |
401 | gs 1 -1 sc (level) col4 sh gr | |
402 | /Times-Roman-iso ff 180.00 scf sf | |
403 | 765 6075 m | |
404 | gs 1 -1 sc (depth=2) col4 sh gr | |
405 | /Times-Roman-iso ff 180.00 scf sf | |
406 | 4230 7290 m | |
407 | gs 1 -1 sc (first_child) col0 sh gr | |
408 | /Times-Roman-iso ff 180.00 scf sf | |
409 | 4230 7515 m | |
410 | gs 1 -1 sc (last_child) col0 sh gr | |
411 | /Times-Roman-iso ff 180.00 scf sf | |
412 | 4230 7065 m | |
413 | gs 1 -1 sc (children[0]) col0 sh gr | |
414 | /Times-Roman-iso ff 180.00 scf sf | |
415 | 6930 7290 m | |
416 | gs 1 -1 sc (first_child) col0 sh gr | |
417 | /Times-Roman-iso ff 180.00 scf sf | |
418 | 6930 7515 m | |
419 | gs 1 -1 sc (last_child) col0 sh gr | |
420 | /Times-Roman-iso ff 180.00 scf sf | |
421 | 6930 7065 m | |
422 | gs 1 -1 sc (children[0]) col0 sh gr | |
423 | /Times-Roman-iso ff 180.00 scf sf | |
424 | 1530 7290 m | |
425 | gs 1 -1 sc (first_child) col0 sh gr | |
426 | /Times-Roman-iso ff 180.00 scf sf | |
427 | 1530 7515 m | |
428 | gs 1 -1 sc (last_child) col0 sh gr | |
429 | /Times-Roman-iso ff 180.00 scf sf | |
430 | 1530 7065 m | |
431 | gs 1 -1 sc (children[0]) col0 sh gr | |
432 | /Times-Roman-iso ff 180.00 scf sf | |
433 | 9630 7290 m | |
434 | gs 1 -1 sc (first_child) col0 sh gr | |
435 | /Times-Roman-iso ff 180.00 scf sf | |
436 | 9630 7515 m | |
437 | gs 1 -1 sc (last_child) col0 sh gr | |
438 | /Times-Roman-iso ff 180.00 scf sf | |
439 | 9630 7065 m | |
440 | gs 1 -1 sc (children[0]) col0 sh gr | |
441 | 269 | % Polyline |
442 | 270 | n 9765 8010 m |
443 | 271 | 11205 8010 l gs col0 s gr |
447 | 275 | 11205 9180 11205 7845 105 arcto 4 {pop} repeat |
448 | 276 | 11205 7740 9870 7740 105 arcto 4 {pop} repeat |
449 | 277 | cp gs col0 s gr |
450 | /Times-Roman-iso ff 210.00 scf sf | |
451 | 9855 7965 m | |
452 | gs 1 -1 sc (Core) col0 sh gr | |
453 | /Times-Roman-iso ff 180.00 scf sf | |
454 | 9855 9090 m | |
455 | gs 1 -1 sc (.arity=1) col0 sh gr | |
456 | /Times-Roman-iso ff 180.00 scf sf | |
457 | 9855 8190 m | |
458 | gs 1 -1 sc (.depth = 3) col0 sh gr | |
459 | /Times-Roman-iso ff 180.00 scf sf | |
460 | 9855 8415 m | |
461 | gs 1 -1 sc (.logical_index = 3) col0 sh gr | |
462 | /Times-Roman-iso ff 180.00 scf sf | |
463 | 9855 8640 m | |
464 | gs 1 -1 sc (.os_index = 1) col0 sh gr | |
465 | /Times-Roman-iso ff 180.00 scf sf | |
466 | 9855 8865 m | |
467 | gs 1 -1 sc (.sibling_rank=0) col0 sh gr | |
468 | 278 | % Polyline |
469 | 279 | gs clippath |
470 | 280 | 6929 8850 m 7080 8850 l 7080 8790 l 6929 8790 l 6929 8790 l 7049 8820 l 6929 8850 l cp |
483 | 293 | |
484 | 294 | % arrowhead |
485 | 295 | n 5941 8880 m 5821 8910 l 5941 8940 l 5941 8880 l cp gs 0.00 setgray ef gr col0 s |
486 | /Times-Roman-iso ff 180.00 scf sf | |
487 | 5850 8730 m | |
488 | gs 1 -1 sc (next_cousin) col0 sh gr | |
489 | /Times-Roman-iso ff 180.00 scf sf | |
490 | 6075 9090 m | |
491 | gs 1 -1 sc (prev_cousin) col0 sh gr | |
492 | /Times-Roman-iso ff 180.00 scf sf | |
493 | 765 7965 m | |
494 | gs 1 -1 sc (Core) col4 sh gr | |
495 | /Times-Roman-iso ff 180.00 scf sf | |
496 | 765 8190 m | |
497 | gs 1 -1 sc (level) col4 sh gr | |
498 | /Times-Roman-iso ff 180.00 scf sf | |
499 | 765 8415 m | |
500 | gs 1 -1 sc (depth=3) col4 sh gr | |
501 | /Times-Roman-iso ff 180.00 scf sf | |
502 | 4230 9630 m | |
503 | gs 1 -1 sc (first_child) col0 sh gr | |
504 | /Times-Roman-iso ff 180.00 scf sf | |
505 | 4230 9855 m | |
506 | gs 1 -1 sc (last_child) col0 sh gr | |
507 | /Times-Roman-iso ff 180.00 scf sf | |
508 | 4230 9405 m | |
509 | gs 1 -1 sc (children[0]) col0 sh gr | |
510 | /Times-Roman-iso ff 180.00 scf sf | |
511 | 6930 9630 m | |
512 | gs 1 -1 sc (first_child) col0 sh gr | |
513 | /Times-Roman-iso ff 180.00 scf sf | |
514 | 6930 9855 m | |
515 | gs 1 -1 sc (last_child) col0 sh gr | |
516 | /Times-Roman-iso ff 180.00 scf sf | |
517 | 6930 9405 m | |
518 | gs 1 -1 sc (children[0]) col0 sh gr | |
519 | /Times-Roman-iso ff 180.00 scf sf | |
520 | 1530 9630 m | |
521 | gs 1 -1 sc (first_child) col0 sh gr | |
522 | /Times-Roman-iso ff 180.00 scf sf | |
523 | 1530 9855 m | |
524 | gs 1 -1 sc (last_child) col0 sh gr | |
525 | /Times-Roman-iso ff 180.00 scf sf | |
526 | 1530 9405 m | |
527 | gs 1 -1 sc (children[0]) col0 sh gr | |
528 | /Times-Roman-iso ff 180.00 scf sf | |
529 | 9630 9630 m | |
530 | gs 1 -1 sc (first_child) col0 sh gr | |
531 | /Times-Roman-iso ff 180.00 scf sf | |
532 | 9630 9855 m | |
533 | gs 1 -1 sc (last_child) col0 sh gr | |
534 | /Times-Roman-iso ff 180.00 scf sf | |
535 | 9630 9405 m | |
536 | gs 1 -1 sc (children[0]) col0 sh gr | |
537 | 296 | % Polyline |
538 | 297 | n 9765 10350 m |
539 | 298 | 11205 10350 l gs col0 s gr |
543 | 302 | 11205 11520 11205 10185 105 arcto 4 {pop} repeat |
544 | 303 | 11205 10080 9870 10080 105 arcto 4 {pop} repeat |
545 | 304 | cp gs col0 s gr |
546 | /Times-Roman-iso ff 180.00 scf sf | |
547 | 9855 10980 m | |
548 | gs 1 -1 sc (.os_index = 3) col0 sh gr | |
549 | /Times-Roman-iso ff 210.00 scf sf | |
550 | 9855 10305 m | |
551 | gs 1 -1 sc (PU) col0 sh gr | |
552 | /Times-Roman-iso ff 180.00 scf sf | |
553 | 9855 11205 m | |
554 | gs 1 -1 sc (.sibling_rank=0) col0 sh gr | |
555 | /Times-Roman-iso ff 180.00 scf sf | |
556 | 9855 11430 m | |
557 | gs 1 -1 sc (.arity=0) col0 sh gr | |
558 | /Times-Roman-iso ff 180.00 scf sf | |
559 | 9855 10530 m | |
560 | gs 1 -1 sc (.depth = 4) col0 sh gr | |
561 | /Times-Roman-iso ff 180.00 scf sf | |
562 | 9855 10755 m | |
563 | gs 1 -1 sc (.logical_index = 3) col0 sh gr | |
564 | 305 | % Polyline |
565 | 306 | gs clippath |
566 | 307 | 4229 11190 m 4380 11190 l 4380 11130 l 4229 11130 l 4229 11130 l 4349 11160 l 4229 11190 l cp |
579 | 320 | |
580 | 321 | % arrowhead |
581 | 322 | n 3241 11220 m 3121 11250 l 3241 11280 l 3241 11220 l cp gs 0.00 setgray ef gr col0 s |
582 | /Times-Roman-iso ff 180.00 scf sf | |
583 | 3150 11070 m | |
584 | gs 1 -1 sc (next_cousin) col0 sh gr | |
585 | /Times-Roman-iso ff 180.00 scf sf | |
586 | 3375 11430 m | |
587 | gs 1 -1 sc (prev_cousin) col0 sh gr | |
588 | 323 | % Polyline |
589 | 324 | gs clippath |
590 | 325 | 6929 11190 m 7080 11190 l 7080 11130 l 6929 11130 l 6929 11130 l 7049 11160 l 6929 11190 l cp |
603 | 338 | |
604 | 339 | % arrowhead |
605 | 340 | n 5941 11220 m 5821 11250 l 5941 11280 l 5941 11220 l cp gs 0.00 setgray ef gr col0 s |
606 | /Times-Roman-iso ff 180.00 scf sf | |
607 | 5850 11070 m | |
608 | gs 1 -1 sc (next_cousin) col0 sh gr | |
609 | /Times-Roman-iso ff 180.00 scf sf | |
610 | 6075 11430 m | |
611 | gs 1 -1 sc (prev_cousin) col0 sh gr | |
612 | 341 | % Polyline |
613 | 342 | gs clippath |
614 | 343 | 9629 11190 m 9780 11190 l 9780 11130 l 9629 11130 l 9629 11130 l 9749 11160 l 9629 11190 l cp |
627 | 356 | |
628 | 357 | % arrowhead |
629 | 358 | n 8641 11220 m 8521 11250 l 8641 11280 l 8641 11220 l cp gs 0.00 setgray ef gr col0 s |
630 | /Times-Roman-iso ff 180.00 scf sf | |
631 | 8550 11070 m | |
632 | gs 1 -1 sc (next_cousin) col0 sh gr | |
633 | /Times-Roman-iso ff 180.00 scf sf | |
634 | 8775 11430 m | |
635 | gs 1 -1 sc (prev_cousin) col0 sh gr | |
636 | /Times-Roman-iso ff 180.00 scf sf | |
637 | 765 10305 m | |
638 | gs 1 -1 sc (PU) col4 sh gr | |
639 | /Times-Roman-iso ff 180.00 scf sf | |
640 | 765 10530 m | |
641 | gs 1 -1 sc (level) col4 sh gr | |
642 | /Times-Roman-iso ff 180.00 scf sf | |
643 | 765 10755 m | |
644 | gs 1 -1 sc (depth=4) col4 sh gr | |
645 | 359 | % Polyline |
646 | 360 | n 5715 990 m |
647 | 361 | 7155 990 l gs col0 s gr |
1062 | 776 | |
1063 | 777 | % arrowhead |
1064 | 778 | n 8641 8880 m 8521 8910 l 8641 8940 l 8641 8880 l cp gs 0.00 setgray ef gr col0 s |
779 | /Times-Roman-iso ff 210.00 scf sf | |
780 | 3150 3285 m | |
781 | gs 1 -1 sc (Socket) col0 sh gr | |
782 | /Times-Roman-iso ff 180.00 scf sf | |
783 | 3150 3510 m | |
784 | gs 1 -1 sc (.depth = 1) col0 sh gr | |
785 | /Times-Roman-iso ff 180.00 scf sf | |
786 | 3150 3735 m | |
787 | gs 1 -1 sc (.logical_index =0) col0 sh gr | |
788 | /Times-Roman-iso ff 180.00 scf sf | |
789 | 3150 3960 m | |
790 | gs 1 -1 sc (.os_index = 0) col0 sh gr | |
791 | /Times-Roman-iso ff 180.00 scf sf | |
792 | 3150 4185 m | |
793 | gs 1 -1 sc (.sibling_rank=0) col0 sh gr | |
794 | /Times-Roman-iso ff 180.00 scf sf | |
795 | 3150 4410 m | |
796 | gs 1 -1 sc (.arity=2) col0 sh gr | |
797 | /Times-Roman-iso ff 180.00 scf sf | |
798 | 4545 3510 m | |
799 | gs 1 -1 sc (next_sibling) col0 sh gr | |
800 | /Times-Roman-iso ff 180.00 scf sf | |
801 | 7470 3870 m | |
802 | gs 1 -1 sc (prev_sibling) col0 sh gr | |
803 | /Times-Roman-iso ff 180.00 scf sf | |
804 | 8640 2565 m | |
805 | gs 1 -1 sc (last_child) dup sw pop neg 0 rm col0 sh gr | |
806 | /Times-Roman-iso ff 180.00 scf sf | |
807 | 8190 2385 m | |
808 | gs 1 -1 sc (children[1]) dup sw pop neg 0 rm col0 sh gr | |
809 | /Times-Roman-iso ff 180.00 scf sf | |
810 | 2385 4725 m | |
811 | gs 1 -1 sc (children[0]) col0 sh gr | |
812 | /Times-Roman-iso ff 180.00 scf sf | |
813 | 2205 4905 m | |
814 | gs 1 -1 sc (first_child) col0 sh gr | |
815 | /Times-Roman-iso ff 180.00 scf sf | |
816 | 4185 4725 m | |
817 | gs 1 -1 sc (children[1]) col0 sh gr | |
818 | /Times-Roman-iso ff 180.00 scf sf | |
819 | 4455 4905 m | |
820 | gs 1 -1 sc (last_child) col0 sh gr | |
821 | /Times-Roman-iso ff 180.00 scf sf | |
822 | 7785 4725 m | |
823 | gs 1 -1 sc (children[0]) col0 sh gr | |
824 | /Times-Roman-iso ff 180.00 scf sf | |
825 | 7605 4905 m | |
826 | gs 1 -1 sc (first_child) col0 sh gr | |
827 | /Times-Roman-iso ff 180.00 scf sf | |
828 | 9585 4725 m | |
829 | gs 1 -1 sc (children[1]) col0 sh gr | |
830 | /Times-Roman-iso ff 180.00 scf sf | |
831 | 9855 4905 m | |
832 | gs 1 -1 sc (last_child) col0 sh gr | |
833 | /Times-Roman-iso ff 180.00 scf sf | |
834 | 4275 2565 m | |
835 | gs 1 -1 sc (first_child) col0 sh gr | |
836 | /Times-Roman-iso ff 180.00 scf sf | |
837 | 4725 2385 m | |
838 | gs 1 -1 sc (children[0]) col0 sh gr | |
839 | /Times-Roman-iso ff 180.00 scf sf | |
840 | 4770 945 m | |
841 | gs 1 -1 sc (Machine) col4 sh gr | |
842 | /Times-Roman-iso ff 180.00 scf sf | |
843 | 4770 1170 m | |
844 | gs 1 -1 sc (level) col4 sh gr | |
845 | /Times-Roman-iso ff 180.00 scf sf | |
846 | 4770 1395 m | |
847 | gs 1 -1 sc (depth=0) col4 sh gr | |
848 | /Times-Roman-iso ff 180.00 scf sf | |
849 | 2115 3285 m | |
850 | gs 1 -1 sc (Socket) col4 sh gr | |
851 | /Times-Roman-iso ff 180.00 scf sf | |
852 | 2115 3510 m | |
853 | gs 1 -1 sc (level) col4 sh gr | |
854 | /Times-Roman-iso ff 180.00 scf sf | |
855 | 2115 3735 m | |
856 | gs 1 -1 sc (depth=1) col4 sh gr | |
857 | /Times-Roman-iso ff 210.00 scf sf | |
858 | 9855 5625 m | |
859 | gs 1 -1 sc (Cache) col0 sh gr | |
860 | /Times-Roman-iso ff 180.00 scf sf | |
861 | 9855 6750 m | |
862 | gs 1 -1 sc (.arity=1) col0 sh gr | |
863 | /Times-Roman-iso ff 180.00 scf sf | |
864 | 9855 5850 m | |
865 | gs 1 -1 sc (.depth = 2) col0 sh gr | |
866 | /Times-Roman-iso ff 180.00 scf sf | |
867 | 9855 6075 m | |
868 | gs 1 -1 sc (.logical_index = 3) col0 sh gr | |
869 | /Times-Roman-iso ff 180.00 scf sf | |
870 | 9855 6300 m | |
871 | gs 1 -1 sc (.os_index = 1) col0 sh gr | |
872 | /Times-Roman-iso ff 180.00 scf sf | |
873 | 9855 6525 m | |
874 | gs 1 -1 sc (.sibling_rank=1) col0 sh gr | |
875 | /Times-Roman-iso ff 180.00 scf sf | |
876 | 8550 5760 m | |
877 | gs 1 -1 sc (next_sibling) col0 sh gr | |
878 | /Times-Roman-iso ff 180.00 scf sf | |
879 | 8820 6120 m | |
880 | gs 1 -1 sc (prev_sibling) col0 sh gr | |
881 | /Times-Roman-iso ff 180.00 scf sf | |
882 | 8550 6390 m | |
883 | gs 1 -1 sc (next_cousin) col0 sh gr | |
884 | /Times-Roman-iso ff 180.00 scf sf | |
885 | 8775 6750 m | |
886 | gs 1 -1 sc (prev_cousin) col0 sh gr | |
887 | /Times-Roman-iso ff 180.00 scf sf | |
888 | 3150 5760 m | |
889 | gs 1 -1 sc (next_sibling) col0 sh gr | |
890 | /Times-Roman-iso ff 180.00 scf sf | |
891 | 3420 6120 m | |
892 | gs 1 -1 sc (prev_sibling) col0 sh gr | |
893 | /Times-Roman-iso ff 180.00 scf sf | |
894 | 3150 6390 m | |
895 | gs 1 -1 sc (next_cousin) col0 sh gr | |
896 | /Times-Roman-iso ff 180.00 scf sf | |
897 | 3375 6750 m | |
898 | gs 1 -1 sc (prev_cousin) col0 sh gr | |
899 | /Times-Roman-iso ff 180.00 scf sf | |
900 | 5850 6390 m | |
901 | gs 1 -1 sc (next_cousin) col0 sh gr | |
902 | /Times-Roman-iso ff 180.00 scf sf | |
903 | 6075 6750 m | |
904 | gs 1 -1 sc (prev_cousin) col0 sh gr | |
905 | /Times-Roman-iso ff 180.00 scf sf | |
906 | 765 5625 m | |
907 | gs 1 -1 sc (Cache) col4 sh gr | |
908 | /Times-Roman-iso ff 180.00 scf sf | |
909 | 765 5850 m | |
910 | gs 1 -1 sc (level) col4 sh gr | |
911 | /Times-Roman-iso ff 180.00 scf sf | |
912 | 765 6075 m | |
913 | gs 1 -1 sc (depth=2) col4 sh gr | |
914 | /Times-Roman-iso ff 180.00 scf sf | |
915 | 4230 7290 m | |
916 | gs 1 -1 sc (first_child) col0 sh gr | |
917 | /Times-Roman-iso ff 180.00 scf sf | |
918 | 4230 7515 m | |
919 | gs 1 -1 sc (last_child) col0 sh gr | |
920 | /Times-Roman-iso ff 180.00 scf sf | |
921 | 4230 7065 m | |
922 | gs 1 -1 sc (children[0]) col0 sh gr | |
923 | /Times-Roman-iso ff 180.00 scf sf | |
924 | 6930 7290 m | |
925 | gs 1 -1 sc (first_child) col0 sh gr | |
926 | /Times-Roman-iso ff 180.00 scf sf | |
927 | 6930 7515 m | |
928 | gs 1 -1 sc (last_child) col0 sh gr | |
929 | /Times-Roman-iso ff 180.00 scf sf | |
930 | 6930 7065 m | |
931 | gs 1 -1 sc (children[0]) col0 sh gr | |
932 | /Times-Roman-iso ff 180.00 scf sf | |
933 | 1530 7290 m | |
934 | gs 1 -1 sc (first_child) col0 sh gr | |
935 | /Times-Roman-iso ff 180.00 scf sf | |
936 | 1530 7515 m | |
937 | gs 1 -1 sc (last_child) col0 sh gr | |
938 | /Times-Roman-iso ff 180.00 scf sf | |
939 | 1530 7065 m | |
940 | gs 1 -1 sc (children[0]) col0 sh gr | |
941 | /Times-Roman-iso ff 180.00 scf sf | |
942 | 9630 7290 m | |
943 | gs 1 -1 sc (first_child) col0 sh gr | |
944 | /Times-Roman-iso ff 180.00 scf sf | |
945 | 9630 7515 m | |
946 | gs 1 -1 sc (last_child) col0 sh gr | |
947 | /Times-Roman-iso ff 180.00 scf sf | |
948 | 9630 7065 m | |
949 | gs 1 -1 sc (children[0]) col0 sh gr | |
950 | /Times-Roman-iso ff 210.00 scf sf | |
951 | 9855 7965 m | |
952 | gs 1 -1 sc (Core) col0 sh gr | |
953 | /Times-Roman-iso ff 180.00 scf sf | |
954 | 9855 9090 m | |
955 | gs 1 -1 sc (.arity=1) col0 sh gr | |
956 | /Times-Roman-iso ff 180.00 scf sf | |
957 | 9855 8190 m | |
958 | gs 1 -1 sc (.depth = 3) col0 sh gr | |
959 | /Times-Roman-iso ff 180.00 scf sf | |
960 | 9855 8415 m | |
961 | gs 1 -1 sc (.logical_index = 3) col0 sh gr | |
962 | /Times-Roman-iso ff 180.00 scf sf | |
963 | 9855 8640 m | |
964 | gs 1 -1 sc (.os_index = 1) col0 sh gr | |
965 | /Times-Roman-iso ff 180.00 scf sf | |
966 | 9855 8865 m | |
967 | gs 1 -1 sc (.sibling_rank=0) col0 sh gr | |
968 | /Times-Roman-iso ff 180.00 scf sf | |
969 | 5850 8730 m | |
970 | gs 1 -1 sc (next_cousin) col0 sh gr | |
971 | /Times-Roman-iso ff 180.00 scf sf | |
972 | 6075 9090 m | |
973 | gs 1 -1 sc (prev_cousin) col0 sh gr | |
974 | /Times-Roman-iso ff 180.00 scf sf | |
975 | 765 7965 m | |
976 | gs 1 -1 sc (Core) col4 sh gr | |
977 | /Times-Roman-iso ff 180.00 scf sf | |
978 | 765 8190 m | |
979 | gs 1 -1 sc (level) col4 sh gr | |
980 | /Times-Roman-iso ff 180.00 scf sf | |
981 | 765 8415 m | |
982 | gs 1 -1 sc (depth=3) col4 sh gr | |
983 | /Times-Roman-iso ff 180.00 scf sf | |
984 | 4230 9630 m | |
985 | gs 1 -1 sc (first_child) col0 sh gr | |
986 | /Times-Roman-iso ff 180.00 scf sf | |
987 | 4230 9855 m | |
988 | gs 1 -1 sc (last_child) col0 sh gr | |
989 | /Times-Roman-iso ff 180.00 scf sf | |
990 | 4230 9405 m | |
991 | gs 1 -1 sc (children[0]) col0 sh gr | |
992 | /Times-Roman-iso ff 180.00 scf sf | |
993 | 6930 9630 m | |
994 | gs 1 -1 sc (first_child) col0 sh gr | |
995 | /Times-Roman-iso ff 180.00 scf sf | |
996 | 6930 9855 m | |
997 | gs 1 -1 sc (last_child) col0 sh gr | |
998 | /Times-Roman-iso ff 180.00 scf sf | |
999 | 6930 9405 m | |
1000 | gs 1 -1 sc (children[0]) col0 sh gr | |
1001 | /Times-Roman-iso ff 180.00 scf sf | |
1002 | 1530 9630 m | |
1003 | gs 1 -1 sc (first_child) col0 sh gr | |
1004 | /Times-Roman-iso ff 180.00 scf sf | |
1005 | 1530 9855 m | |
1006 | gs 1 -1 sc (last_child) col0 sh gr | |
1007 | /Times-Roman-iso ff 180.00 scf sf | |
1008 | 1530 9405 m | |
1009 | gs 1 -1 sc (children[0]) col0 sh gr | |
1010 | /Times-Roman-iso ff 180.00 scf sf | |
1011 | 9630 9630 m | |
1012 | gs 1 -1 sc (first_child) col0 sh gr | |
1013 | /Times-Roman-iso ff 180.00 scf sf | |
1014 | 9630 9855 m | |
1015 | gs 1 -1 sc (last_child) col0 sh gr | |
1016 | /Times-Roman-iso ff 180.00 scf sf | |
1017 | 9630 9405 m | |
1018 | gs 1 -1 sc (children[0]) col0 sh gr | |
1019 | /Times-Roman-iso ff 180.00 scf sf | |
1020 | 9855 10980 m | |
1021 | gs 1 -1 sc (.os_index = 3) col0 sh gr | |
1022 | /Times-Roman-iso ff 210.00 scf sf | |
1023 | 9855 10305 m | |
1024 | gs 1 -1 sc (PU) col0 sh gr | |
1025 | /Times-Roman-iso ff 180.00 scf sf | |
1026 | 9855 11205 m | |
1027 | gs 1 -1 sc (.sibling_rank=0) col0 sh gr | |
1028 | /Times-Roman-iso ff 180.00 scf sf | |
1029 | 9855 11430 m | |
1030 | gs 1 -1 sc (.arity=0) col0 sh gr | |
1031 | /Times-Roman-iso ff 180.00 scf sf | |
1032 | 9855 10530 m | |
1033 | gs 1 -1 sc (.depth = 4) col0 sh gr | |
1034 | /Times-Roman-iso ff 180.00 scf sf | |
1035 | 9855 10755 m | |
1036 | gs 1 -1 sc (.logical_index = 3) col0 sh gr | |
1037 | /Times-Roman-iso ff 180.00 scf sf | |
1038 | 3150 11070 m | |
1039 | gs 1 -1 sc (next_cousin) col0 sh gr | |
1040 | /Times-Roman-iso ff 180.00 scf sf | |
1041 | 3375 11430 m | |
1042 | gs 1 -1 sc (prev_cousin) col0 sh gr | |
1043 | /Times-Roman-iso ff 180.00 scf sf | |
1044 | 5850 11070 m | |
1045 | gs 1 -1 sc (next_cousin) col0 sh gr | |
1046 | /Times-Roman-iso ff 180.00 scf sf | |
1047 | 6075 11430 m | |
1048 | gs 1 -1 sc (prev_cousin) col0 sh gr | |
1049 | /Times-Roman-iso ff 180.00 scf sf | |
1050 | 8550 11070 m | |
1051 | gs 1 -1 sc (next_cousin) col0 sh gr | |
1052 | /Times-Roman-iso ff 180.00 scf sf | |
1053 | 8775 11430 m | |
1054 | gs 1 -1 sc (prev_cousin) col0 sh gr | |
1055 | /Times-Roman-iso ff 180.00 scf sf | |
1056 | 765 10305 m | |
1057 | gs 1 -1 sc (PU) col4 sh gr | |
1058 | /Times-Roman-iso ff 180.00 scf sf | |
1059 | 765 10530 m | |
1060 | gs 1 -1 sc (level) col4 sh gr | |
1061 | /Times-Roman-iso ff 180.00 scf sf | |
1062 | 765 10755 m | |
1063 | gs 1 -1 sc (depth=4) col4 sh gr | |
1065 | 1064 | /Times-Roman-iso ff 180.00 scf sf |
1066 | 1065 | 8415 2970 m |
1067 | 1066 | gs 1 -1 sc (parent) dup sw pop neg 0 rm col0 sh gr |
1317 | 1316 | /Times-Roman-iso ff 180.00 scf sf |
1318 | 1317 | 8550 8730 m |
1319 | 1318 | gs 1 -1 sc (next_cousin) col0 sh gr |
1320 | % Polyline | |
1321 | n 3060 3330 m | |
1322 | 4500 3330 l gs col0 s gr | |
1319 | /Times-Roman-iso ff 180.00 scf sf | |
1320 | 8775 9090 m | |
1321 | gs 1 -1 sc (prev_cousin) col0 sh gr | |
1323 | 1322 | % here ends figure; |
1324 | 1323 | pagefooter |
1325 | 1324 | showpage |
Binary diff not shown
0 | # Copyright © 2009-2010 INRIA | |
0 | # Copyright © 2009-2011 INRIA. All rights reserved. | |
1 | 1 | # Copyright © 2009-2010 Université Bordeaux 1 |
2 | # Copyright © 2009-2010 Cisco Systems, Inc. All rights reserved. | |
2 | # Copyright © 2009-2011 Cisco Systems, Inc. All rights reserved. | |
3 | # See COPYING in top-level directory. | |
3 | 4 | |
4 | 5 | # Only install the headers if we're in standalone mode (meaning: |
5 | 6 | # *don't* install the headers if we're in embedded mode). |
16 | 17 | hwloc/cuda.h \ |
17 | 18 | hwloc/cudart.h \ |
18 | 19 | hwloc/rename.h |
19 | nodist_include_hwloc_HEADERS = hwloc/config.h | |
20 | include_hwloc_autogendir = $(includedir)/hwloc/autogen | |
21 | nodist_include_hwloc_autogen_HEADERS = hwloc/autogen/config.h | |
20 | 22 | |
21 | 23 | noinst_HEADERS = \ |
22 | 24 | private/private.h \ |
14 | 14 | |
15 | 15 | @SET_MAKE@ |
16 | 16 | |
17 | # Copyright © 2009-2010 INRIA | |
17 | # Copyright © 2009-2011 INRIA. All rights reserved. | |
18 | 18 | # Copyright © 2009-2010 Université Bordeaux 1 |
19 | # Copyright © 2009-2010 Cisco Systems, Inc. All rights reserved. | |
19 | # Copyright © 2009-2011 Cisco Systems, Inc. All rights reserved. | |
20 | # See COPYING in top-level directory. | |
20 | 21 | |
21 | 22 | # Only install the headers if we're in standalone mode (meaning: |
22 | 23 | # *don't* install the headers if we're in embedded mode). |
64 | 65 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ |
65 | 66 | $(ACLOCAL_M4) |
66 | 67 | mkinstalldirs = $(install_sh) -d |
67 | CONFIG_HEADER = $(top_builddir)/include/private/config.h \ | |
68 | $(top_builddir)/include/hwloc/config.h | |
68 | CONFIG_HEADER = $(top_builddir)/include/private/autogen/config.h \ | |
69 | $(top_builddir)/include/hwloc/autogen/config.h | |
69 | 70 | CONFIG_CLEAN_FILES = |
70 | 71 | CONFIG_CLEAN_VPATH_FILES = |
71 | 72 | AM_V_GEN = $(am__v_GEN_$(V)) |
100 | 101 | sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' |
101 | 102 | am__installdirs = "$(DESTDIR)$(includedir)" \ |
102 | 103 | "$(DESTDIR)$(include_hwlocdir)" \ |
103 | "$(DESTDIR)$(include_hwlocdir)" | |
104 | "$(DESTDIR)$(include_hwloc_autogendir)" | |
104 | 105 | am__include_hwloc_HEADERS_DIST = hwloc/bitmap.h hwloc/cpuset.h \ |
105 | 106 | hwloc/helper.h hwloc/myriexpress.h hwloc/openfabrics-verbs.h \ |
106 | 107 | hwloc/cuda.h hwloc/cudart.h hwloc/rename.h hwloc/linux.h \ |
108 | 109 | am__noinst_HEADERS_DIST = private/private.h private/debug.h \ |
109 | 110 | private/misc.h private/cpuid.h |
110 | 111 | HEADERS = $(include_HEADERS) $(include_hwloc_HEADERS) \ |
111 | $(nodist_include_hwloc_HEADERS) $(noinst_HEADERS) | |
112 | $(nodist_include_hwloc_autogen_HEADERS) $(noinst_HEADERS) | |
112 | 113 | ETAGS = etags |
113 | 114 | CTAGS = ctags |
114 | 115 | DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) |
287 | 288 | @HWLOC_BUILD_STANDALONE_TRUE@ hwloc/cuda.h hwloc/cudart.h \ |
288 | 289 | @HWLOC_BUILD_STANDALONE_TRUE@ hwloc/rename.h $(am__append_1) \ |
289 | 290 | @HWLOC_BUILD_STANDALONE_TRUE@ $(am__append_2) |
290 | @HWLOC_BUILD_STANDALONE_TRUE@nodist_include_hwloc_HEADERS = hwloc/config.h | |
291 | @HWLOC_BUILD_STANDALONE_TRUE@include_hwloc_autogendir = $(includedir)/hwloc/autogen | |
292 | @HWLOC_BUILD_STANDALONE_TRUE@nodist_include_hwloc_autogen_HEADERS = hwloc/autogen/config.h | |
291 | 293 | @HWLOC_BUILD_STANDALONE_TRUE@noinst_HEADERS = \ |
292 | 294 | @HWLOC_BUILD_STANDALONE_TRUE@ private/private.h \ |
293 | 295 | @HWLOC_BUILD_STANDALONE_TRUE@ private/debug.h \ |
373 | 375 | test -n "$$files" || exit 0; \ |
374 | 376 | echo " ( cd '$(DESTDIR)$(include_hwlocdir)' && rm -f" $$files ")"; \ |
375 | 377 | cd "$(DESTDIR)$(include_hwlocdir)" && rm -f $$files |
376 | install-nodist_include_hwlocHEADERS: $(nodist_include_hwloc_HEADERS) | |
378 | install-nodist_include_hwloc_autogenHEADERS: $(nodist_include_hwloc_autogen_HEADERS) | |
377 | 379 | @$(NORMAL_INSTALL) |
378 | test -z "$(include_hwlocdir)" || $(MKDIR_P) "$(DESTDIR)$(include_hwlocdir)" | |
379 | @list='$(nodist_include_hwloc_HEADERS)'; test -n "$(include_hwlocdir)" || list=; \ | |
380 | test -z "$(include_hwloc_autogendir)" || $(MKDIR_P) "$(DESTDIR)$(include_hwloc_autogendir)" | |
381 | @list='$(nodist_include_hwloc_autogen_HEADERS)'; test -n "$(include_hwloc_autogendir)" || list=; \ | |
380 | 382 | for p in $$list; do \ |
381 | 383 | if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ |
382 | 384 | echo "$$d$$p"; \ |
383 | 385 | done | $(am__base_list) | \ |
384 | 386 | while read files; do \ |
385 | echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(include_hwlocdir)'"; \ | |
386 | $(INSTALL_HEADER) $$files "$(DESTDIR)$(include_hwlocdir)" || exit $$?; \ | |
387 | echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(include_hwloc_autogendir)'"; \ | |
388 | $(INSTALL_HEADER) $$files "$(DESTDIR)$(include_hwloc_autogendir)" || exit $$?; \ | |
387 | 389 | done |
388 | 390 | |
389 | uninstall-nodist_include_hwlocHEADERS: | |
391 | uninstall-nodist_include_hwloc_autogenHEADERS: | |
390 | 392 | @$(NORMAL_UNINSTALL) |
391 | @list='$(nodist_include_hwloc_HEADERS)'; test -n "$(include_hwlocdir)" || list=; \ | |
393 | @list='$(nodist_include_hwloc_autogen_HEADERS)'; test -n "$(include_hwloc_autogendir)" || list=; \ | |
392 | 394 | files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ |
393 | 395 | test -n "$$files" || exit 0; \ |
394 | echo " ( cd '$(DESTDIR)$(include_hwlocdir)' && rm -f" $$files ")"; \ | |
395 | cd "$(DESTDIR)$(include_hwlocdir)" && rm -f $$files | |
396 | echo " ( cd '$(DESTDIR)$(include_hwloc_autogendir)' && rm -f" $$files ")"; \ | |
397 | cd "$(DESTDIR)$(include_hwloc_autogendir)" && rm -f $$files | |
396 | 398 | |
397 | 399 | ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) |
398 | 400 | list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ |
480 | 482 | check: check-am |
481 | 483 | all-am: Makefile $(HEADERS) |
482 | 484 | installdirs: |
483 | for dir in "$(DESTDIR)$(includedir)" "$(DESTDIR)$(include_hwlocdir)" "$(DESTDIR)$(include_hwlocdir)"; do \ | |
485 | for dir in "$(DESTDIR)$(includedir)" "$(DESTDIR)$(include_hwlocdir)" "$(DESTDIR)$(include_hwloc_autogendir)"; do \ | |
484 | 486 | test -z "$$dir" || $(MKDIR_P) "$$dir"; \ |
485 | 487 | done |
486 | 488 | install: install-am |
529 | 531 | info-am: |
530 | 532 | |
531 | 533 | install-data-am: install-includeHEADERS install-include_hwlocHEADERS \ |
532 | install-nodist_include_hwlocHEADERS | |
534 | install-nodist_include_hwloc_autogenHEADERS | |
533 | 535 | |
534 | 536 | install-dvi: install-dvi-am |
535 | 537 | |
574 | 576 | ps-am: |
575 | 577 | |
576 | 578 | uninstall-am: uninstall-includeHEADERS uninstall-include_hwlocHEADERS \ |
577 | uninstall-nodist_include_hwlocHEADERS | |
579 | uninstall-nodist_include_hwloc_autogenHEADERS | |
578 | 580 | |
579 | 581 | .MAKE: install-am install-strip |
580 | 582 | |
586 | 588 | install-exec-am install-html install-html-am \ |
587 | 589 | install-includeHEADERS install-include_hwlocHEADERS \ |
588 | 590 | install-info install-info-am install-man \ |
589 | install-nodist_include_hwlocHEADERS install-pdf install-pdf-am \ | |
590 | install-ps install-ps-am install-strip installcheck \ | |
591 | installcheck-am installdirs maintainer-clean \ | |
591 | install-nodist_include_hwloc_autogenHEADERS install-pdf \ | |
592 | install-pdf-am install-ps install-ps-am install-strip \ | |
593 | installcheck installcheck-am installdirs maintainer-clean \ | |
592 | 594 | maintainer-clean-generic mostlyclean mostlyclean-generic \ |
593 | 595 | mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \ |
594 | 596 | uninstall-am uninstall-includeHEADERS \ |
595 | 597 | uninstall-include_hwlocHEADERS \ |
596 | uninstall-nodist_include_hwlocHEADERS | |
598 | uninstall-nodist_include_hwloc_autogenHEADERS | |
597 | 599 | |
598 | 600 | |
599 | 601 | # Tell versions [3.59,3.63) of GNU make to not export all variables. |
0 | /* -*- c -*- | |
1 | * Copyright © 2009 CNRS | |
2 | * Copyright © 2009-2010 INRIA | |
3 | * Copyright © 2009-2011 Université Bordeaux 1 | |
4 | * Copyright © 2009-2011 Cisco Systems, Inc. All rights reserved. | |
5 | * See COPYING in top-level directory. | |
6 | */ | |
7 | ||
8 | /* The configuration file */ | |
9 | ||
10 | #ifndef HWLOC_CONFIG_H | |
11 | #define HWLOC_CONFIG_H | |
12 | ||
13 | #if (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95)) | |
14 | # define __hwloc_restrict __restrict | |
15 | #else | |
16 | # if __STDC_VERSION__ >= 199901L | |
17 | # define __hwloc_restrict restrict | |
18 | # else | |
19 | # define __hwloc_restrict | |
20 | # endif | |
21 | #endif | |
22 | ||
23 | #undef __hwloc_inline | |
24 | ||
25 | /* | |
26 | * Note: this is public. We can not assume anything from the compiler used | |
27 | * by the application and thus the HWLOC_HAVE_* macros below are not | |
28 | * fetched from the autoconf result here. We only automatically use a few | |
29 | * well-known easy cases. | |
30 | */ | |
31 | ||
32 | /* Maybe before gcc 2.95 too */ | |
33 | #if defined(HWLOC_HAVE_ATTRIBUTE_UNUSED) || (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95)) | |
34 | # if (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95)) || HWLOC_HAVE_ATTRIBUTE_UNUSED | |
35 | # define __hwloc_attribute_unused __attribute__((__unused__)) | |
36 | # else | |
37 | # define __hwloc_attribute_unused | |
38 | # endif | |
39 | #else | |
40 | # define __hwloc_attribute_unused | |
41 | #endif | |
42 | ||
43 | #if defined(HWLOC_HAVE_ATTRIBUTE_MALLOC) || (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)) | |
44 | # if (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)) || HWLOC_HAVE_ATTRIBUTE_MALLOC | |
45 | # define __hwloc_attribute_malloc __attribute__((__malloc__)) | |
46 | # else | |
47 | # define __hwloc_attribute_malloc | |
48 | # endif | |
49 | #else | |
50 | # define __hwloc_attribute_malloc | |
51 | #endif | |
52 | ||
53 | #if defined(HWLOC_HAVE_ATTRIBUTE_CONST) || (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95)) | |
54 | # if (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95)) || HWLOC_HAVE_ATTRIBUTE_CONST | |
55 | # define __hwloc_attribute_const __attribute__((__const__)) | |
56 | # else | |
57 | # define __hwloc_attribute_const | |
58 | # endif | |
59 | #else | |
60 | # define __hwloc_attribute_const | |
61 | #endif | |
62 | ||
63 | #if defined(HWLOC_HAVE_ATTRIBUTE_PURE) || (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)) | |
64 | # if (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)) || HWLOC_HAVE_ATTRIBUTE_PURE | |
65 | # define __hwloc_attribute_pure __attribute__((__pure__)) | |
66 | # else | |
67 | # define __hwloc_attribute_pure | |
68 | # endif | |
69 | #else | |
70 | # define __hwloc_attribute_pure | |
71 | #endif | |
72 | ||
73 | #if defined(HWLOC_HAVE_ATTRIBUTE_DEPRECATED) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3)) | |
74 | # if (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3)) || HWLOC_HAVE_ATTRIBUTE_DEPRECATED | |
75 | # define __hwloc_attribute_deprecated __attribute__((__deprecated__)) | |
76 | # else | |
77 | # define __hwloc_attribute_deprecated | |
78 | # endif | |
79 | #else | |
80 | # define __hwloc_attribute_deprecated | |
81 | #endif | |
82 | ||
83 | #ifdef HWLOC_C_HAVE_VISIBILITY | |
84 | # if HWLOC_C_HAVE_VISIBILITY | |
85 | # define HWLOC_DECLSPEC __attribute__((__visibility__("default"))) | |
86 | # else | |
87 | # define HWLOC_DECLSPEC | |
88 | # endif | |
89 | #else | |
90 | # define HWLOC_DECLSPEC | |
91 | #endif | |
92 | ||
93 | /* Defined to 1 on Linux */ | |
94 | #undef HWLOC_LINUX_SYS | |
95 | ||
96 | /* Defined to 1 if the CPU_SET macro works */ | |
97 | #undef HWLOC_HAVE_CPU_SET | |
98 | ||
99 | /* Defined to 1 if you have the `windows.h' header. */ | |
100 | #undef HWLOC_HAVE_WINDOWS_H | |
101 | #undef hwloc_pid_t | |
102 | #undef hwloc_thread_t | |
103 | ||
104 | #ifdef HWLOC_HAVE_WINDOWS_H | |
105 | ||
106 | # include <windows.h> | |
107 | typedef DWORDLONG hwloc_uint64_t; | |
108 | ||
109 | #else /* HWLOC_HAVE_WINDOWS_H */ | |
110 | ||
111 | # ifdef hwloc_thread_t | |
112 | # include <pthread.h> | |
113 | # endif /* hwloc_thread_t */ | |
114 | ||
115 | /* Defined to 1 if you have the <stdint.h> header file. */ | |
116 | # undef HWLOC_HAVE_STDINT_H | |
117 | ||
118 | # include <unistd.h> | |
119 | # ifdef HWLOC_HAVE_STDINT_H | |
120 | # include <stdint.h> | |
121 | # endif | |
122 | typedef uint64_t hwloc_uint64_t; | |
123 | ||
124 | #endif /* HWLOC_HAVE_WINDOWS_H */ | |
125 | ||
126 | /* Whether we need to re-define all the hwloc public symbols or not */ | |
127 | #undef HWLOC_SYM_TRANSFORM | |
128 | ||
129 | /* The hwloc symbol prefix */ | |
130 | #undef HWLOC_SYM_PREFIX | |
131 | ||
132 | /* The hwloc symbol prefix in all caps */ | |
133 | #undef HWLOC_SYM_PREFIX_CAPS | |
134 | ||
135 | #endif /* HWLOC_CONFIG_H */ |
0 | 0 | /* |
1 | 1 | * Copyright © 2009 CNRS |
2 | * Copyright © 2009-2010 INRIA | |
2 | * Copyright © 2009-2011 INRIA. All rights reserved. | |
3 | 3 | * Copyright © 2009-2010 Université Bordeaux 1 |
4 | * Copyright © 2009-2010 Cisco Systems, Inc. All rights reserved. | |
4 | * Copyright © 2009-2011 Cisco Systems, Inc. All rights reserved. | |
5 | 5 | * See COPYING in top-level directory. |
6 | 6 | */ |
7 | 7 | |
12 | 12 | #ifndef HWLOC_BITMAP_H |
13 | 13 | #define HWLOC_BITMAP_H |
14 | 14 | |
15 | #include <hwloc/config.h> | |
15 | #include <hwloc/autogen/config.h> | |
16 | 16 | #include <assert.h> |
17 | 17 | |
18 | 18 | |
52 | 52 | |
53 | 53 | /** \brief Allocate a new empty bitmap. |
54 | 54 | * |
55 | * \returns A valid bitmap or NULL. | |
55 | * \returns A valid bitmap or \c NULL. | |
56 | 56 | * |
57 | 57 | * The bitmap should be freed by a corresponding call to |
58 | * hwloc_bitmap_free(). */ | |
58 | * hwloc_bitmap_free(). | |
59 | */ | |
59 | 60 | HWLOC_DECLSPEC hwloc_bitmap_t hwloc_bitmap_alloc(void) __hwloc_attribute_malloc; |
60 | 61 | |
61 | 62 | /** \brief Allocate a new full bitmap. */ |
62 | 63 | HWLOC_DECLSPEC hwloc_bitmap_t hwloc_bitmap_alloc_full(void) __hwloc_attribute_malloc; |
63 | 64 | |
64 | /** \brief Free bitmap \p bitmap */ | |
65 | /** \brief Free bitmap \p bitmap. | |
66 | * | |
67 | * If \p bitmap is \c NULL, no operation is performed. | |
68 | */ | |
65 | 69 | HWLOC_DECLSPEC void hwloc_bitmap_free(hwloc_bitmap_t bitmap); |
66 | 70 | |
67 | 71 | /** \brief Duplicate bitmap \p bitmap by allocating a new bitmap and copying \p bitmap contents */ |
147 | 151 | /** \brief Add index \p id in bitmap \p bitmap */ |
148 | 152 | HWLOC_DECLSPEC void hwloc_bitmap_set(hwloc_bitmap_t bitmap, unsigned id); |
149 | 153 | |
150 | /** \brief Add indexess from \p begin to \p end in bitmap \p bitmap */ | |
154 | /** \brief Add indexes from \p begin to \p end in bitmap \p bitmap. */ | |
151 | 155 | HWLOC_DECLSPEC void hwloc_bitmap_set_range(hwloc_bitmap_t bitmap, unsigned begin, unsigned end); |
152 | 156 | |
153 | 157 | /** \brief Replace \p i -th subset of bitmap \p bitmap with unsigned long \p mask */ |
156 | 160 | /** \brief Remove index \p id from bitmap \p bitmap */ |
157 | 161 | HWLOC_DECLSPEC void hwloc_bitmap_clr(hwloc_bitmap_t bitmap, unsigned id); |
158 | 162 | |
159 | /** \brief Remove index from \p begin to \p end in bitmap \p bitmap */ | |
163 | /** \brief Remove indexes from \p begin to \p end in bitmap \p bitmap. */ | |
160 | 164 | HWLOC_DECLSPEC void hwloc_bitmap_clr_range(hwloc_bitmap_t bitmap, unsigned begin, unsigned end); |
161 | 165 | |
162 | 166 | /** \brief Keep a single index among those set in bitmap \p bitmap |
0 | /* -*- c -*- | |
1 | * Copyright © 2009 CNRS | |
2 | * Copyright © 2009-2010 INRIA | |
3 | * Copyright © 2009-2010 Université Bordeaux 1 | |
4 | * Copyright © 2009 Cisco Systems, Inc. All rights reserved. | |
5 | * See COPYING in top-level directory. | |
6 | */ | |
7 | ||
8 | /* The configuration file */ | |
9 | ||
10 | #ifndef HWLOC_CONFIG_H | |
11 | #define HWLOC_CONFIG_H | |
12 | ||
13 | #if (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95)) | |
14 | # define __hwloc_restrict __restrict | |
15 | #else | |
16 | # if __STDC_VERSION__ >= 199901L | |
17 | # define __hwloc_restrict restrict | |
18 | # else | |
19 | # define __hwloc_restrict | |
20 | # endif | |
21 | #endif | |
22 | ||
23 | #undef __hwloc_inline | |
24 | ||
25 | /* | |
26 | * Note: this is public. We can not assume anything from the compiler used | |
27 | * by the application and thus the HWLOC_HAVE_* macros below are not | |
28 | * fetched from the autoconf result here. We only automatically use a few | |
29 | * well-known easy cases. | |
30 | */ | |
31 | ||
32 | /* Maybe before gcc 2.95 too */ | |
33 | #if defined(HWLOC_HAVE_ATTRIBUTE_UNUSED) || (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95)) | |
34 | # if (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95)) || HWLOC_HAVE_ATTRIBUTE_UNUSED | |
35 | # define __hwloc_attribute_unused __attribute__((__unused__)) | |
36 | # else | |
37 | # define __hwloc_attribute_unused | |
38 | # endif | |
39 | #else | |
40 | # define __hwloc_attribute_unused | |
41 | #endif | |
42 | ||
43 | #if defined(HWLOC_HAVE_ATTRIBUTE_MALLOC) || (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)) | |
44 | # if (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)) || HWLOC_HAVE_ATTRIBUTE_MALLOC | |
45 | # define __hwloc_attribute_malloc __attribute__((__malloc__)) | |
46 | # else | |
47 | # define __hwloc_attribute_malloc | |
48 | # endif | |
49 | #else | |
50 | # define __hwloc_attribute_malloc | |
51 | #endif | |
52 | ||
53 | #if defined(HWLOC_HAVE_ATTRIBUTE_CONST) || (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95)) | |
54 | # if (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95)) || HWLOC_HAVE_ATTRIBUTE_CONST | |
55 | # define __hwloc_attribute_const __attribute__((__const__)) | |
56 | # else | |
57 | # define __hwloc_attribute_const | |
58 | # endif | |
59 | #else | |
60 | # define __hwloc_attribute_const | |
61 | #endif | |
62 | ||
63 | #if defined(HWLOC_HAVE_ATTRIBUTE_PURE) || (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)) | |
64 | # if (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 96)) || HWLOC_HAVE_ATTRIBUTE_PURE | |
65 | # define __hwloc_attribute_pure __attribute__((__pure__)) | |
66 | # else | |
67 | # define __hwloc_attribute_pure | |
68 | # endif | |
69 | #else | |
70 | # define __hwloc_attribute_pure | |
71 | #endif | |
72 | ||
73 | #if defined(HWLOC_HAVE_ATTRIBUTE_DEPRECATED) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3)) | |
74 | # if (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3)) || HWLOC_HAVE_ATTRIBUTE_DEPRECATED | |
75 | # define __hwloc_attribute_deprecated __attribute__((__deprecated__)) | |
76 | # else | |
77 | # define __hwloc_attribute_deprecated | |
78 | # endif | |
79 | #else | |
80 | # define __hwloc_attribute_deprecated | |
81 | #endif | |
82 | ||
83 | #ifdef HWLOC_C_HAVE_VISIBILITY | |
84 | # if HWLOC_C_HAVE_VISIBILITY | |
85 | # define HWLOC_DECLSPEC __attribute__((__visibility__("default"))) | |
86 | # else | |
87 | # define HWLOC_DECLSPEC | |
88 | # endif | |
89 | #else | |
90 | # define HWLOC_DECLSPEC | |
91 | #endif | |
92 | ||
93 | /* Defined to 1 on Linux */ | |
94 | #undef HWLOC_LINUX_SYS | |
95 | ||
96 | /* Defined to 1 if the CPU_SET macro works */ | |
97 | #undef HWLOC_HAVE_CPU_SET | |
98 | ||
99 | /* Defined to 1 if you have the <stdint.h> header file. */ | |
100 | #undef HWLOC_HAVE_STDINT_H | |
101 | ||
102 | #include <unistd.h> | |
103 | ||
104 | /* Defined to 1 if you have the `windows.h' header. */ | |
105 | #undef HWLOC_HAVE_WINDOWS_H | |
106 | #undef hwloc_pid_t | |
107 | #undef hwloc_thread_t | |
108 | ||
109 | #ifdef HWLOC_HAVE_WINDOWS_H | |
110 | # include <windows.h> | |
111 | #else /* HWLOC_HAVE_WINDOWS_H */ | |
112 | # ifdef hwloc_thread_t | |
113 | # include <pthread.h> | |
114 | # endif /* hwloc_thread_t */ | |
115 | #endif /* HWLOC_HAVE_WINDOWS_H */ | |
116 | ||
117 | /* Whether we need to re-define all the hwloc public symbols or not */ | |
118 | #undef HWLOC_SYM_TRANSFORM | |
119 | ||
120 | /* The hwloc symbol prefix */ | |
121 | #undef HWLOC_SYM_PREFIX | |
122 | ||
123 | /* The hwloc symbol prefix in all caps */ | |
124 | #undef HWLOC_SYM_PREFIX_CAPS | |
125 | ||
126 | #endif /* HWLOC_CONFIG_H */ |
0 | 0 | /* |
1 | 1 | * Copyright © 2010 INRIA |
2 | 2 | * Copyright © 2010 Université Bordeaux 1 |
3 | * Copyright © 2011 Cisco Systems, Inc. All rights reserved. | |
3 | 4 | * See COPYING in top-level directory. |
4 | 5 | */ |
5 | 6 | |
15 | 16 | #define HWLOC_CUDA_H |
16 | 17 | |
17 | 18 | #include <hwloc.h> |
18 | #include <hwloc/config.h> | |
19 | #include <hwloc/autogen/config.h> | |
19 | 20 | #include <hwloc/linux.h> |
20 | 21 | |
21 | 22 | #include <cuda.h> |
0 | 0 | /* |
1 | 1 | * Copyright © 2010 INRIA |
2 | 2 | * Copyright © 2010 Université Bordeaux 1 |
3 | * Copyright © 2011 Cisco Systems, Inc. All rights reserved. | |
3 | 4 | * See COPYING in top-level directory. |
4 | 5 | */ |
5 | 6 | |
15 | 16 | #define HWLOC_CUDART_H |
16 | 17 | |
17 | 18 | #include <hwloc.h> |
18 | #include <hwloc/config.h> | |
19 | #include <hwloc/autogen/config.h> | |
19 | 20 | #include <hwloc/linux.h> |
20 | 21 | |
21 | 22 | #include <cuda_runtime_api.h> |
0 | 0 | /* |
1 | 1 | * Copyright © 2009 CNRS |
2 | * Copyright © 2009-2010 INRIA | |
3 | * Copyright © 2009-2010 Université Bordeaux 1 | |
2 | * Copyright © 2009-2011 INRIA. All rights reserved. | |
3 | * Copyright © 2009-2011 Université Bordeaux 1 | |
4 | 4 | * See COPYING in top-level directory. |
5 | 5 | */ |
6 | 6 | |
19 | 19 | #include <hwloc/helper.h> |
20 | 20 | #include <assert.h> |
21 | 21 | |
22 | #if !defined _GNU_SOURCE || !defined _SCHED_H | |
23 | #error sched.h must be included with _GNU_SOURCE defined | |
22 | #if !defined _GNU_SOURCE || !defined _SCHED_H || !defined CPU_SETSIZE | |
23 | #error Please make sure to include sched.h before including glibc-sched.h, and define _GNU_SOURCE before any inclusion of sched.h | |
24 | 24 | #endif |
25 | 25 | |
26 | 26 |
0 | 0 | /* |
1 | 1 | * Copyright © 2009 CNRS |
2 | * Copyright © 2009-2010 INRIA | |
2 | * Copyright © 2009-2011 INRIA. All rights reserved. | |
3 | 3 | * Copyright © 2009-2010 Université Bordeaux 1 |
4 | 4 | * Copyright © 2009-2010 Cisco Systems, Inc. All rights reserved. |
5 | 5 | * See COPYING in top-level directory. |
201 | 201 | return obj1; |
202 | 202 | } |
203 | 203 | |
204 | /** \brief Returns true if _obj_ is inside the subtree beginning | |
205 | with \p subtree_root. */ | |
204 | /** \brief Returns true if \p obj is inside the subtree beginning with \p subtree_root. | |
205 | * | |
206 | * \note This function assumes that both \p obj and \p subtree_root have a \p cpuset. | |
207 | */ | |
206 | 208 | static __hwloc_inline int __hwloc_attribute_pure |
207 | 209 | hwloc_obj_is_in_subtree (hwloc_topology_t topology __hwloc_attribute_unused, hwloc_obj_t obj, hwloc_obj_t subtree_root) |
208 | 210 | { |
0 | 0 | /* |
1 | 1 | * Copyright © 2010 INRIA |
2 | * Copyright © 2011 Cisco Systems, Inc. All rights reserved. | |
2 | 3 | * See COPYING in top-level directory. |
3 | 4 | */ |
4 | 5 | |
14 | 15 | #define HWLOC_MYRIEXPRESS_H |
15 | 16 | |
16 | 17 | #include <hwloc.h> |
17 | #include <hwloc/config.h> | |
18 | #include <hwloc/autogen/config.h> | |
18 | 19 | #include <hwloc/linux.h> |
19 | 20 | |
20 | 21 | #include <myriexpress.h> |
1 | 1 | * Copyright © 2009 CNRS |
2 | 2 | * Copyright © 2009-2010 INRIA |
3 | 3 | * Copyright © 2009-2010 Université Bordeaux 1 |
4 | * Copyright © 2009 Cisco Systems, Inc. All rights reserved. | |
4 | * Copyright © 2009-2011 Cisco Systems, Inc. All rights reserved. | |
5 | 5 | * See COPYING in top-level directory. |
6 | 6 | */ |
7 | 7 | |
19 | 19 | #define HWLOC_OPENFABRICS_VERBS_H |
20 | 20 | |
21 | 21 | #include <hwloc.h> |
22 | #include <hwloc/config.h> | |
22 | #include <hwloc/autogen/config.h> | |
23 | 23 | #include <hwloc/linux.h> |
24 | 24 | |
25 | 25 | #include <infiniband/verbs.h> |
0 | 0 | /* |
1 | * Copyright © 2009-2010 Cisco Systems, Inc. All rights reserved. | |
1 | * Copyright © 2009-2011 Cisco Systems, Inc. All rights reserved. | |
2 | 2 | * See COPYING in top-level directory. |
3 | 3 | */ |
4 | 4 | |
5 | 5 | #ifndef HWLOC_RENAME_H |
6 | 6 | #define HWLOC_RENAME_H |
7 | 7 | |
8 | #include <hwloc/config.h> | |
8 | #include <hwloc/autogen/config.h> | |
9 | 9 | |
10 | 10 | |
11 | 11 | #ifdef __cplusplus |
57 | 57 | |
58 | 58 | #define hwloc_obj_type_t HWLOC_NAME(obj_type_t) |
59 | 59 | |
60 | #define hwloc_compare_types_e HWLOC_NAME(compare_types_e) | |
60 | 61 | #define hwloc_compare_types HWLOC_NAME(compare_types) |
61 | 62 | |
62 | 63 | #define HWLOC_TYPE_UNORDERED HWLOC_NAME_CAPS(TYPE_UNORDERED) |
63 | 64 | |
64 | 65 | #define hwloc_obj_memory_s HWLOC_NAME(obj_memory_s) |
66 | #define hwloc_obj_memory_page_type_s HWLOC_NAME(obj_memory_page_type_s) | |
67 | #define hwloc_obj_info_s HWLOC_NAME(hwloc_obj_info_s) | |
65 | 68 | |
66 | 69 | #define hwloc_obj HWLOC_NAME(obj) |
67 | 70 | #define hwloc_obj_t HWLOC_NAME(obj_t) |
68 | 71 | |
69 | 72 | #define hwloc_obj_attr_u HWLOC_NAME(obj_attr_u) |
70 | 73 | #define hwloc_cache_attr_s HWLOC_NAME(cache_attr_s) |
71 | #define hwloc_memory_attr_s HWLOC_NAME(cache_memory_s) | |
72 | #define hwloc_machine_attr_s HWLOC_NAME(cache_machine_s) | |
73 | #define hwloc_misc_attr_s HWLOC_NAME(cache_misc_s) | |
74 | #define hwloc_group_attr_s HWLOC_NAME(group_attr_s) | |
74 | 75 | |
75 | 76 | #define hwloc_topology_init HWLOC_NAME(topology_init) |
76 | 77 | #define hwloc_topology_load HWLOC_NAME(topology_load) |
90 | 91 | #define hwloc_topology_set_pid HWLOC_NAME(topology_set_pid) |
91 | 92 | #define hwloc_topology_set_synthetic HWLOC_NAME(topology_set_synthetic) |
92 | 93 | #define hwloc_topology_set_xml HWLOC_NAME(topology_set_xml) |
93 | ||
94 | #define hwloc_topology_set_xmlbuffer HWLOC_NAME(topology_set_xmlbuffer) | |
95 | ||
96 | #define hwloc_topology_discovery_support HWLOC_NAME(topology_discovery_support) | |
97 | #define hwloc_topology_cpubind_support HWLOC_NAME(topology_cpubind_support) | |
98 | #define hwloc_topology_membind_support HWLOC_NAME(topology_membind_support) | |
94 | 99 | #define hwloc_topology_support HWLOC_NAME(topology_support) |
95 | 100 | #define hwloc_topology_get_support HWLOC_NAME(topology_get_support) |
96 | 101 | #define hwloc_topology_export_xml HWLOC_NAME(topology_export_xml) |
102 | #define hwloc_topology_export_xmlbuffer HWLOC_NAME(topology_export_xmlbuffer) | |
97 | 103 | |
98 | 104 | #define hwloc_topology_insert_misc_object_by_cpuset HWLOC_NAME(topology_insert_misc_object_by_cpuset) |
99 | 105 | #define hwloc_topology_insert_misc_object_by_parent HWLOC_NAME(topology_insert_misc_object_by_parent) |
101 | 107 | #define hwloc_topology_get_depth HWLOC_NAME(topology_get_depth) |
102 | 108 | #define hwloc_get_type_depth HWLOC_NAME(get_type_depth) |
103 | 109 | |
110 | #define hwloc_get_type_depth_e HWLOC_NAME(get_type_depth_e) | |
104 | 111 | #define HWLOC_TYPE_DEPTH_UNKNOWN HWLOC_NAME_CAPS(TYPE_DEPTH_UNKNOWN) |
105 | 112 | #define HWLOC_TYPE_DEPTH_MULTIPLE HWLOC_NAME_CAPS(TYPE_DEPTH_MULTIPLE) |
106 | 113 | |
124 | 131 | #define HWLOC_CPUBIND_PROCESS HWLOC_NAME_CAPS(CPUBIND_PROCESS) |
125 | 132 | #define HWLOC_CPUBIND_THREAD HWLOC_NAME_CAPS(CPUBIND_THREAD) |
126 | 133 | #define HWLOC_CPUBIND_STRICT HWLOC_NAME_CAPS(CPUBIND_STRICT) |
134 | #define HWLOC_CPUBIND_NOMEMBIND HWLOC_NAME_CAPS(CPUBIND_NOMEMBIND) | |
127 | 135 | |
128 | 136 | #define hwloc_cpubind_flags_t HWLOC_NAME(cpubind_flags_t) |
129 | 137 | |
140 | 148 | #define HWLOC_MEMBIND_INTERLEAVE HWLOC_NAME_CAPS(MEMBIND_INTERLEAVE) |
141 | 149 | #define HWLOC_MEMBIND_REPLICATE HWLOC_NAME_CAPS(MEMBIND_REPLICATE) |
142 | 150 | #define HWLOC_MEMBIND_NEXTTOUCH HWLOC_NAME_CAPS(MEMBIND_NEXTTOUCH) |
151 | #define HWLOC_MEMBIND_MIXED HWLOC_NAME_CAPS(MEMBIND_MIXED) | |
143 | 152 | |
144 | 153 | #define hwloc_membind_policy_t HWLOC_NAME(membind_policy_t) |
145 | 154 | |
176 | 185 | #define hwloc_const_bitmap_t HWLOC_NAME(const_bitmap_t) |
177 | 186 | |
178 | 187 | #define hwloc_bitmap_alloc HWLOC_NAME(bitmap_alloc) |
188 | #define hwloc_bitmap_alloc_full HWLOC_NAME(bitmap_alloc_full) | |
179 | 189 | #define hwloc_bitmap_free HWLOC_NAME(bitmap_free) |
180 | 190 | #define hwloc_bitmap_dup HWLOC_NAME(bitmap_dup) |
181 | 191 | #define hwloc_bitmap_copy HWLOC_NAME(bitmap_copy) |
243 | 253 | #define hwloc_cpuset_all_but_cpu HWLOC_NAME(cpuset_all_but_cpu) |
244 | 254 | #define hwloc_cpuset_set HWLOC_NAME(cpuset_set) |
245 | 255 | #define hwloc_cpuset_set_range HWLOC_NAME(cpuset_set_range) |
256 | #define hwloc_cpuset_set_ith_ulong HWLOC_NAME(cpuset_set_ith_ulong) | |
246 | 257 | #define hwloc_cpuset_clr HWLOC_NAME(cpuset_clr) |
247 | 258 | #define hwloc_cpuset_clr_range HWLOC_NAME(cpuset_clr_range) |
248 | 259 | #define hwloc_cpuset_isset HWLOC_NAME(cpuset_isset) |
296 | 307 | #define hwloc_get_obj_below_by_type HWLOC_NAME(get_obj_below_by_type) |
297 | 308 | #define hwloc_get_obj_below_array_by_type HWLOC_NAME(get_obj_below_array_by_type) |
298 | 309 | #define hwloc_distribute HWLOC_NAME(distribute) |
310 | #define hwloc_distributev HWLOC_NAME(distributev) | |
299 | 311 | #define hwloc_topology_get_complete_cpuset HWLOC_NAME(topology_get_complete_cpuset) |
300 | 312 | #define hwloc_topology_get_topology_cpuset HWLOC_NAME(topology_get_topology_cpuset) |
301 | 313 | #define hwloc_topology_get_online_cpuset HWLOC_NAME(topology_get_online_cpuset) |
307 | 319 | #define hwloc_cpuset_to_nodeset_strict HWLOC_NAME(cpuset_to_nodeset_strict) |
308 | 320 | #define hwloc_cpuset_from_nodeset HWLOC_NAME(cpuset_from_nodeset) |
309 | 321 | #define hwloc_cpuset_from_nodeset_strict HWLOC_NAME(cpuset_from_nodeset_strict) |
322 | #define hwloc_alloc_membind_policy HWLOC_NAME(alloc_membind_policy) | |
323 | #define hwloc_alloc_membind_policy_nodeset HWLOC_NAME(alloc_membind_policy_nodeset) | |
310 | 324 | |
311 | 325 | /* glibc-sched.h */ |
312 | 326 | |
316 | 330 | /* linux-libnuma.h */ |
317 | 331 | |
318 | 332 | #define hwloc_cpuset_to_linux_libnuma_ulongs HWLOC_NAME(cpuset_to_linux_libnuma_ulongs) |
333 | #define hwloc_nodeset_to_linux_libnuma_ulongs HWLOC_NAME(nodeset_to_linux_libnuma_ulongs) | |
319 | 334 | #define hwloc_cpuset_from_linux_libnuma_ulongs HWLOC_NAME(cpuset_from_linux_libnuma_ulongs) |
335 | #define hwloc_nodeset_from_linux_libnuma_ulongs HWLOC_NAME(nodeset_from_linux_libnuma_ulongs) | |
320 | 336 | #define hwloc_cpuset_to_linux_libnuma_bitmask HWLOC_NAME(cpuset_to_linux_libnuma_bitmask) |
337 | #define hwloc_nodeset_to_linux_libnuma_bitmask HWLOC_NAME(nodeset_to_linux_libnuma_bitmask) | |
321 | 338 | #define hwloc_cpuset_from_linux_libnuma_bitmask HWLOC_NAME(cpuset_from_linux_libnuma_bitmask) |
339 | #define hwloc_nodeset_from_linux_libnuma_bitmask HWLOC_NAME(nodeset_from_linux_libnuma_bitmask) | |
322 | 340 | #define hwloc_cpuset_to_linux_libnuma_nodemask HWLOC_NAME(cpuset_to_linux_libnuma_nodemask) |
341 | #define hwloc_nodeset_to_linux_libnuma_nodemask HWLOC_NAME(nodeset_to_linux_libnuma_nodemask) | |
323 | 342 | #define hwloc_cpuset_from_linux_libnuma_nodemask HWLOC_NAME(cpuset_from_linux_libnuma_nodemask) |
343 | #define hwloc_nodeset_from_linux_libnuma_nodemask HWLOC_NAME(nodeset_from_linux_libnuma_nodemask) | |
324 | 344 | |
325 | 345 | /* linux.h */ |
326 | 346 | |
349 | 369 | |
350 | 370 | #define hwloc_snprintf HWLOC_NAME(snprintf) |
351 | 371 | #define hwloc_namecoloncmp HWLOC_NAME(namecoloncmp) |
372 | /* FIXME: hwloc_ffsl may be a macro, but it may not be defined yet */ | |
373 | #define hwloc_ffs32 HWLOC_NAME(ffs32) | |
374 | /* FIXME: hwloc_flsl may be a macro, but it may not be defined yet */ | |
375 | #define hwloc_fls32 HWLOC_NAME(fls32) | |
352 | 376 | #define hwloc_weight_long HWLOC_NAME(weight_long) |
353 | 377 | |
354 | 378 | /* private/cpuid.h */ |
371 | 395 | #define HWLOC_BACKEND_SYNTHETIC HWLOC_NAME_CAPS(BACKEND_SYNTHETIC) |
372 | 396 | #define HWLOC_BACKEND_SYSFS HWLOC_NAME_CAPS(BACKEND_SYSFS) |
373 | 397 | #define HWLOC_BACKEND_XML HWLOC_NAME_CAPS(BACKEND_XML) |
398 | #define HWLOC_BACKEND_MAX HWLOC_NAME_CAPS(BACKEND_MAX) | |
374 | 399 | |
375 | 400 | #define hwloc_backend_params_u HWLOC_NAME(backend_params_u) |
376 | 401 | #define hwloc_backend_params_sysfs_s HWLOC_NAME(backend_params_sysfs_s) |
425 | 450 | #define hwloc_add_object_info HWLOC_NAME(add_object_info) |
426 | 451 | #define hwloc_add_uname_info HWLOC_NAME(add_uname_info) |
427 | 452 | #define hwloc_free_object HWLOC_NAME(free_object) |
428 | #define hwloc_cpuset_printf_value HWLOC_NAME(cpuset_printf_value) | |
453 | #define hwloc_bitmap_printf_value HWLOC_NAME(bitmap_printf_value) | |
429 | 454 | #define hwloc_alloc_setup_object HWLOC_NAME(alloc_setup_object) |
430 | 455 | #define hwloc_setup_level HWLOC_NAME(setup_level) |
456 | ||
457 | #define hwloc_alloc_heap HWLOC_NAME(alloc_heap) | |
458 | #define hwloc_alloc_mmap HWLOC_NAME(alloc_mmap) | |
459 | #define hwloc_free_heap HWLOC_NAME(free_heap) | |
460 | #define hwloc_free_mmap HWLOC_NAME(free_mmap) | |
461 | #define hwloc_alloc_or_fail HWLOC_NAME(alloc_or_fail) | |
431 | 462 | |
432 | 463 | #endif /* HWLOC_SYM_TRANSFORM */ |
433 | 464 |
0 | 0 | /* |
1 | 1 | * Copyright © 2009 CNRS |
2 | * Copyright © 2009-2010 INRIA | |
2 | * Copyright © 2009-2011 INRIA. All rights reserved. | |
3 | 3 | * Copyright © 2009-2011 Université Bordeaux 1 |
4 | 4 | * Copyright © 2009-2011 Cisco Systems, Inc. All rights reserved. |
5 | 5 | * See COPYING in top-level directory. |
15 | 15 | #ifndef HWLOC_H |
16 | 16 | #define HWLOC_H |
17 | 17 | |
18 | #include <hwloc/config.h> | |
18 | #include <hwloc/autogen/config.h> | |
19 | 19 | #include <sys/types.h> |
20 | 20 | #include <stdio.h> |
21 | 21 | #include <string.h> |
22 | 22 | #include <limits.h> |
23 | #ifdef HWLOC_HAVE_STDINT_H | |
24 | #include <stdint.h> | |
25 | #endif | |
26 | 23 | |
27 | 24 | /* |
28 | 25 | * Symbol transforms |
221 | 218 | |
222 | 219 | /** \brief Object memory */ |
223 | 220 | struct hwloc_obj_memory_s { |
224 | uint64_t total_memory; /**< \brief Total memory (in bytes) in this object and its children */ | |
225 | uint64_t local_memory; /**< \brief Local memory (in bytes) */ | |
221 | hwloc_uint64_t total_memory; /**< \brief Total memory (in bytes) in this object and its children */ | |
222 | hwloc_uint64_t local_memory; /**< \brief Local memory (in bytes) */ | |
226 | 223 | |
227 | 224 | unsigned page_types_len; /**< \brief Size of array \p page_types */ |
228 | 225 | /** \brief Array of local memory page types, \c NULL if no local memory and \p page_types is 0. |
231 | 228 | * It contains \p page_types_len slots. |
232 | 229 | */ |
233 | 230 | struct hwloc_obj_memory_page_type_s { |
234 | uint64_t size; /**< \brief Size of pages */ | |
235 | uint64_t count; /**< \brief Number of pages of this size */ | |
231 | hwloc_uint64_t size; /**< \brief Size of pages */ | |
232 | hwloc_uint64_t count; /**< \brief Number of pages of this size */ | |
236 | 233 | } * page_types; |
237 | 234 | }; |
238 | 235 | |
375 | 372 | union hwloc_obj_attr_u { |
376 | 373 | /** \brief Cache-specific Object Attributes */ |
377 | 374 | struct hwloc_cache_attr_s { |
378 | uint64_t size; /**< \brief Size of cache in bytes */ | |
375 | hwloc_uint64_t size; /**< \brief Size of cache in bytes */ | |
379 | 376 | unsigned depth; /**< \brief Depth of cache */ |
380 | 377 | unsigned linesize; /**< \brief Cache-line size in bytes */ |
381 | 378 | } cache; |
519 | 516 | |
520 | 517 | /** \brief Set OR'ed flags to non-yet-loaded topology. |
521 | 518 | * |
522 | * Set a OR'ed set of hwloc_topology_flags_e onto a topology that was not yet loaded. | |
519 | * Set a OR'ed set of ::hwloc_topology_flags_e onto a topology that was not yet loaded. | |
523 | 520 | */ |
524 | 521 | HWLOC_DECLSPEC int hwloc_topology_set_flags (hwloc_topology_t topology, unsigned long flags); |
525 | 522 | |
556 | 553 | /** \brief Enable synthetic topology. |
557 | 554 | * |
558 | 555 | * Gather topology information from the given \p description |
559 | * which should be a comma separated string of numbers describing | |
556 | * which should be a space-separated string of numbers describing | |
560 | 557 | * the arity of each level. |
561 | 558 | * Each number may be prefixed with a type and a colon to enforce the type |
562 | 559 | * of a level. If only some level types are enforced, hwloc will try to |
563 | 560 | * choose the other types according to usual topologies, but it may fail |
564 | 561 | * and you may have to specify more level types manually. |
562 | * | |
563 | * If \p description was properly parsed and describes a valid topology | |
564 | * configuration, this function returns 0. | |
565 | * Otherwise -1 is returned and errno is set to EINVAL. | |
565 | 566 | * |
566 | 567 | * \note For conveniency, this backend provides empty binding hooks which just |
567 | 568 | * return success. |
730 | 731 | * |
731 | 732 | * If type is absent but a similar type is acceptable, see also |
732 | 733 | * hwloc_get_type_or_below_depth() and hwloc_get_type_or_above_depth(). |
734 | * | |
735 | * If some objects of the given type exist in different levels, for instance | |
736 | * L1 and L2 caches, the function returns HWLOC_TYPE_DEPTH_MULTIPLE. | |
733 | 737 | */ |
734 | 738 | HWLOC_DECLSPEC int hwloc_get_type_depth (hwloc_topology_t topology, hwloc_obj_type_t type); |
735 | 739 |
0 | /* include/private/autogen/config.h.in. Generated from configure.ac by autoheader. */ | |
1 | ||
2 | /* -*- c -*- | |
3 | * | |
4 | * Copyright © 2009 CNRS, INRIA, Université Bordeaux 1 | |
5 | * Copyright © 2009 Cisco Systems, Inc. All rights reserved. | |
6 | * $COPYRIGHT$ | |
7 | * | |
8 | * Additional copyrights may follow | |
9 | * | |
10 | * $HEADER$ | |
11 | * | |
12 | * This file is automatically generated by configure. Edits will be lost | |
13 | * the next time you run configure! | |
14 | */ | |
15 | ||
16 | #ifndef HWLOC_CONFIGURE_H | |
17 | #define HWLOC_CONFIGURE_H | |
18 | ||
19 | ||
20 | /* Define to 1 if the system has the type `CACHE_DESCRIPTOR'. */ | |
21 | #undef HAVE_CACHE_DESCRIPTOR | |
22 | ||
23 | /* Define to 1 if the system has the type `CACHE_RELATIONSHIP'. */ | |
24 | #undef HAVE_CACHE_RELATIONSHIP | |
25 | ||
26 | /* Define to 1 if you have the `clz' function. */ | |
27 | #undef HAVE_CLZ | |
28 | ||
29 | /* Define to 1 if you have the `clzl' function. */ | |
30 | #undef HAVE_CLZL | |
31 | ||
32 | /* Define to 1 if we have -lcuda */ | |
33 | #undef HAVE_CUDA | |
34 | ||
35 | /* Define to 1 if we have -lcudart */ | |
36 | #undef HAVE_CUDART | |
37 | ||
38 | /* Define to 1 if you have the <cuda.h> header file. */ | |
39 | #undef HAVE_CUDA_H | |
40 | ||
41 | /* Define to 1 if you have the <cuda_runtime_api.h> header file. */ | |
42 | #undef HAVE_CUDA_RUNTIME_API_H | |
43 | ||
44 | /* Define to 1 if you have the <curses.h> header file. */ | |
45 | #undef HAVE_CURSES_H | |
46 | ||
47 | /* Define to 1 if you have the declaration of `CTL_HW', and to 0 if you don't. | |
48 | */ | |
49 | #undef HAVE_DECL_CTL_HW | |
50 | ||
51 | /* Define to 1 if you have the declaration of `HW_NCPU', and to 0 if you | |
52 | don't. */ | |
53 | #undef HAVE_DECL_HW_NCPU | |
54 | ||
55 | /* Define to 1 if you have the declaration of `pthread_getaffinity_np', and to | |
56 | 0 if you don't. */ | |
57 | #undef HAVE_DECL_PTHREAD_GETAFFINITY_NP | |
58 | ||
59 | /* Define to 1 if you have the declaration of `pthread_setaffinity_np', and to | |
60 | 0 if you don't. */ | |
61 | #undef HAVE_DECL_PTHREAD_SETAFFINITY_NP | |
62 | ||
63 | /* Define to 1 if you have the declaration of `_SC_LARGE_PAGESIZE', and to 0 | |
64 | if you don't. */ | |
65 | #undef HAVE_DECL__SC_LARGE_PAGESIZE | |
66 | ||
67 | /* Define to 1 if you have the declaration of `_SC_NPROCESSORS_CONF', and to 0 | |
68 | if you don't. */ | |
69 | #undef HAVE_DECL__SC_NPROCESSORS_CONF | |
70 | ||
71 | /* Define to 1 if you have the declaration of `_SC_NPROCESSORS_ONLN', and to 0 | |
72 | if you don't. */ | |
73 | #undef HAVE_DECL__SC_NPROCESSORS_ONLN | |
74 | ||
75 | /* Define to 1 if you have the declaration of `_SC_NPROC_CONF', and to 0 if | |
76 | you don't. */ | |
77 | #undef HAVE_DECL__SC_NPROC_CONF | |
78 | ||
79 | /* Define to 1 if you have the declaration of `_SC_NPROC_ONLN', and to 0 if | |
80 | you don't. */ | |
81 | #undef HAVE_DECL__SC_NPROC_ONLN | |
82 | ||
83 | /* Define to 1 if you have the <dlfcn.h> header file. */ | |
84 | #undef HAVE_DLFCN_H | |
85 | ||
86 | /* Define to 1 if you have the `ffs' function. */ | |
87 | #undef HAVE_FFS | |
88 | ||
89 | /* Define to 1 if you have the `ffsl' function. */ | |
90 | #undef HAVE_FFSL | |
91 | ||
92 | /* Define to 1 if you have the `fls' function. */ | |
93 | #undef HAVE_FLS | |
94 | ||
95 | /* Define to 1 if you have the `flsl' function. */ | |
96 | #undef HAVE_FLSL | |
97 | ||
98 | /* Define to 1 if you have the `getpagesize' function. */ | |
99 | #undef HAVE_GETPAGESIZE | |
100 | ||
101 | /* Define to 1 if the system has the type `GROUP_AFFINITY'. */ | |
102 | #undef HAVE_GROUP_AFFINITY | |
103 | ||
104 | /* Define to 1 if the system has the type `GROUP_RELATIONSHIP'. */ | |
105 | #undef HAVE_GROUP_RELATIONSHIP | |
106 | ||
107 | /* Define to 1 if you have the `host_info' function. */ | |
108 | #undef HAVE_HOST_INFO | |
109 | ||
110 | /* Define to 1 if you have the <infiniband/verbs.h> header file. */ | |
111 | #undef HAVE_INFINIBAND_VERBS_H | |
112 | ||
113 | /* Define to 1 if you have the <inttypes.h> header file. */ | |
114 | #undef HAVE_INTTYPES_H | |
115 | ||
116 | /* Define to 1 if the system has the type `KAFFINITY'. */ | |
117 | #undef HAVE_KAFFINITY | |
118 | ||
119 | /* Define to 1 if you have the <kstat.h> header file. */ | |
120 | #undef HAVE_KSTAT_H | |
121 | ||
122 | /* Define to 1 if you have the <langinfo.h> header file. */ | |
123 | #undef HAVE_LANGINFO_H | |
124 | ||
125 | /* Define to 1 if we have -lgdi32 */ | |
126 | #undef HAVE_LIBGDI32 | |
127 | ||
128 | /* Define to 1 if we have -libverbs */ | |
129 | #undef HAVE_LIBIBVERBS | |
130 | ||
131 | /* Define to 1 if we have -lkstat */ | |
132 | #undef HAVE_LIBKSTAT | |
133 | ||
134 | /* Define to 1 if we have -llgrp */ | |
135 | #undef HAVE_LIBLGRP | |
136 | ||
137 | /* Define to 1 if you have the <locale.h> header file. */ | |
138 | #undef HAVE_LOCALE_H | |
139 | ||
140 | /* Define to 1 if the system has the type `LOGICAL_PROCESSOR_RELATIONSHIP'. */ | |
141 | #undef HAVE_LOGICAL_PROCESSOR_RELATIONSHIP | |
142 | ||
143 | /* Define to 1 if you have the <mach/mach_host.h> header file. */ | |
144 | #undef HAVE_MACH_MACH_HOST_H | |
145 | ||
146 | /* Define to 1 if you have the <mach/mach_init.h> header file. */ | |
147 | #undef HAVE_MACH_MACH_INIT_H | |
148 | ||
149 | /* Define to 1 if you have the <malloc.h> header file. */ | |
150 | #undef HAVE_MALLOC_H | |
151 | ||
152 | /* Define to 1 if you have the `memalign' function. */ | |
153 | #undef HAVE_MEMALIGN | |
154 | ||
155 | /* Define to 1 if you have the <memory.h> header file. */ | |
156 | #undef HAVE_MEMORY_H | |
157 | ||
158 | /* Define to 1 if you have the <myriexpress.h> header file. */ | |
159 | #undef HAVE_MYRIEXPRESS_H | |
160 | ||
161 | /* Define to 1 if you have the `nl_langinfo' function. */ | |
162 | #undef HAVE_NL_LANGINFO | |
163 | ||
164 | /* Define to 1 if you have the <numaif.h> header file. */ | |
165 | #undef HAVE_NUMAIF_H | |
166 | ||
167 | /* Define to 1 if the system has the type `NUMA_NODE_RELATIONSHIP'. */ | |
168 | #undef HAVE_NUMA_NODE_RELATIONSHIP | |
169 | ||
170 | /* Define to 1 if you have the `openat' function. */ | |
171 | #undef HAVE_OPENAT | |
172 | ||
173 | /* Define to 1 if you have the `posix_memalign' function. */ | |
174 | #undef HAVE_POSIX_MEMALIGN | |
175 | ||
176 | /* Define to 1 if the system has the type `PROCESSOR_CACHE_TYPE'. */ | |
177 | #undef HAVE_PROCESSOR_CACHE_TYPE | |
178 | ||
179 | /* Define to 1 if the system has the type `PROCESSOR_GROUP_INFO'. */ | |
180 | #undef HAVE_PROCESSOR_GROUP_INFO | |
181 | ||
182 | /* Define to 1 if the system has the type `PROCESSOR_RELATIONSHIP'. */ | |
183 | #undef HAVE_PROCESSOR_RELATIONSHIP | |
184 | ||
185 | /* Define to 1 if the system has the type `PSAPI_WORKING_SET_EX_BLOCK'. */ | |
186 | #undef HAVE_PSAPI_WORKING_SET_EX_BLOCK | |
187 | ||
188 | /* Define to 1 if the system has the type `PSAPI_WORKING_SET_EX_INFORMATION'. | |
189 | */ | |
190 | #undef HAVE_PSAPI_WORKING_SET_EX_INFORMATION | |
191 | ||
192 | /* Define to 1 if you have the <pthread_np.h> header file. */ | |
193 | #undef HAVE_PTHREAD_NP_H | |
194 | ||
195 | /* Define to 1 if the system has the type `pthread_t'. */ | |
196 | #undef HAVE_PTHREAD_T | |
197 | ||
198 | /* Define to 1 if you have the `putwc' function. */ | |
199 | #undef HAVE_PUTWC | |
200 | ||
201 | /* Define to 1 if the system has the type `RelationProcessorPackage'. */ | |
202 | #undef HAVE_RELATIONPROCESSORPACKAGE | |
203 | ||
204 | /* Define to 1 if you have the `setlocale' function. */ | |
205 | #undef HAVE_SETLOCALE | |
206 | ||
207 | /* Define to 1 if you have the <stdint.h> header file. */ | |
208 | #undef HAVE_STDINT_H | |
209 | ||
210 | /* Define to 1 if you have the <stdlib.h> header file. */ | |
211 | #undef HAVE_STDLIB_H | |
212 | ||
213 | /* Define to 1 if you have the `strftime' function. */ | |
214 | #undef HAVE_STRFTIME | |
215 | ||
216 | /* Define to 1 if you have the <strings.h> header file. */ | |
217 | #undef HAVE_STRINGS_H | |
218 | ||
219 | /* Define to 1 if you have the <string.h> header file. */ | |
220 | #undef HAVE_STRING_H | |
221 | ||
222 | /* Define to 1 if you have the `strncasecmp' function. */ | |
223 | #undef HAVE_STRNCASECMP | |
224 | ||
225 | /* Define to 1 if you have the `sysctl' function. */ | |
226 | #undef HAVE_SYSCTL | |
227 | ||
228 | /* Define to 1 if you have the `sysctlbyname' function. */ | |
229 | #undef HAVE_SYSCTLBYNAME | |
230 | ||
231 | /* Define to 1 if the system has the type | |
232 | `SYSTEM_LOGICAL_PROCESSOR_INFORMATION'. */ | |
233 | #undef HAVE_SYSTEM_LOGICAL_PROCESSOR_INFORMATION | |
234 | ||
235 | /* Define to 1 if the system has the type | |
236 | `SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX'. */ | |
237 | #undef HAVE_SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX | |
238 | ||
239 | /* Define to 1 if you have the <sys/cpuset.h> header file. */ | |
240 | #undef HAVE_SYS_CPUSET_H | |
241 | ||
242 | /* Define to 1 if you have the <sys/lgrp_user.h> header file. */ | |
243 | #undef HAVE_SYS_LGRP_USER_H | |
244 | ||
245 | /* Define to 1 if you have the <sys/mman.h> header file. */ | |
246 | #undef HAVE_SYS_MMAN_H | |
247 | ||
248 | /* Define to 1 if you have the <sys/param.h> header file. */ | |
249 | #undef HAVE_SYS_PARAM_H | |
250 | ||
251 | /* Define to 1 if you have the <sys/stat.h> header file. */ | |
252 | #undef HAVE_SYS_STAT_H | |
253 | ||
254 | /* Define to 1 if you have the <sys/sysctl.h> header file. */ | |
255 | #undef HAVE_SYS_SYSCTL_H | |
256 | ||
257 | /* Define to 1 if you have the <sys/types.h> header file. */ | |
258 | #undef HAVE_SYS_TYPES_H | |
259 | ||
260 | /* Define to 1 if you have the <sys/utsname.h> header file. */ | |
261 | #undef HAVE_SYS_UTSNAME_H | |
262 | ||
263 | /* Define to 1 if you have the <term.h> header file. */ | |
264 | #undef HAVE_TERM_H | |
265 | ||
266 | /* Define to 1 if you have the `uname' function. */ | |
267 | #undef HAVE_UNAME | |
268 | ||
269 | /* Define to 1 if you have the <unistd.h> header file. */ | |
270 | #undef HAVE_UNISTD_H | |
271 | ||
272 | /* Define to 1 if the system has the type `wchar_t'. */ | |
273 | #undef HAVE_WCHAR_T | |
274 | ||
275 | /* Define to 1 if you have the <X11/keysym.h> header file. */ | |
276 | #undef HAVE_X11_KEYSYM_H | |
277 | ||
278 | /* Define to 1 if you have the <X11/Xlib.h> header file. */ | |
279 | #undef HAVE_X11_XLIB_H | |
280 | ||
281 | /* Define to 1 if you have the <X11/Xutil.h> header file. */ | |
282 | #undef HAVE_X11_XUTIL_H | |
283 | ||
284 | /* Define to 1 on AIX */ | |
285 | #undef HWLOC_AIX_SYS | |
286 | ||
287 | /* Whether C compiler supports -fvisibility */ | |
288 | #undef HWLOC_C_HAVE_VISIBILITY | |
289 | ||
290 | /* Define to 1 on Darwin */ | |
291 | #undef HWLOC_DARWIN_SYS | |
292 | ||
293 | /* Whether we are in debugging mode or not */ | |
294 | #undef HWLOC_DEBUG | |
295 | ||
296 | /* Define to 1 on *FREEBSD */ | |
297 | #undef HWLOC_FREEBSD_SYS | |
298 | ||
299 | /* Whether your compiler has __attribute__ or not */ | |
300 | #undef HWLOC_HAVE_ATTRIBUTE | |
301 | ||
302 | /* Whether your compiler has __attribute__ aligned or not */ | |
303 | #undef HWLOC_HAVE_ATTRIBUTE_ALIGNED | |
304 | ||
305 | /* Whether your compiler has __attribute__ always_inline or not */ | |
306 | #undef HWLOC_HAVE_ATTRIBUTE_ALWAYS_INLINE | |
307 | ||
308 | /* Whether your compiler has __attribute__ cold or not */ | |
309 | #undef HWLOC_HAVE_ATTRIBUTE_COLD | |
310 | ||
311 | /* Whether your compiler has __attribute__ const or not */ | |
312 | #undef HWLOC_HAVE_ATTRIBUTE_CONST | |
313 | ||
314 | /* Whether your compiler has __attribute__ deprecated or not */ | |
315 | #undef HWLOC_HAVE_ATTRIBUTE_DEPRECATED | |
316 | ||
317 | /* Whether your compiler has __attribute__ format or not */ | |
318 | #undef HWLOC_HAVE_ATTRIBUTE_FORMAT | |
319 | ||
320 | /* Whether your compiler has __attribute__ hot or not */ | |
321 | #undef HWLOC_HAVE_ATTRIBUTE_HOT | |
322 | ||
323 | /* Whether your compiler has __attribute__ malloc or not */ | |
324 | #undef HWLOC_HAVE_ATTRIBUTE_MALLOC | |
325 | ||
326 | /* Whether your compiler has __attribute__ may_alias or not */ | |
327 | #undef HWLOC_HAVE_ATTRIBUTE_MAY_ALIAS | |
328 | ||
329 | /* Whether your compiler has __attribute__ nonnull or not */ | |
330 | #undef HWLOC_HAVE_ATTRIBUTE_NONNULL | |
331 | ||
332 | /* Whether your compiler has __attribute__ noreturn or not */ | |
333 | #undef HWLOC_HAVE_ATTRIBUTE_NORETURN | |
334 | ||
335 | /* Whether your compiler has __attribute__ no_instrument_function or not */ | |
336 | #undef HWLOC_HAVE_ATTRIBUTE_NO_INSTRUMENT_FUNCTION | |
337 | ||
338 | /* Whether your compiler has __attribute__ packed or not */ | |
339 | #undef HWLOC_HAVE_ATTRIBUTE_PACKED | |
340 | ||
341 | /* Whether your compiler has __attribute__ pure or not */ | |
342 | #undef HWLOC_HAVE_ATTRIBUTE_PURE | |
343 | ||
344 | /* Whether your compiler has __attribute__ sentinel or not */ | |
345 | #undef HWLOC_HAVE_ATTRIBUTE_SENTINEL | |
346 | ||
347 | /* Whether your compiler has __attribute__ unused or not */ | |
348 | #undef HWLOC_HAVE_ATTRIBUTE_UNUSED | |
349 | ||
350 | /* Whether your compiler has __attribute__ warn unused result or not */ | |
351 | #undef HWLOC_HAVE_ATTRIBUTE_WARN_UNUSED_RESULT | |
352 | ||
353 | /* Whether your compiler has __attribute__ weak alias or not */ | |
354 | #undef HWLOC_HAVE_ATTRIBUTE_WEAK_ALIAS | |
355 | ||
356 | /* Define to 1 if you have the `cairo' library. */ | |
357 | #undef HWLOC_HAVE_CAIRO | |
358 | ||
359 | /* Define to 1 if you have the `clz' function. */ | |
360 | #undef HWLOC_HAVE_CLZ | |
361 | ||
362 | /* Define to 1 if you have the `clzl' function. */ | |
363 | #undef HWLOC_HAVE_CLZL | |
364 | ||
365 | /* Define to 1 if you have cpuid */ | |
366 | #undef HWLOC_HAVE_CPUID | |
367 | ||
368 | /* Define to 1 if the CPU_SET macro works */ | |
369 | #undef HWLOC_HAVE_CPU_SET | |
370 | ||
371 | /* Define to 1 if the CPU_SET_S macro works */ | |
372 | #undef HWLOC_HAVE_CPU_SET_S | |
373 | ||
374 | /* Define to 1 if function `clz' is declared by system headers */ | |
375 | #undef HWLOC_HAVE_DECL_CLZ | |
376 | ||
377 | /* Define to 1 if function `clzl' is declared by system headers */ | |
378 | #undef HWLOC_HAVE_DECL_CLZL | |
379 | ||
380 | /* Define to 1 if function `ffs' is declared by system headers */ | |
381 | #undef HWLOC_HAVE_DECL_FFS | |
382 | ||
383 | /* Define to 1 if function `ffsl' is declared by system headers */ | |
384 | #undef HWLOC_HAVE_DECL_FFSL | |
385 | ||
386 | /* Define to 1 if function `fls' is declared by system headers */ | |
387 | #undef HWLOC_HAVE_DECL_FLS | |
388 | ||
389 | /* Define to 1 if function `flsl' is declared by system headers */ | |
390 | #undef HWLOC_HAVE_DECL_FLSL | |
391 | ||
392 | /* Define to 1 if you have the `ffs' function. */ | |
393 | #undef HWLOC_HAVE_FFS | |
394 | ||
395 | /* Define to 1 if you have the `ffsl' function. */ | |
396 | #undef HWLOC_HAVE_FFSL | |
397 | ||
398 | /* Define to 1 if you have the `fls' function. */ | |
399 | #undef HWLOC_HAVE_FLS | |
400 | ||
401 | /* Define to 1 if you have the `flsl' function. */ | |
402 | #undef HWLOC_HAVE_FLSL | |
403 | ||
404 | /* Define to 1 if you have a library providing the termcap interface */ | |
405 | #undef HWLOC_HAVE_LIBTERMCAP | |
406 | ||
407 | /* Define to 1 if mbind is available. */ | |
408 | #undef HWLOC_HAVE_MBIND | |
409 | ||
410 | /* Define to 1 if migrate_pages is available. */ | |
411 | #undef HWLOC_HAVE_MIGRATE_PAGES | |
412 | ||
413 | /* Define to 1 if glibc provides the old prototype of sched_setaffinity() */ | |
414 | #undef HWLOC_HAVE_OLD_SCHED_SETAFFINITY | |
415 | ||
416 | /* `Define to 1 if you have pthread_getthrds_np' */ | |
417 | #undef HWLOC_HAVE_PTHREAD_GETTHRDS_NP | |
418 | ||
419 | /* Define to 1 if set_mempolicy is available. */ | |
420 | #undef HWLOC_HAVE_SET_MEMPOLICY | |
421 | ||
422 | /* Define to 1 if you have the <stdint.h> header file. */ | |
423 | #undef HWLOC_HAVE_STDINT_H | |
424 | ||
425 | /* Define to 1 if you have the `windows.h' header. */ | |
426 | #undef HWLOC_HAVE_WINDOWS_H | |
427 | ||
428 | /* Define to 1 if X11 libraries are available. */ | |
429 | #undef HWLOC_HAVE_X11 | |
430 | ||
431 | /* Define to 1 if you have the `xml' library. */ | |
432 | #undef HWLOC_HAVE_XML | |
433 | ||
434 | /* Define to 1 if the _syscall3 macro works */ | |
435 | #undef HWLOC_HAVE__SYSCALL3 | |
436 | ||
437 | /* Define to 1 on HP-UX */ | |
438 | #undef HWLOC_HPUX_SYS | |
439 | ||
440 | /* Define to 1 on Irix */ | |
441 | #undef HWLOC_IRIX_SYS | |
442 | ||
443 | /* Define to 1 on Linux */ | |
444 | #undef HWLOC_LINUX_SYS | |
445 | ||
446 | /* Major version of hwloc */ | |
447 | #undef HWLOC_MAJOR_VERSION | |
448 | ||
449 | /* Minor version of hwloc */ | |
450 | #undef HWLOC_MINOR_VERSION | |
451 | ||
452 | /* Define to 1 on OSF */ | |
453 | #undef HWLOC_OSF_SYS | |
454 | ||
455 | /* Release version of hwloc */ | |
456 | #undef HWLOC_RELEASE_VERSION | |
457 | ||
458 | /* The size of `unsigned int', as computed by sizeof */ | |
459 | #undef HWLOC_SIZEOF_UNSIGNED_INT | |
460 | ||
461 | /* The size of `unsigned long', as computed by sizeof */ | |
462 | #undef HWLOC_SIZEOF_UNSIGNED_LONG | |
463 | ||
464 | /* Define to 1 on Solaris */ | |
465 | #undef HWLOC_SOLARIS_SYS | |
466 | ||
467 | /* The hwloc symbol prefix */ | |
468 | #undef HWLOC_SYM_PREFIX | |
469 | ||
470 | /* The hwloc symbol prefix in all caps */ | |
471 | #undef HWLOC_SYM_PREFIX_CAPS | |
472 | ||
473 | /* Whether we need to re-define all the hwloc public symbols or not */ | |
474 | #undef HWLOC_SYM_TRANSFORM | |
475 | ||
476 | /* Define to 1 on unsupported systems */ | |
477 | #undef HWLOC_UNSUPPORTED_SYS | |
478 | ||
479 | /* Define to 1 on WINDOWS */ | |
480 | #undef HWLOC_WIN_SYS | |
481 | ||
482 | /* Define to 1 on x86_32 */ | |
483 | #undef HWLOC_X86_32_ARCH | |
484 | ||
485 | /* Define to 1 on x86_64 */ | |
486 | #undef HWLOC_X86_64_ARCH | |
487 | ||
488 | /* Define to the sub-directory in which libtool stores uninstalled libraries. | |
489 | */ | |
490 | #undef LT_OBJDIR | |
491 | ||
492 | /* Define to 1 if your C compiler doesn't accept -c and -o together. */ | |
493 | #undef NO_MINUS_C_MINUS_O | |
494 | ||
495 | /* Name of package */ | |
496 | #undef PACKAGE | |
497 | ||
498 | /* Define to the address where bug reports for this package should be sent. */ | |
499 | #undef PACKAGE_BUGREPORT | |
500 | ||
501 | /* Define to the full name of this package. */ | |
502 | #undef PACKAGE_NAME | |
503 | ||
504 | /* Define to the full name and version of this package. */ | |
505 | #undef PACKAGE_STRING | |
506 | ||
507 | /* Define to the one symbol short name of this package. */ | |
508 | #undef PACKAGE_TARNAME | |
509 | ||
510 | /* Define to the home page for this package. */ | |
511 | #undef PACKAGE_URL | |
512 | ||
513 | /* Define to the version of this package. */ | |
514 | #undef PACKAGE_VERSION | |
515 | ||
516 | /* The size of `unsigned int', as computed by sizeof. */ | |
517 | #undef SIZEOF_UNSIGNED_INT | |
518 | ||
519 | /* The size of `unsigned long', as computed by sizeof. */ | |
520 | #undef SIZEOF_UNSIGNED_LONG | |
521 | ||
522 | /* The size of `void *', as computed by sizeof. */ | |
523 | #undef SIZEOF_VOID_P | |
524 | ||
525 | /* Define to 1 if you have the ANSI C header files. */ | |
526 | #undef STDC_HEADERS | |
527 | ||
528 | /* Enable extensions on HP-UX. */ | |
529 | #ifndef _HPUX_SOURCE | |
530 | # undef _HPUX_SOURCE | |
531 | #endif | |
532 | ||
533 | ||
534 | /* Enable extensions on AIX 3, Interix. */ | |
535 | #ifndef _ALL_SOURCE | |
536 | # undef _ALL_SOURCE | |
537 | #endif | |
538 | /* Enable GNU extensions on systems that have them. */ | |
539 | #ifndef _GNU_SOURCE | |
540 | # undef _GNU_SOURCE | |
541 | #endif | |
542 | /* Enable threading extensions on Solaris. */ | |
543 | #ifndef _POSIX_PTHREAD_SEMANTICS | |
544 | # undef _POSIX_PTHREAD_SEMANTICS | |
545 | #endif | |
546 | /* Enable extensions on HP NonStop. */ | |
547 | #ifndef _TANDEM_SOURCE | |
548 | # undef _TANDEM_SOURCE | |
549 | #endif | |
550 | /* Enable general extensions on Solaris. */ | |
551 | #ifndef __EXTENSIONS__ | |
552 | # undef __EXTENSIONS__ | |
553 | #endif | |
554 | ||
555 | ||
556 | /* Version number of package */ | |
557 | #undef VERSION | |
558 | ||
559 | /* Define to 1 if the X Window System is missing or not being used. */ | |
560 | #undef X_DISPLAY_MISSING | |
561 | ||
562 | /* Are we building for HP-UX? */ | |
563 | #undef _HPUX_SOURCE | |
564 | ||
565 | /* Define to 1 if on MINIX. */ | |
566 | #undef _MINIX | |
567 | ||
568 | /* Define to 2 if the system does not provide POSIX.1 features except with | |
569 | this defined. */ | |
570 | #undef _POSIX_1_SOURCE | |
571 | ||
572 | /* Define to 1 if you need to in order for `stat' and other things to work. */ | |
573 | #undef _POSIX_SOURCE | |
574 | ||
575 | /* Define this to a keyword that can safely replace inline in installed | |
576 | headers */ | |
577 | #undef __hwloc_inline | |
578 | ||
579 | /* Define this to the process ID type */ | |
580 | #undef hwloc_pid_t | |
581 | ||
582 | /* Define this to either strncasecmp or strncmp */ | |
583 | #undef hwloc_strncasecmp | |
584 | ||
585 | /* Define this to the thread ID type */ | |
586 | #undef hwloc_thread_t | |
587 | ||
588 | ||
589 | #endif /* HWLOC_CONFIGURE_H */ | |
590 |
0 | /* include/private/config.h.in. Generated from configure.ac by autoheader. */ | |
1 | ||
2 | /* -*- c -*- | |
3 | * | |
4 | * Copyright © 2009 CNRS, INRIA, Université Bordeaux 1 | |
5 | * Copyright © 2009 Cisco Systems, Inc. All rights reserved. | |
6 | * $COPYRIGHT$ | |
7 | * | |
8 | * Additional copyrights may follow | |
9 | * | |
10 | * $HEADER$ | |
11 | * | |
12 | * This file is automatically generated by configure. Edits will be lost | |
13 | * the next time you run configure! | |
14 | */ | |
15 | ||
16 | #ifndef HWLOC_CONFIGURE_H | |
17 | #define HWLOC_CONFIGURE_H | |
18 | ||
19 | ||
20 | /* Define to 1 if the system has the type `CACHE_DESCRIPTOR'. */ | |
21 | #undef HAVE_CACHE_DESCRIPTOR | |
22 | ||
23 | /* Define to 1 if the system has the type `CACHE_RELATIONSHIP'. */ | |
24 | #undef HAVE_CACHE_RELATIONSHIP | |
25 | ||
26 | /* Define to 1 if you have the `clz' function. */ | |
27 | #undef HAVE_CLZ | |
28 | ||
29 | /* Define to 1 if you have the `clzl' function. */ | |
30 | #undef HAVE_CLZL | |
31 | ||
32 | /* Define to 1 if we have -lcuda */ | |
33 | #undef HAVE_CUDA | |
34 | ||
35 | /* Define to 1 if we have -lcudart */ | |
36 | #undef HAVE_CUDART | |
37 | ||
38 | /* Define to 1 if you have the <cuda.h> header file. */ | |
39 | #undef HAVE_CUDA_H | |
40 | ||
41 | /* Define to 1 if you have the <cuda_runtime_api.h> header file. */ | |
42 | #undef HAVE_CUDA_RUNTIME_API_H | |
43 | ||
44 | /* Define to 1 if you have the <curses.h> header file. */ | |
45 | #undef HAVE_CURSES_H | |
46 | ||
47 | /* Define to 1 if you have the declaration of `CTL_HW', and to 0 if you don't. | |
48 | */ | |
49 | #undef HAVE_DECL_CTL_HW | |
50 | ||
51 | /* Define to 1 if you have the declaration of `HW_NCPU', and to 0 if you | |
52 | don't. */ | |
53 | #undef HAVE_DECL_HW_NCPU | |
54 | ||
55 | /* Define to 1 if you have the declaration of `pthread_getaffinity_np', and to | |
56 | 0 if you don't. */ | |
57 | #undef HAVE_DECL_PTHREAD_GETAFFINITY_NP | |
58 | ||
59 | /* Define to 1 if you have the declaration of `pthread_setaffinity_np', and to | |
60 | 0 if you don't. */ | |
61 | #undef HAVE_DECL_PTHREAD_SETAFFINITY_NP | |
62 | ||
63 | /* Define to 1 if you have the declaration of `_SC_LARGE_PAGESIZE', and to 0 | |
64 | if you don't. */ | |
65 | #undef HAVE_DECL__SC_LARGE_PAGESIZE | |
66 | ||
67 | /* Define to 1 if you have the declaration of `_SC_NPROCESSORS_CONF', and to 0 | |
68 | if you don't. */ | |
69 | #undef HAVE_DECL__SC_NPROCESSORS_CONF | |
70 | ||
71 | /* Define to 1 if you have the declaration of `_SC_NPROCESSORS_ONLN', and to 0 | |
72 | if you don't. */ | |
73 | #undef HAVE_DECL__SC_NPROCESSORS_ONLN | |
74 | ||
75 | /* Define to 1 if you have the declaration of `_SC_NPROC_CONF', and to 0 if | |
76 | you don't. */ | |
77 | #undef HAVE_DECL__SC_NPROC_CONF | |
78 | ||
79 | /* Define to 1 if you have the declaration of `_SC_NPROC_ONLN', and to 0 if | |
80 | you don't. */ | |
81 | #undef HAVE_DECL__SC_NPROC_ONLN | |
82 | ||
83 | /* Define to 1 if you have the <dlfcn.h> header file. */ | |
84 | #undef HAVE_DLFCN_H | |
85 | ||
86 | /* Define to 1 if you have the `ffs' function. */ | |
87 | #undef HAVE_FFS | |
88 | ||
89 | /* Define to 1 if you have the `ffsl' function. */ | |
90 | #undef HAVE_FFSL | |
91 | ||
92 | /* Define to 1 if you have the `fls' function. */ | |
93 | #undef HAVE_FLS | |
94 | ||
95 | /* Define to 1 if you have the `flsl' function. */ | |
96 | #undef HAVE_FLSL | |
97 | ||
98 | /* Define to 1 if you have the `getpagesize' function. */ | |
99 | #undef HAVE_GETPAGESIZE | |
100 | ||
101 | /* Define to 1 if the system has the type `GROUP_AFFINITY'. */ | |
102 | #undef HAVE_GROUP_AFFINITY | |
103 | ||
104 | /* Define to 1 if the system has the type `GROUP_RELATIONSHIP'. */ | |
105 | #undef HAVE_GROUP_RELATIONSHIP | |
106 | ||
107 | /* Define to 1 if you have the `host_info' function. */ | |
108 | #undef HAVE_HOST_INFO | |
109 | ||
110 | /* Define to 1 if you have the <infiniband/verbs.h> header file. */ | |
111 | #undef HAVE_INFINIBAND_VERBS_H | |
112 | ||
113 | /* Define to 1 if you have the <inttypes.h> header file. */ | |
114 | #undef HAVE_INTTYPES_H | |
115 | ||
116 | /* Define to 1 if the system has the type `KAFFINITY'. */ | |
117 | #undef HAVE_KAFFINITY | |
118 | ||
119 | /* Define to 1 if you have the <kstat.h> header file. */ | |
120 | #undef HAVE_KSTAT_H | |
121 | ||
122 | /* Define to 1 if you have the <langinfo.h> header file. */ | |
123 | #undef HAVE_LANGINFO_H | |
124 | ||
125 | /* Define to 1 if we have -lgdi32 */ | |
126 | #undef HAVE_LIBGDI32 | |
127 | ||
128 | /* Define to 1 if we have -libverbs */ | |
129 | #undef HAVE_LIBIBVERBS | |
130 | ||
131 | /* Define to 1 if we have -lkstat */ | |
132 | #undef HAVE_LIBKSTAT | |
133 | ||
134 | /* Define to 1 if we have -llgrp */ | |
135 | #undef HAVE_LIBLGRP | |
136 | ||
137 | /* Define to 1 if you have the <locale.h> header file. */ | |
138 | #undef HAVE_LOCALE_H | |
139 | ||
140 | /* Define to 1 if the system has the type `LOGICAL_PROCESSOR_RELATIONSHIP'. */ | |
141 | #undef HAVE_LOGICAL_PROCESSOR_RELATIONSHIP | |
142 | ||
143 | /* Define to 1 if you have the <mach/mach_host.h> header file. */ | |
144 | #undef HAVE_MACH_MACH_HOST_H | |
145 | ||
146 | /* Define to 1 if you have the <mach/mach_init.h> header file. */ | |
147 | #undef HAVE_MACH_MACH_INIT_H | |
148 | ||
149 | /* Define to 1 if you have the <malloc.h> header file. */ | |
150 | #undef HAVE_MALLOC_H | |
151 | ||
152 | /* Define to 1 if you have the `memalign' function. */ | |
153 | #undef HAVE_MEMALIGN | |
154 | ||
155 | /* Define to 1 if you have the <memory.h> header file. */ | |
156 | #undef HAVE_MEMORY_H | |
157 | ||
158 | /* Define to 1 if you have the <myriexpress.h> header file. */ | |
159 | #undef HAVE_MYRIEXPRESS_H | |
160 | ||
161 | /* Define to 1 if you have the `nl_langinfo' function. */ | |
162 | #undef HAVE_NL_LANGINFO | |
163 | ||
164 | /* Define to 1 if you have the <numaif.h> header file. */ | |
165 | #undef HAVE_NUMAIF_H | |
166 | ||
167 | /* Define to 1 if the system has the type `NUMA_NODE_RELATIONSHIP'. */ | |
168 | #undef HAVE_NUMA_NODE_RELATIONSHIP | |
169 | ||
170 | /* Define to 1 if you have the `openat' function. */ | |
171 | #undef HAVE_OPENAT | |
172 | ||
173 | /* Define to 1 if you have the `posix_memalign' function. */ | |
174 | #undef HAVE_POSIX_MEMALIGN | |
175 | ||
176 | /* Define to 1 if the system has the type `PROCESSOR_CACHE_TYPE'. */ | |
177 | #undef HAVE_PROCESSOR_CACHE_TYPE | |
178 | ||
179 | /* Define to 1 if the system has the type `PROCESSOR_GROUP_INFO'. */ | |
180 | #undef HAVE_PROCESSOR_GROUP_INFO | |
181 | ||
182 | /* Define to 1 if the system has the type `PROCESSOR_RELATIONSHIP'. */ | |
183 | #undef HAVE_PROCESSOR_RELATIONSHIP | |
184 | ||
185 | /* Define to 1 if the system has the type `PSAPI_WORKING_SET_EX_BLOCK'. */ | |
186 | #undef HAVE_PSAPI_WORKING_SET_EX_BLOCK | |
187 | ||
188 | /* Define to 1 if the system has the type `PSAPI_WORKING_SET_EX_INFORMATION'. | |
189 | */ | |
190 | #undef HAVE_PSAPI_WORKING_SET_EX_INFORMATION | |
191 | ||
192 | /* Define to 1 if you have the <pthread_np.h> header file. */ | |
193 | #undef HAVE_PTHREAD_NP_H | |
194 | ||
195 | /* Define to 1 if the system has the type `pthread_t'. */ | |
196 | #undef HAVE_PTHREAD_T | |
197 | ||
198 | /* Define to 1 if you have the `putwc' function. */ | |
199 | #undef HAVE_PUTWC | |
200 | ||
201 | /* Define to 1 if the system has the type `RelationProcessorPackage'. */ | |
202 | #undef HAVE_RELATIONPROCESSORPACKAGE | |
203 | ||
204 | /* Define to 1 if you have the `setlocale' function. */ | |
205 | #undef HAVE_SETLOCALE | |
206 | ||
207 | /* Define to 1 if you have the <stdint.h> header file. */ | |
208 | #undef HAVE_STDINT_H | |
209 | ||
210 | /* Define to 1 if you have the <stdlib.h> header file. */ | |
211 | #undef HAVE_STDLIB_H | |
212 | ||
213 | /* Define to 1 if you have the `strftime' function. */ | |
214 | #undef HAVE_STRFTIME | |
215 | ||
216 | /* Define to 1 if you have the <strings.h> header file. */ | |
217 | #undef HAVE_STRINGS_H | |
218 | ||
219 | /* Define to 1 if you have the <string.h> header file. */ | |
220 | #undef HAVE_STRING_H | |
221 | ||
222 | /* Define to 1 if you have the `strncasecmp' function. */ | |
223 | #undef HAVE_STRNCASECMP | |
224 | ||
225 | /* Define to 1 if you have the `sysctl' function. */ | |
226 | #undef HAVE_SYSCTL | |
227 | ||
228 | /* Define to 1 if you have the `sysctlbyname' function. */ | |
229 | #undef HAVE_SYSCTLBYNAME | |
230 | ||
231 | /* Define to 1 if the system has the type | |
232 | `SYSTEM_LOGICAL_PROCESSOR_INFORMATION'. */ | |
233 | #undef HAVE_SYSTEM_LOGICAL_PROCESSOR_INFORMATION | |
234 | ||
235 | /* Define to 1 if the system has the type | |
236 | `SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX'. */ | |
237 | #undef HAVE_SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX | |
238 | ||
239 | /* Define to 1 if you have the <sys/cpuset.h> header file. */ | |
240 | #undef HAVE_SYS_CPUSET_H | |
241 | ||
242 | /* Define to 1 if you have the <sys/lgrp_user.h> header file. */ | |
243 | #undef HAVE_SYS_LGRP_USER_H | |
244 | ||
245 | /* Define to 1 if you have the <sys/mman.h> header file. */ | |
246 | #undef HAVE_SYS_MMAN_H | |
247 | ||
248 | /* Define to 1 if you have the <sys/param.h> header file. */ | |
249 | #undef HAVE_SYS_PARAM_H | |
250 | ||
251 | /* Define to 1 if you have the <sys/stat.h> header file. */ | |
252 | #undef HAVE_SYS_STAT_H | |
253 | ||
254 | /* Define to 1 if you have the <sys/sysctl.h> header file. */ | |
255 | #undef HAVE_SYS_SYSCTL_H | |
256 | ||
257 | /* Define to 1 if you have the <sys/types.h> header file. */ | |
258 | #undef HAVE_SYS_TYPES_H | |
259 | ||
260 | /* Define to 1 if you have the <sys/utsname.h> header file. */ | |
261 | #undef HAVE_SYS_UTSNAME_H | |
262 | ||
263 | /* Define to 1 if you have the <term.h> header file. */ | |
264 | #undef HAVE_TERM_H | |
265 | ||
266 | /* Define to 1 if you have the `uname' function. */ | |
267 | #undef HAVE_UNAME | |
268 | ||
269 | /* Define to 1 if you have the <unistd.h> header file. */ | |
270 | #undef HAVE_UNISTD_H | |
271 | ||
272 | /* Define to 1 if the system has the type `wchar_t'. */ | |
273 | #undef HAVE_WCHAR_T | |
274 | ||
275 | /* Define to 1 if you have the <X11/keysym.h> header file. */ | |
276 | #undef HAVE_X11_KEYSYM_H | |
277 | ||
278 | /* Define to 1 if you have the <X11/Xlib.h> header file. */ | |
279 | #undef HAVE_X11_XLIB_H | |
280 | ||
281 | /* Define to 1 if you have the <X11/Xutil.h> header file. */ | |
282 | #undef HAVE_X11_XUTIL_H | |
283 | ||
284 | /* Define to 1 on AIX */ | |
285 | #undef HWLOC_AIX_SYS | |
286 | ||
287 | /* Whether C compiler supports -fvisibility */ | |
288 | #undef HWLOC_C_HAVE_VISIBILITY | |
289 | ||
290 | /* Define to 1 on Darwin */ | |
291 | #undef HWLOC_DARWIN_SYS | |
292 | ||
293 | /* Whether we are in debugging mode or not */ | |
294 | #undef HWLOC_DEBUG | |
295 | ||
296 | /* Define to 1 on *FREEBSD */ | |
297 | #undef HWLOC_FREEBSD_SYS | |
298 | ||
299 | /* Whether your compiler has __attribute__ or not */ | |
300 | #undef HWLOC_HAVE_ATTRIBUTE | |
301 | ||
302 | /* Whether your compiler has __attribute__ aligned or not */ | |
303 | #undef HWLOC_HAVE_ATTRIBUTE_ALIGNED | |
304 | ||
305 | /* Whether your compiler has __attribute__ always_inline or not */ | |
306 | #undef HWLOC_HAVE_ATTRIBUTE_ALWAYS_INLINE | |
307 | ||
308 | /* Whether your compiler has __attribute__ cold or not */ | |
309 | #undef HWLOC_HAVE_ATTRIBUTE_COLD | |
310 | ||
311 | /* Whether your compiler has __attribute__ const or not */ | |
312 | #undef HWLOC_HAVE_ATTRIBUTE_CONST | |
313 | ||
314 | /* Whether your compiler has __attribute__ deprecated or not */ | |
315 | #undef HWLOC_HAVE_ATTRIBUTE_DEPRECATED | |
316 | ||
317 | /* Whether your compiler has __attribute__ format or not */ | |
318 | #undef HWLOC_HAVE_ATTRIBUTE_FORMAT | |
319 | ||
320 | /* Whether your compiler has __attribute__ hot or not */ | |
321 | #undef HWLOC_HAVE_ATTRIBUTE_HOT | |
322 | ||
323 | /* Whether your compiler has __attribute__ malloc or not */ | |
324 | #undef HWLOC_HAVE_ATTRIBUTE_MALLOC | |
325 | ||
326 | /* Whether your compiler has __attribute__ may_alias or not */ | |
327 | #undef HWLOC_HAVE_ATTRIBUTE_MAY_ALIAS | |
328 | ||
329 | /* Whether your compiler has __attribute__ nonnull or not */ | |
330 | #undef HWLOC_HAVE_ATTRIBUTE_NONNULL | |
331 | ||
332 | /* Whether your compiler has __attribute__ noreturn or not */ | |
333 | #undef HWLOC_HAVE_ATTRIBUTE_NORETURN | |
334 | ||
335 | /* Whether your compiler has __attribute__ no_instrument_function or not */ | |
336 | #undef HWLOC_HAVE_ATTRIBUTE_NO_INSTRUMENT_FUNCTION | |
337 | ||
338 | /* Whether your compiler has __attribute__ packed or not */ | |
339 | #undef HWLOC_HAVE_ATTRIBUTE_PACKED | |
340 | ||
341 | /* Whether your compiler has __attribute__ pure or not */ | |
342 | #undef HWLOC_HAVE_ATTRIBUTE_PURE | |
343 | ||
344 | /* Whether your compiler has __attribute__ sentinel or not */ | |
345 | #undef HWLOC_HAVE_ATTRIBUTE_SENTINEL | |
346 | ||
347 | /* Whether your compiler has __attribute__ unused or not */ | |
348 | #undef HWLOC_HAVE_ATTRIBUTE_UNUSED | |
349 | ||
350 | /* Whether your compiler has __attribute__ warn unused result or not */ | |
351 | #undef HWLOC_HAVE_ATTRIBUTE_WARN_UNUSED_RESULT | |
352 | ||
353 | /* Whether your compiler has __attribute__ weak alias or not */ | |
354 | #undef HWLOC_HAVE_ATTRIBUTE_WEAK_ALIAS | |
355 | ||
356 | /* Define to 1 if you have the `cairo' library. */ | |
357 | #undef HWLOC_HAVE_CAIRO | |
358 | ||
359 | /* Define to 1 if you have the `clz' function. */ | |
360 | #undef HWLOC_HAVE_CLZ | |
361 | ||
362 | /* Define to 1 if you have the `clzl' function. */ | |
363 | #undef HWLOC_HAVE_CLZL | |
364 | ||
365 | /* Define to 1 if you have cpuid */ | |
366 | #undef HWLOC_HAVE_CPUID | |
367 | ||
368 | /* Define to 1 if the CPU_SET macro works */ | |
369 | #undef HWLOC_HAVE_CPU_SET | |
370 | ||
371 | /* Define to 1 if the CPU_SET_S macro works */ | |
372 | #undef HWLOC_HAVE_CPU_SET_S | |
373 | ||
374 | /* Define to 1 if function `clz' is declared by system headers */ | |
375 | #undef HWLOC_HAVE_DECL_CLZ | |
376 | ||
377 | /* Define to 1 if function `clzl' is declared by system headers */ | |
378 | #undef HWLOC_HAVE_DECL_CLZL | |
379 | ||
380 | /* Define to 1 if function `ffs' is declared by system headers */ | |
381 | #undef HWLOC_HAVE_DECL_FFS | |
382 | ||
383 | /* Define to 1 if function `ffsl' is declared by system headers */ | |
384 | #undef HWLOC_HAVE_DECL_FFSL | |
385 | ||
386 | /* Define to 1 if function `fls' is declared by system headers */ | |
387 | #undef HWLOC_HAVE_DECL_FLS | |
388 | ||
389 | /* Define to 1 if function `flsl' is declared by system headers */ | |
390 | #undef HWLOC_HAVE_DECL_FLSL | |
391 | ||
392 | /* Define to 1 if you have the `ffs' function. */ | |
393 | #undef HWLOC_HAVE_FFS | |
394 | ||
395 | /* Define to 1 if you have the `ffsl' function. */ | |
396 | #undef HWLOC_HAVE_FFSL | |
397 | ||
398 | /* Define to 1 if you have the `fls' function. */ | |
399 | #undef HWLOC_HAVE_FLS | |
400 | ||
401 | /* Define to 1 if you have the `flsl' function. */ | |
402 | #undef HWLOC_HAVE_FLSL | |
403 | ||
404 | /* Define to 1 if you have a library providing the termcap interface */ | |
405 | #undef HWLOC_HAVE_LIBTERMCAP | |
406 | ||
407 | /* Define to 1 if mbind is available. */ | |
408 | #undef HWLOC_HAVE_MBIND | |
409 | ||
410 | /* Define to 1 if migrate_pages is available. */ | |
411 | #undef HWLOC_HAVE_MIGRATE_PAGES | |
412 | ||
413 | /* Define to 1 if glibc provides the old prototype of sched_setaffinity() */ | |
414 | #undef HWLOC_HAVE_OLD_SCHED_SETAFFINITY | |
415 | ||
416 | /* `Define to 1 if you have pthread_getthrds_np' */ | |
417 | #undef HWLOC_HAVE_PTHREAD_GETTHRDS_NP | |
418 | ||
419 | /* Define to 1 if set_mempolicy is available. */ | |
420 | #undef HWLOC_HAVE_SET_MEMPOLICY | |
421 | ||
422 | /* Define to 1 if you have the <stdint.h> header file. */ | |
423 | #undef HWLOC_HAVE_STDINT_H | |
424 | ||
425 | /* Define to 1 if you have the `windows.h' header. */ | |
426 | #undef HWLOC_HAVE_WINDOWS_H | |
427 | ||
428 | /* Define to 1 if X11 libraries are available. */ | |
429 | #undef HWLOC_HAVE_X11 | |
430 | ||
431 | /* Define to 1 if you have the `xml' library. */ | |
432 | #undef HWLOC_HAVE_XML | |
433 | ||
434 | /* Define to 1 if the _syscall3 macro works */ | |
435 | #undef HWLOC_HAVE__SYSCALL3 | |
436 | ||
437 | /* Define to 1 on HP-UX */ | |
438 | #undef HWLOC_HPUX_SYS | |
439 | ||
440 | /* Define to 1 on Irix */ | |
441 | #undef HWLOC_IRIX_SYS | |
442 | ||
443 | /* Define to 1 on Linux */ | |
444 | #undef HWLOC_LINUX_SYS | |
445 | ||
446 | /* Major version of hwloc */ | |
447 | #undef HWLOC_MAJOR_VERSION | |
448 | ||
449 | /* Minor version of hwloc */ | |
450 | #undef HWLOC_MINOR_VERSION | |
451 | ||
452 | /* Define to 1 on OSF */ | |
453 | #undef HWLOC_OSF_SYS | |
454 | ||
455 | /* Release version of hwloc */ | |
456 | #undef HWLOC_RELEASE_VERSION | |
457 | ||
458 | /* The size of `unsigned int', as computed by sizeof */ | |
459 | #undef HWLOC_SIZEOF_UNSIGNED_INT | |
460 | ||
461 | /* The size of `unsigned long', as computed by sizeof */ | |
462 | #undef HWLOC_SIZEOF_UNSIGNED_LONG | |
463 | ||
464 | /* Define to 1 on Solaris */ | |
465 | #undef HWLOC_SOLARIS_SYS | |
466 | ||
467 | /* The hwloc symbol prefix */ | |
468 | #undef HWLOC_SYM_PREFIX | |
469 | ||
470 | /* The hwloc symbol prefix in all caps */ | |
471 | #undef HWLOC_SYM_PREFIX_CAPS | |
472 | ||
473 | /* Whether we need to re-define all the hwloc public symbols or not */ | |
474 | #undef HWLOC_SYM_TRANSFORM | |
475 | ||
476 | /* Define to 1 on unsupported systems */ | |
477 | #undef HWLOC_UNSUPPORTED_SYS | |
478 | ||
479 | /* Define to 1 on WINDOWS */ | |
480 | #undef HWLOC_WIN_SYS | |
481 | ||
482 | /* Define to 1 on x86_32 */ | |
483 | #undef HWLOC_X86_32_ARCH | |
484 | ||
485 | /* Define to 1 on x86_64 */ | |
486 | #undef HWLOC_X86_64_ARCH | |
487 | ||
488 | /* Define to the sub-directory in which libtool stores uninstalled libraries. | |
489 | */ | |
490 | #undef LT_OBJDIR | |
491 | ||
492 | /* Define to 1 if your C compiler doesn't accept -c and -o together. */ | |
493 | #undef NO_MINUS_C_MINUS_O | |
494 | ||
495 | /* Name of package */ | |
496 | #undef PACKAGE | |
497 | ||
498 | /* Define to the address where bug reports for this package should be sent. */ | |
499 | #undef PACKAGE_BUGREPORT | |
500 | ||
501 | /* Define to the full name of this package. */ | |
502 | #undef PACKAGE_NAME | |
503 | ||
504 | /* Define to the full name and version of this package. */ | |
505 | #undef PACKAGE_STRING | |
506 | ||
507 | /* Define to the one symbol short name of this package. */ | |
508 | #undef PACKAGE_TARNAME | |
509 | ||
510 | /* Define to the home page for this package. */ | |
511 | #undef PACKAGE_URL | |
512 | ||
513 | /* Define to the version of this package. */ | |
514 | #undef PACKAGE_VERSION | |
515 | ||
516 | /* The size of `unsigned int', as computed by sizeof. */ | |
517 | #undef SIZEOF_UNSIGNED_INT | |
518 | ||
519 | /* The size of `unsigned long', as computed by sizeof. */ | |
520 | #undef SIZEOF_UNSIGNED_LONG | |
521 | ||
522 | /* The size of `void *', as computed by sizeof. */ | |
523 | #undef SIZEOF_VOID_P | |
524 | ||
525 | /* Define to 1 if you have the ANSI C header files. */ | |
526 | #undef STDC_HEADERS | |
527 | ||
528 | /* Enable extensions on HP-UX. */ | |
529 | #ifndef _HPUX_SOURCE | |
530 | # undef _HPUX_SOURCE | |
531 | #endif | |
532 | ||
533 | ||
534 | /* Enable extensions on AIX 3, Interix. */ | |
535 | #ifndef _ALL_SOURCE | |
536 | # undef _ALL_SOURCE | |
537 | #endif | |
538 | /* Enable GNU extensions on systems that have them. */ | |
539 | #ifndef _GNU_SOURCE | |
540 | # undef _GNU_SOURCE | |
541 | #endif | |
542 | /* Enable threading extensions on Solaris. */ | |
543 | #ifndef _POSIX_PTHREAD_SEMANTICS | |
544 | # undef _POSIX_PTHREAD_SEMANTICS | |
545 | #endif | |
546 | /* Enable extensions on HP NonStop. */ | |
547 | #ifndef _TANDEM_SOURCE | |
548 | # undef _TANDEM_SOURCE | |
549 | #endif | |
550 | /* Enable general extensions on Solaris. */ | |
551 | #ifndef __EXTENSIONS__ | |
552 | # undef __EXTENSIONS__ | |
553 | #endif | |
554 | ||
555 | ||
556 | /* Version number of package */ | |
557 | #undef VERSION | |
558 | ||
559 | /* Define to 1 if the X Window System is missing or not being used. */ | |
560 | #undef X_DISPLAY_MISSING | |
561 | ||
562 | /* Are we building for HP-UX? */ | |
563 | #undef _HPUX_SOURCE | |
564 | ||
565 | /* Define to 1 if on MINIX. */ | |
566 | #undef _MINIX | |
567 | ||
568 | /* Define to 2 if the system does not provide POSIX.1 features except with | |
569 | this defined. */ | |
570 | #undef _POSIX_1_SOURCE | |
571 | ||
572 | /* Define to 1 if you need to in order for `stat' and other things to work. */ | |
573 | #undef _POSIX_SOURCE | |
574 | ||
575 | /* Define this to a keyword that can safely replace inline in installed | |
576 | headers */ | |
577 | #undef __hwloc_inline | |
578 | ||
579 | /* Define this to the process ID type */ | |
580 | #undef hwloc_pid_t | |
581 | ||
582 | /* Define this to either strncasecmp or strncmp */ | |
583 | #undef hwloc_strncasecmp | |
584 | ||
585 | /* Define this to the thread ID type */ | |
586 | #undef hwloc_thread_t | |
587 | ||
588 | ||
589 | #endif /* HWLOC_CONFIGURE_H */ | |
590 |
1 | 1 | * Copyright © 2009 CNRS |
2 | 2 | * Copyright © 2009-2010 INRIA |
3 | 3 | * Copyright © 2009 Université Bordeaux 1 |
4 | * Copyright © 2011 Cisco Systems, Inc. All rights reserved. | |
4 | 5 | * See COPYING in top-level directory. |
5 | 6 | */ |
6 | 7 | |
9 | 10 | #ifndef HWLOC_DEBUG_H |
10 | 11 | #define HWLOC_DEBUG_H |
11 | 12 | |
12 | #include <private/config.h> | |
13 | #include <private/autogen/config.h> | |
13 | 14 | |
14 | 15 | #ifdef HWLOC_DEBUG |
15 | 16 | #define hwloc_debug(s, ...) fprintf(stderr, s, ##__VA_ARGS__) |
1 | 1 | * Copyright © 2009 CNRS |
2 | 2 | * Copyright © 2009-2010 INRIA |
3 | 3 | * Copyright © 2009-2010 Université Bordeaux 1 |
4 | * Copyright © 2011 Cisco Systems, Inc. All rights reserved. | |
4 | 5 | * See COPYING in top-level directory. |
5 | 6 | */ |
6 | 7 | |
9 | 10 | #ifndef HWLOC_PRIVATE_MISC_H |
10 | 11 | #define HWLOC_PRIVATE_MISC_H |
11 | 12 | |
12 | #include <hwloc/config.h> | |
13 | #include <private/config.h> | |
13 | #include <hwloc/autogen/config.h> | |
14 | #include <private/autogen/config.h> | |
14 | 15 | #include <private/private.h> |
15 | 16 | |
16 | 17 |
1 | 1 | * Copyright © 2009 CNRS |
2 | 2 | * Copyright © 2009-2010 INRIA |
3 | 3 | * Copyright © 2009-2010 Université Bordeaux 1 |
4 | * Copyright © 2009-2010 Cisco Systems, Inc. All rights reserved. | |
4 | * Copyright © 2009-2011 Cisco Systems, Inc. All rights reserved. | |
5 | 5 | * |
6 | 6 | * See COPYING in top-level directory. |
7 | 7 | */ |
11 | 11 | #ifndef HWLOC_PRIVATE_H |
12 | 12 | #define HWLOC_PRIVATE_H |
13 | 13 | |
14 | #include <private/config.h> | |
14 | #include <private/autogen/config.h> | |
15 | 15 | #include <hwloc.h> |
16 | 16 | #include <hwloc/bitmap.h> |
17 | 17 | #include <private/debug.h> |
78 | 78 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ |
79 | 79 | $(ACLOCAL_M4) |
80 | 80 | mkinstalldirs = $(install_sh) -d |
81 | CONFIG_HEADER = $(top_builddir)/include/private/config.h \ | |
82 | $(top_builddir)/include/hwloc/config.h | |
81 | CONFIG_HEADER = $(top_builddir)/include/private/autogen/config.h \ | |
82 | $(top_builddir)/include/hwloc/autogen/config.h | |
83 | 83 | CONFIG_CLEAN_FILES = |
84 | 84 | CONFIG_CLEAN_VPATH_FILES = |
85 | 85 | am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; |
148 | 148 | $(AM_CFLAGS) $(CFLAGS) $(libhwloc_embedded_la_LDFLAGS) \ |
149 | 149 | $(LDFLAGS) -o $@ |
150 | 150 | @HWLOC_BUILD_STANDALONE_FALSE@am_libhwloc_embedded_la_rpath = |
151 | DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include/private -I$(top_builddir)/include/hwloc | |
151 | DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include/private/autogen -I$(top_builddir)/include/hwloc/autogen | |
152 | 152 | depcomp = $(SHELL) $(top_srcdir)/./config/depcomp |
153 | 153 | am__depfiles_maybe = depfiles |
154 | 154 | am__mv = mv -f |
1 | 1 | * Copyright © 2009 CNRS |
2 | 2 | * Copyright © 2009-2010 INRIA |
3 | 3 | * Copyright © 2009-2010 Université Bordeaux 1 |
4 | * Copyright © 2011 Cisco Systems, Inc. All rights reserved. | |
4 | 5 | * See COPYING in top-level directory. |
5 | 6 | */ |
6 | 7 | |
7 | #include <private/config.h> | |
8 | #include <private/autogen/config.h> | |
8 | 9 | #include <hwloc.h> |
9 | 10 | #include <private/private.h> |
10 | 11 | #include <hwloc/helper.h> |
1 | 1 | * Copyright © 2009 CNRS |
2 | 2 | * Copyright © 2009-2010 INRIA |
3 | 3 | * Copyright © 2009-2010 Université Bordeaux 1 |
4 | * Copyright © 2009 Cisco Systems, Inc. All rights reserved. | |
4 | * Copyright © 2009-2011 Cisco Systems, Inc. All rights reserved. | |
5 | 5 | * See COPYING in top-level directory. |
6 | 6 | */ |
7 | 7 | |
13 | 13 | #error Do not include cpuset.h in cpuset.c |
14 | 14 | #endif |
15 | 15 | |
16 | #include <private/config.h> | |
16 | #include <private/autogen/config.h> | |
17 | 17 | #include <private/misc.h> |
18 | 18 | #include <private/private.h> |
19 | 19 | #include <hwloc/bitmap.h> |
1035 | 1035 | */ |
1036 | 1036 | |
1037 | 1037 | /* for HWLOC_DECLSPEC */ |
1038 | #include <hwloc/config.h> | |
1038 | #include <hwloc/autogen/config.h> | |
1039 | 1039 | |
1040 | 1040 | /* forward declarations (public headers do not export this API anymore) */ |
1041 | 1041 | HWLOC_DECLSPEC struct hwloc_bitmap_s * hwloc_cpuset_alloc(void); |
1 | 1 | * Copyright © 2009 CNRS |
2 | 2 | * Copyright © 2009-2010 INRIA |
3 | 3 | * Copyright © 2009-2010 Université Bordeaux 1 |
4 | * Copyright © 2009-2010 Cisco Systems, Inc. All rights reserved. | |
4 | * Copyright © 2009-2011 Cisco Systems, Inc. All rights reserved. | |
5 | 5 | * See COPYING in top-level directory. |
6 | 6 | */ |
7 | 7 | |
8 | #include <private/config.h> | |
8 | #include <private/autogen/config.h> | |
9 | 9 | #include <private/misc.h> |
10 | 10 | |
11 | 11 | #include <stdarg.h> |
1 | 1 | * Copyright © 2009 CNRS |
2 | 2 | * Copyright © 2009-2010 INRIA |
3 | 3 | * Copyright © 2009-2010 Université Bordeaux 1 |
4 | * Copyright © 2011 Cisco Systems, Inc. All rights reserved. | |
4 | 5 | * See COPYING in top-level directory. |
5 | 6 | */ |
6 | 7 | |
7 | 8 | /* TODO: use SIGRECONFIG & dr_reconfig for state change */ |
8 | 9 | |
9 | #include <private/config.h> | |
10 | #include <private/autogen/config.h> | |
10 | 11 | |
11 | 12 | #include <sys/types.h> |
12 | 13 | #include <dirent.h> |
1 | 1 | * Copyright © 2009 CNRS |
2 | 2 | * Copyright © 2009-2010 INRIA |
3 | 3 | * Copyright © 2009-2010 Université Bordeaux 1 |
4 | * Copyright © 2009 Cisco Systems, Inc. All rights reserved. | |
4 | * Copyright © 2009-2011 Cisco Systems, Inc. All rights reserved. | |
5 | 5 | * See COPYING in top-level directory. |
6 | 6 | */ |
7 | 7 | |
10 | 10 | |
11 | 11 | /* Apparently, Darwin people do not _want_ to provide binding functions. */ |
12 | 12 | |
13 | #include <private/config.h> | |
13 | #include <private/autogen/config.h> | |
14 | 14 | |
15 | 15 | #include <sys/types.h> |
16 | 16 | #include <sys/sysctl.h> |
1 | 1 | * Copyright © 2009 CNRS |
2 | 2 | * Copyright © 2009-2010 INRIA |
3 | 3 | * Copyright © 2009-2010 Université Bordeaux 1 |
4 | * Copyright © 2011 Cisco Systems, Inc. All rights reserved. | |
4 | 5 | * See COPYING in top-level directory. |
5 | 6 | */ |
6 | 7 | |
7 | #include <private/config.h> | |
8 | #include <private/autogen/config.h> | |
8 | 9 | |
9 | 10 | #include <sys/types.h> |
10 | 11 | #include <stdlib.h> |
1 | 1 | * Copyright © 2009 CNRS |
2 | 2 | * Copyright © 2009-2010 INRIA |
3 | 3 | * Copyright © 2009-2010 Université Bordeaux 1 |
4 | * Copyright © 2011 Cisco Systems, Inc. All rights reserved. | |
4 | 5 | * See COPYING in top-level directory. |
5 | 6 | */ |
6 | 7 | |
13 | 14 | pthread_pset_bind_np() |
14 | 15 | */ |
15 | 16 | |
16 | #include <private/config.h> | |
17 | #include <private/autogen/config.h> | |
17 | 18 | |
18 | 19 | #include <sys/types.h> |
19 | 20 | #include <unistd.h> |
1 | 1 | * Copyright © 2009 CNRS |
2 | 2 | * Copyright © 2009-2010 INRIA |
3 | 3 | * Copyright © 2009-2010 Université Bordeaux 1 |
4 | * Copyright © 2009 Cisco Systems, Inc. All rights reserved. | |
4 | * Copyright © 2009-2011 Cisco Systems, Inc. All rights reserved. | |
5 | 5 | * Copyright © 2010 IBM |
6 | 6 | * See COPYING in top-level directory. |
7 | 7 | */ |
8 | 8 | |
9 | #include <private/config.h> | |
9 | #include <private/autogen/config.h> | |
10 | 10 | #include <hwloc.h> |
11 | 11 | #include <hwloc/linux.h> |
12 | 12 | #include <private/misc.h> |
861 | 861 | unsigned max_os_index = 0; /* highest os_index + 1 */ |
862 | 862 | unsigned long *linuxmask; |
863 | 863 | unsigned i; |
864 | hwloc_nodeset_t linux_nodeset = NULL; | |
865 | ||
866 | if (hwloc_bitmap_isfull(nodeset)) { | |
867 | linux_nodeset = hwloc_bitmap_alloc(); | |
868 | hwloc_bitmap_only(linux_nodeset, 0); | |
869 | nodeset = linux_nodeset; | |
870 | } | |
864 | 871 | |
865 | 872 | max_os_index = hwloc_bitmap_last(nodeset); |
866 | 873 | if (max_os_index == (unsigned) -1) |
876 | 883 | |
877 | 884 | for(i=0; i<max_os_index/HWLOC_BITS_PER_LONG; i++) |
878 | 885 | linuxmask[i] = hwloc_bitmap_to_ith_ulong(nodeset, i); |
886 | ||
887 | if (linux_nodeset) | |
888 | hwloc_bitmap_free(linux_nodeset); | |
879 | 889 | |
880 | 890 | *max_os_index_p = max_os_index; |
881 | 891 | *linuxmaskp = linuxmask; |
1973 | 1983 | look_powerpc_device_tree_discover_cache(device_tree_cpus_t *cpus, |
1974 | 1984 | uint32_t ibm_phandle, unsigned int *level, hwloc_bitmap_t cpuset) |
1975 | 1985 | { |
1986 | unsigned int i; | |
1976 | 1987 | int ret = -1; |
1977 | 1988 | if ((NULL == level) || (NULL == cpuset)) |
1978 | 1989 | return ret; |
1979 | for (unsigned int i = 0; i < cpus->n; ++i) { | |
1990 | for (i = 0; i < cpus->n; ++i) { | |
1980 | 1991 | if (ibm_phandle != cpus->p[i].l2_cache) |
1981 | 1992 | continue; |
1982 | 1993 | if (NULL != cpus->p[i].cpuset) { |
2032 | 2043 | { |
2033 | 2044 | device_tree_cpus_t cpus = { .n = 0, .p = NULL, .allocated = 0 }; |
2034 | 2045 | const char ofroot[] = "/proc/device-tree/cpus"; |
2046 | unsigned int i; | |
2035 | 2047 | |
2036 | 2048 | int root_fd = topology->backend_params.sysfs.root_fd; |
2037 | 2049 | DIR *dt = hwloc_opendir(ofroot, root_fd); |
2074 | 2086 | |
2075 | 2087 | if (NULL != threads) { |
2076 | 2088 | cpuset = hwloc_bitmap_alloc(); |
2077 | for (unsigned int i = 0; i < nthreads; ++i) { | |
2078 | hwloc_bitmap_set(cpuset, ntohl(threads[i])); | |
2089 | for (i = 0; i < nthreads; ++i) { | |
2090 | if (hwloc_bitmap_isset(topology->levels[0][0]->complete_cpuset, ntohl(threads[i]))) | |
2091 | hwloc_bitmap_set(cpuset, ntohl(threads[i])); | |
2079 | 2092 | } |
2080 | 2093 | free(threads); |
2081 | 2094 | } else if ((unsigned int)-1 != reg) { |
2110 | 2123 | } |
2111 | 2124 | |
2112 | 2125 | #ifdef HWLOC_DEBUG |
2113 | for (unsigned int i = 0; i < cpus.n; ++i) { | |
2126 | for (i = 0; i < cpus.n; ++i) { | |
2114 | 2127 | hwloc_debug("%i: %s ibm,phandle=%08X l2_cache=%08X ", |
2115 | 2128 | i, cpus.p[i].name, cpus.p[i].ibm_phandle, cpus.p[i].l2_cache); |
2116 | 2129 | if (NULL == cpus.p[i].cpuset) { |
2122 | 2135 | #endif |
2123 | 2136 | |
2124 | 2137 | /* Scan L2/L3/... caches */ |
2125 | for (unsigned int i = 0; i < cpus.n; ++i) { | |
2138 | for (i = 0; i < cpus.n; ++i) { | |
2126 | 2139 | /* Skip real CPUs */ |
2127 | 2140 | if (NULL != cpus.p[i].cpuset) |
2128 | 2141 | continue; |
2142 | 2155 | } |
2143 | 2156 | |
2144 | 2157 | /* Do cleanup */ |
2145 | for (unsigned int i = 0; i < cpus.n; ++i) { | |
2158 | for (i = 0; i < cpus.n; ++i) { | |
2146 | 2159 | hwloc_bitmap_free(cpus.p[i].cpuset); |
2147 | 2160 | free(cpus.p[i].name); |
2148 | 2161 | } |
1 | 1 | * Copyright © 2009 CNRS |
2 | 2 | * Copyright © 2009-2010 INRIA |
3 | 3 | * Copyright © 2009-2010 Université Bordeaux 1 |
4 | * Copyright © 2011 Cisco Systems, Inc. All rights reserved. | |
4 | 5 | * See COPYING in top-level directory. |
5 | 6 | */ |
6 | 7 | |
7 | #include <private/config.h> | |
8 | #include <private/autogen/config.h> | |
8 | 9 | |
9 | 10 | #include <sys/types.h> |
10 | 11 | #include <dirent.h> |
0 | 0 | /* |
1 | 1 | * Copyright © 2009 CNRS |
2 | 2 | * Copyright © 2009-2010 INRIA |
3 | * Copyright © 2009-2010 Université Bordeaux 1 | |
3 | * Copyright © 2009-2011 Université Bordeaux 1 | |
4 | * Copyright © 2011 Cisco Systems, Inc. All rights reserved. | |
4 | 5 | * See COPYING in top-level directory. |
5 | 6 | */ |
6 | 7 | |
7 | #include <private/config.h> | |
8 | #include <private/autogen/config.h> | |
8 | 9 | #include <hwloc.h> |
9 | 10 | #include <private/private.h> |
10 | 11 | #include <private/debug.h> |
29 | 30 | static int |
30 | 31 | hwloc_solaris_set_sth_cpubind(hwloc_topology_t topology, idtype_t idtype, id_t id, hwloc_const_bitmap_t hwloc_set, int flags) |
31 | 32 | { |
32 | unsigned target; | |
33 | unsigned target_cpu; | |
33 | 34 | |
34 | 35 | /* The resulting binding is always strict */ |
35 | 36 | |
98 | 99 | return -1; |
99 | 100 | } |
100 | 101 | |
101 | target = hwloc_bitmap_first(hwloc_set); | |
102 | target_cpu = hwloc_bitmap_first(hwloc_set); | |
102 | 103 | |
103 | 104 | if (processor_bind(idtype, id, |
104 | (processorid_t) (target), NULL) != 0) | |
105 | (processorid_t) (target_cpu), NULL) != 0) | |
105 | 106 | return -1; |
106 | 107 | |
107 | 108 | return 0; |
0 | 0 | /* |
1 | 1 | * Copyright © 2009 CNRS |
2 | * Copyright © 2009-2010 INRIA | |
2 | * Copyright © 2009-2011 INRIA. All rights reserved. | |
3 | 3 | * Copyright © 2009-2010 Université Bordeaux 1 |
4 | * Copyright © 2009 Cisco Systems, Inc. All rights reserved. | |
4 | * Copyright © 2009-2011 Cisco Systems, Inc. All rights reserved. | |
5 | 5 | * See COPYING in top-level directory. |
6 | 6 | */ |
7 | 7 | |
8 | #include <private/config.h> | |
8 | #include <private/autogen/config.h> | |
9 | 9 | #include <hwloc.h> |
10 | 10 | #include <private/private.h> |
11 | 11 | #include <private/misc.h> |
63 | 63 | next_pos = strchr(pos, ':'); |
64 | 64 | if (!next_pos) { |
65 | 65 | fprintf(stderr,"synthetic string doesn't have a `:' after object type at '%s'\n", pos); |
66 | errno = EINVAL; | |
66 | 67 | return -1; |
67 | 68 | } |
68 | 69 | pos = next_pos + 1; |
70 | 71 | item = strtoul(pos, (char **)&next_pos, 0); |
71 | 72 | if (next_pos == pos) { |
72 | 73 | fprintf(stderr,"synthetic string doesn't have a number of objects at '%s'\n", pos); |
74 | errno = EINVAL; | |
73 | 75 | return -1; |
74 | 76 | } |
75 | 77 | |
76 | 78 | if (count + 1 >= HWLOC_SYNTHETIC_MAX_DEPTH) { |
77 | 79 | fprintf(stderr,"Too many synthetic levels, max %d\n", HWLOC_SYNTHETIC_MAX_DEPTH); |
80 | errno = EINVAL; | |
78 | 81 | return -1; |
79 | 82 | } |
80 | 83 | if (item > UINT_MAX) { |
81 | 84 | fprintf(stderr,"Too big arity, max %u\n", UINT_MAX); |
85 | errno = EINVAL; | |
82 | 86 | return -1; |
83 | 87 | } |
84 | 88 | |
89 | 93 | |
90 | 94 | if (count <= 0) { |
91 | 95 | fprintf(stderr,"synthetic string doesn't contain any object\n"); |
96 | errno = EINVAL; | |
92 | 97 | return -1; |
93 | 98 | } |
94 | 99 | |
120 | 125 | case HWLOC_OBJ_PU: |
121 | 126 | if (nb_pu_levels) { |
122 | 127 | fprintf(stderr,"synthetic string can not have several PU levels\n"); |
128 | errno = EINVAL; | |
123 | 129 | return -1; |
124 | 130 | } |
125 | 131 | nb_pu_levels++; |
143 | 149 | |
144 | 150 | if (nb_pu_levels > 1) { |
145 | 151 | fprintf(stderr,"synthetic string can not have several PU levels\n"); |
152 | errno = EINVAL; | |
146 | 153 | return -1; |
147 | 154 | } |
148 | 155 | if (nb_node_levels > 1) { |
149 | 156 | fprintf(stderr,"synthetic string can not have several NUMA node levels\n"); |
157 | errno = EINVAL; | |
150 | 158 | return -1; |
151 | 159 | } |
152 | 160 | if (nb_machine_levels > 1) { |
153 | 161 | fprintf(stderr,"synthetic string can not have several machine levels\n"); |
162 | errno = EINVAL; | |
154 | 163 | return -1; |
155 | 164 | } |
156 | 165 | |
244 | 253 | hwloc_bitmap_set(obj->nodeset, obj->os_index); |
245 | 254 | } |
246 | 255 | |
247 | hwloc_insert_object_by_cpuset(topology, obj); | |
248 | ||
249 | 256 | hwloc_bitmap_or(parent_cpuset, parent_cpuset, obj->cpuset); |
250 | 257 | |
251 | 258 | /* post-hooks */ |
287 | 294 | break; |
288 | 295 | } |
289 | 296 | |
297 | hwloc_insert_object_by_cpuset(topology, obj); | |
298 | ||
290 | 299 | return first_cpu; |
291 | 300 | } |
292 | 301 |
1 | 1 | * Copyright © 2009 CNRS |
2 | 2 | * Copyright © 2009-2010 INRIA |
3 | 3 | * Copyright © 2009-2010 Université Bordeaux 1 |
4 | * Copyright © 2011 Cisco Systems, Inc. All rights reserved. | |
4 | 5 | * See COPYING in top-level directory. |
5 | 6 | */ |
6 | 7 | |
7 | 8 | /* To try to get all declarations duplicated below. */ |
8 | 9 | #define _WIN32_WINNT 0x0601 |
9 | 10 | |
10 | #include <private/config.h> | |
11 | #include <private/autogen/config.h> | |
11 | 12 | #include <hwloc.h> |
12 | 13 | #include <private/private.h> |
13 | 14 | #include <private/debug.h> |
0 | 0 | /* |
1 | * Copyright © 2010 INRIA | |
1 | * Copyright © 2010-2011 INRIA. All rights reserved. | |
2 | 2 | * Copyright © 2010 Université Bordeaux 1 |
3 | * Copyright © 2010 Cisco Systems, Inc. All rights reserved. | |
3 | * Copyright © 2010-2011 Cisco Systems, Inc. All rights reserved. | |
4 | 4 | * See COPYING in top-level directory. |
5 | 5 | * |
6 | 6 | * |
13 | 13 | * on various architectures, without having to use this x86-specific code. |
14 | 14 | */ |
15 | 15 | |
16 | #include <private/config.h> | |
16 | #include <private/autogen/config.h> | |
17 | 17 | #include <hwloc.h> |
18 | 18 | #include <private/private.h> |
19 | 19 | #include <private/debug.h> |
236 | 236 | unsigned socketid = infos[i].socketid; |
237 | 237 | |
238 | 238 | socket_cpuset = hwloc_bitmap_alloc(); |
239 | hwloc_bitmap_zero(socket_cpuset); | |
240 | 239 | for (j = i; j < nbprocs; j++) { |
241 | 240 | if (infos[j].socketid == socketid) { |
242 | 241 | hwloc_bitmap_set(socket_cpuset, j); |
268 | 267 | } |
269 | 268 | |
270 | 269 | core_cpuset = hwloc_bitmap_alloc(); |
271 | hwloc_bitmap_zero(core_cpuset); | |
272 | 270 | for (j = i; j < nbprocs; j++) { |
273 | 271 | if (infos[j].coreid == (unsigned) -1) { |
274 | 272 | hwloc_bitmap_clr(cores_cpuset, j); |
321 | 319 | unsigned cacheid = infos[i].apicid / infos[i].cache[l].nbthreads_sharing; |
322 | 320 | |
323 | 321 | cache_cpuset = hwloc_bitmap_alloc(); |
324 | hwloc_bitmap_zero(cache_cpuset); | |
325 | 322 | for (j = i; j < nbprocs; j++) { |
326 | 323 | unsigned l2; |
327 | 324 | for (l2 = 0; l2 < infos[j].numcaches; l2++) { |
1 | 1 | * Copyright © 2009 CNRS |
2 | 2 | * Copyright © 2009-2010 INRIA |
3 | 3 | * Copyright © 2009-2010 Université Bordeaux 1 |
4 | * Copyright © 2009-2010 Cisco Systems, Inc. All rights reserved. | |
4 | * Copyright © 2009-2011 Cisco Systems, Inc. All rights reserved. | |
5 | 5 | * See COPYING in top-level directory. |
6 | 6 | */ |
7 | 7 | |
8 | #include <private/config.h> | |
8 | #include <private/autogen/config.h> | |
9 | 9 | #include <hwloc.h> |
10 | 10 | #include <private/private.h> |
11 | 11 | #include <private/debug.h> |
0 | 0 | /* |
1 | 1 | * Copyright © 2009 CNRS |
2 | * Copyright © 2009-2010 INRIA | |
2 | * Copyright © 2009-2011 INRIA. All rights reserved. | |
3 | 3 | * Copyright © 2009-2010 Université Bordeaux 1 |
4 | * Copyright © 2009-2010 Cisco Systems, Inc. All rights reserved. | |
4 | * Copyright © 2009-2011 Cisco Systems, Inc. All rights reserved. | |
5 | 5 | * See COPYING in top-level directory. |
6 | 6 | */ |
7 | 7 | |
8 | #include <private/config.h> | |
8 | #include <private/autogen/config.h> | |
9 | 9 | |
10 | 10 | #define _ATFILE_SOURCE |
11 | 11 | #include <assert.h> |
47 | 47 | return HWLOC_API_VERSION; |
48 | 48 | } |
49 | 49 | |
50 | static void hwloc_report_error(const char *msg, int line) | |
51 | { | |
52 | static int reported = 0; | |
53 | ||
54 | if (!reported) { | |
55 | fprintf(stderr, "****************************************************************************\n"); | |
56 | fprintf(stderr, "* Hwloc has encountered what looks like an error from the operating system.\n"); | |
57 | fprintf(stderr, "*\n"); | |
58 | fprintf(stderr, "* %s\n", msg); | |
59 | fprintf(stderr, "* Error occurred in topology.c line %d\n", line); | |
60 | fprintf(stderr, "*\n"); | |
61 | fprintf(stderr, "* Please report this error message to the hwloc user's mailing list,\n"); | |
62 | fprintf(stderr, "* along with the output from the hwloc-gather-topology.sh script.\n"); | |
63 | fprintf(stderr, "****************************************************************************\n"); | |
64 | reported = 1; | |
65 | } | |
66 | } | |
50 | 67 | |
51 | 68 | static void |
52 | 69 | hwloc_topology_clear (struct hwloc_topology *topology); |
257 | 274 | hwloc_obj_t misc_obj; |
258 | 275 | misc_obj = hwloc_alloc_setup_object(HWLOC_OBJ_GROUP, -1); |
259 | 276 | misc_obj->cpuset = hwloc_bitmap_alloc(); |
260 | hwloc_bitmap_zero(misc_obj->cpuset); | |
261 | 277 | misc_obj->attr->group.depth = depth; |
262 | 278 | for (j=0; j<nbobjs; j++) |
263 | 279 | if (groupids[j] == i+1) { |
273 | 289 | /* factorize distances */ |
274 | 290 | memset(groupdistances, 0, sizeof(groupdistances)); |
275 | 291 | for(i=0; i<nbobjs; i++) |
292 | if (groupids[i]) | |
276 | 293 | for(j=0; j<nbobjs; j++) |
294 | if (groupids[j]) | |
277 | 295 | groupdistances[groupids[i]-1][groupids[j]-1] += (*distances)[i][j]; |
278 | 296 | for(i=0; i<nbgroups; i++) |
279 | 297 | for(j=0; j<nbgroups; j++) |
700 | 718 | return; |
701 | 719 | case HWLOC_OBJ_INCLUDED: |
702 | 720 | if (container) { |
703 | /* TODO: how to report? */ | |
704 | fprintf(stderr, "object included in several different objects!\n"); | |
721 | hwloc_report_error("object included in several different objects!", __LINE__); | |
705 | 722 | /* We can't handle that. */ |
706 | 723 | return; |
707 | 724 | } |
709 | 726 | container = child; |
710 | 727 | break; |
711 | 728 | case HWLOC_OBJ_INTERSECTS: |
712 | /* TODO: how to report? */ | |
713 | fprintf(stderr, "object intersection without inclusion!\n"); | |
729 | hwloc_report_error("object intersection without inclusion!", __LINE__); | |
714 | 730 | /* We can't handle that. */ |
715 | 731 | return; |
716 | 732 | case HWLOC_OBJ_CONTAINS: |
0 | 0 | /* |
1 | 1 | * Copyright © 2009 CNRS |
2 | * Copyright © 2009-2010 INRIA | |
2 | * Copyright © 2009-2011 INRIA. All rights reserved. | |
3 | 3 | * Copyright © 2009-2010 Université Bordeaux 1 |
4 | * Copyright © 2009 Cisco Systems, Inc. All rights reserved. | |
4 | * Copyright © 2009-2011 Cisco Systems, Inc. All rights reserved. | |
5 | 5 | * See COPYING in top-level directory. |
6 | 6 | */ |
7 | 7 | |
8 | #include <private/config.h> | |
8 | #include <private/autogen/config.h> | |
9 | 9 | #include <hwloc.h> |
10 | 10 | #include <private/private.h> |
11 | 11 | #include <private/misc.h> |
201 | 201 | int |
202 | 202 | hwloc_obj_attr_snprintf(char * __hwloc_restrict string, size_t size, hwloc_obj_t obj, const char * separator, int verbose) |
203 | 203 | { |
204 | char memory[64] = ""; | |
205 | char specific[64] = ""; | |
206 | char infos[256] = ""; | |
207 | 204 | const char *prefix = ""; |
208 | ||
205 | char *tmp = string; | |
206 | ssize_t tmplen = size; | |
207 | int ret = 0; | |
208 | int res; | |
209 | ||
210 | /* make sure we output at least an empty string */ | |
211 | if (size) | |
212 | *string = '\0'; | |
213 | ||
214 | /* print memory attributes */ | |
215 | res = 0; | |
209 | 216 | if (verbose) { |
210 | 217 | if (obj->memory.local_memory) |
211 | hwloc_snprintf(memory, sizeof(memory), "%slocal=%lu%s%stotal=%lu%s", | |
212 | prefix, | |
213 | (unsigned long) hwloc_memory_size_printf_value(obj->memory.total_memory, verbose), | |
214 | hwloc_memory_size_printf_unit(obj->memory.total_memory, verbose), | |
215 | separator, | |
216 | (unsigned long) hwloc_memory_size_printf_value(obj->memory.local_memory, verbose), | |
217 | hwloc_memory_size_printf_unit(obj->memory.local_memory, verbose)); | |
218 | res = hwloc_snprintf(tmp, tmplen, "%slocal=%lu%s%stotal=%lu%s", | |
219 | prefix, | |
220 | (unsigned long) hwloc_memory_size_printf_value(obj->memory.total_memory, verbose), | |
221 | hwloc_memory_size_printf_unit(obj->memory.total_memory, verbose), | |
222 | separator, | |
223 | (unsigned long) hwloc_memory_size_printf_value(obj->memory.local_memory, verbose), | |
224 | hwloc_memory_size_printf_unit(obj->memory.local_memory, verbose)); | |
218 | 225 | else if (obj->memory.total_memory) |
219 | hwloc_snprintf(memory, sizeof(memory), "%stotal=%lu%s", | |
220 | prefix, | |
221 | (unsigned long) hwloc_memory_size_printf_value(obj->memory.total_memory, verbose), | |
222 | hwloc_memory_size_printf_unit(obj->memory.total_memory, verbose)); | |
226 | res = hwloc_snprintf(tmp, tmplen, "%stotal=%lu%s", | |
227 | prefix, | |
228 | (unsigned long) hwloc_memory_size_printf_value(obj->memory.total_memory, verbose), | |
229 | hwloc_memory_size_printf_unit(obj->memory.total_memory, verbose)); | |
223 | 230 | } else { |
224 | 231 | if (obj->memory.total_memory) |
225 | hwloc_snprintf(memory, sizeof(memory), "%s%lu%s", | |
226 | prefix, | |
227 | (unsigned long) hwloc_memory_size_printf_value(obj->memory.total_memory, verbose), | |
228 | hwloc_memory_size_printf_unit(obj->memory.total_memory, verbose)); | |
229 | } | |
230 | if (*memory) | |
232 | res = hwloc_snprintf(tmp, tmplen, "%s%lu%s", | |
233 | prefix, | |
234 | (unsigned long) hwloc_memory_size_printf_value(obj->memory.total_memory, verbose), | |
235 | hwloc_memory_size_printf_unit(obj->memory.total_memory, verbose)); | |
236 | } | |
237 | if (res < 0) | |
238 | return -1; | |
239 | ret += res; | |
240 | if (ret > 0) | |
231 | 241 | prefix = separator; |
232 | ||
242 | if (res >= tmplen) | |
243 | res = tmplen>0 ? tmplen - 1 : 0; | |
244 | tmp += res; | |
245 | tmplen -= res; | |
246 | ||
247 | /* printf type-specific attributes */ | |
248 | res = 0; | |
233 | 249 | switch (obj->type) { |
234 | 250 | case HWLOC_OBJ_CACHE: |
235 | 251 | if (verbose) |
236 | hwloc_snprintf(specific, sizeof(specific), "%s%lu%s%sline=%u", | |
237 | prefix, | |
238 | (unsigned long) hwloc_memory_size_printf_value(obj->attr->cache.size, verbose), | |
239 | hwloc_memory_size_printf_unit(obj->attr->cache.size, verbose), | |
240 | separator, obj->attr->cache.linesize); | |
252 | res = hwloc_snprintf(tmp, tmplen, "%s%lu%s%sline=%u", | |
253 | prefix, | |
254 | (unsigned long) hwloc_memory_size_printf_value(obj->attr->cache.size, verbose), | |
255 | hwloc_memory_size_printf_unit(obj->attr->cache.size, verbose), | |
256 | separator, obj->attr->cache.linesize); | |
241 | 257 | else |
242 | hwloc_snprintf(specific, sizeof(specific), "%s%lu%s", | |
243 | prefix, | |
244 | (unsigned long) hwloc_memory_size_printf_value(obj->attr->cache.size, verbose), | |
245 | hwloc_memory_size_printf_unit(obj->attr->cache.size, verbose)); | |
258 | res = hwloc_snprintf(tmp, tmplen, "%s%lu%s", | |
259 | prefix, | |
260 | (unsigned long) hwloc_memory_size_printf_value(obj->attr->cache.size, verbose), | |
261 | hwloc_memory_size_printf_unit(obj->attr->cache.size, verbose)); | |
246 | 262 | break; |
247 | 263 | default: |
248 | 264 | break; |
249 | 265 | } |
250 | if (*specific) | |
266 | if (res < 0) | |
267 | return -1; | |
268 | ret += res; | |
269 | if (ret > 0) | |
251 | 270 | prefix = separator; |
252 | ||
271 | if (res >= tmplen) | |
272 | res = tmplen>0 ? tmplen - 1 : 0; | |
273 | tmp += res; | |
274 | tmplen -= res; | |
275 | ||
276 | /* printf infos */ | |
253 | 277 | if (verbose) { |
254 | char *tmpinfos = infos; | |
255 | int tmplen = sizeof(infos); | |
256 | int res; | |
257 | 278 | unsigned i; |
258 | 279 | for(i=0; i<obj->infos_count; i++) { |
259 | 280 | if (strchr(obj->infos[i].value, ' ')) |
260 | res = hwloc_snprintf(tmpinfos, tmplen, "%s%s=\"%s\"", | |
281 | res = hwloc_snprintf(tmp, tmplen, "%s%s=\"%s\"", | |
261 | 282 | prefix, |
262 | 283 | obj->infos[i].name, obj->infos[i].value); |
263 | 284 | else |
264 | res = hwloc_snprintf(tmpinfos, tmplen, "%s%s=%s", | |
285 | res = hwloc_snprintf(tmp, tmplen, "%s%s=%s", | |
265 | 286 | prefix, |
266 | 287 | obj->infos[i].name, obj->infos[i].value); |
288 | if (res < 0) | |
289 | return -1; | |
290 | ret += res; | |
267 | 291 | if (res >= tmplen) |
268 | res = tmplen; | |
292 | res = tmplen>0 ? tmplen - 1 : 0; | |
293 | tmp += res; | |
269 | 294 | tmplen -= res; |
270 | tmpinfos += res; | |
271 | } | |
272 | } | |
273 | if (*infos) | |
274 | prefix = separator; | |
275 | ||
276 | return hwloc_snprintf(string, size, "%s%s%s", | |
277 | memory, specific, infos); | |
295 | if (ret > 0) | |
296 | prefix = separator; | |
297 | } | |
298 | } | |
299 | ||
300 | return ret; | |
278 | 301 | } |
279 | 302 | |
280 | 303 |
0 | 0 | # Copyright © 2009-2010 INRIA |
1 | # Copyright © 2009-2010 Université Bordeaux 1 | |
1 | # Copyright © 2009-2011 Université Bordeaux 1 | |
2 | 2 | # Copyright © 2009-2010 Cisco Systems, Inc. All rights reserved. |
3 | 3 | |
4 | 4 | AM_CFLAGS = $(HWLOC_CFLAGS) |
78 | 78 | myriexpress_LDFLAGS = -lmyriexpress |
79 | 79 | cuda_LDFLAGS = -lcuda |
80 | 80 | cudart_LDFLAGS = -lcuda -lcudart |
81 | xmlbuffer = -lxml2 | |
81 | xmlbuffer_LDFLAGS = $(HWLOC_XML_LIBS) | |
82 | 82 | if !HWLOC_HAVE_WINDOWS |
83 | 83 | hwloc_bind_LDFLAGS = -lpthread |
84 | 84 | endif !HWLOC_HAVE_WINDOWS |
15 | 15 | @SET_MAKE@ |
16 | 16 | |
17 | 17 | # Copyright © 2009-2010 INRIA |
18 | # Copyright © 2009-2010 Université Bordeaux 1 | |
18 | # Copyright © 2009-2011 Université Bordeaux 1 | |
19 | 19 | # Copyright © 2009-2010 Cisco Systems, Inc. All rights reserved. |
20 | 20 | VPATH = @srcdir@ |
21 | 21 | pkgdatadir = $(datadir)/@PACKAGE@ |
83 | 83 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ |
84 | 84 | $(ACLOCAL_M4) |
85 | 85 | mkinstalldirs = $(install_sh) -d |
86 | CONFIG_HEADER = $(top_builddir)/include/private/config.h \ | |
87 | $(top_builddir)/include/hwloc/config.h | |
86 | CONFIG_HEADER = $(top_builddir)/include/private/autogen/config.h \ | |
87 | $(top_builddir)/include/hwloc/autogen/config.h | |
88 | 88 | CONFIG_CLEAN_FILES = |
89 | 89 | CONFIG_CLEAN_VPATH_FILES = |
90 | 90 | @HWLOC_BUILD_TESTS_TRUE@@HWLOC_HAVE_LINUX_LIBNUMA_TRUE@am__EXEEXT_1 = linux-libnuma$(EXEEXT) |
228 | 228 | xmlbuffer_OBJECTS = xmlbuffer.$(OBJEXT) |
229 | 229 | xmlbuffer_LDADD = $(LDADD) |
230 | 230 | xmlbuffer_DEPENDENCIES = $(am__append_9) |
231 | DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include/private -I$(top_builddir)/include/hwloc | |
231 | xmlbuffer_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ | |
232 | $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ | |
233 | $(xmlbuffer_LDFLAGS) $(LDFLAGS) -o $@ | |
234 | DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include/private/autogen -I$(top_builddir)/include/hwloc/autogen | |
232 | 235 | depcomp = $(SHELL) $(top_srcdir)/./config/depcomp |
233 | 236 | am__depfiles_maybe = depfiles |
234 | 237 | am__mv = mv -f |
503 | 506 | @HWLOC_BUILD_TESTS_TRUE@myriexpress_LDFLAGS = -lmyriexpress |
504 | 507 | @HWLOC_BUILD_TESTS_TRUE@cuda_LDFLAGS = -lcuda |
505 | 508 | @HWLOC_BUILD_TESTS_TRUE@cudart_LDFLAGS = -lcuda -lcudart |
506 | @HWLOC_BUILD_TESTS_TRUE@xmlbuffer = -lxml2 | |
509 | @HWLOC_BUILD_TESTS_TRUE@xmlbuffer_LDFLAGS = $(HWLOC_XML_LIBS) | |
507 | 510 | @HWLOC_BUILD_TESTS_TRUE@@HWLOC_HAVE_WINDOWS_FALSE@hwloc_bind_LDFLAGS = -lpthread |
508 | 511 | all: all-recursive |
509 | 512 | |
619 | 622 | $(AM_V_CCLD)$(openfabrics_verbs_LINK) $(openfabrics_verbs_OBJECTS) $(openfabrics_verbs_LDADD) $(LIBS) |
620 | 623 | xmlbuffer$(EXEEXT): $(xmlbuffer_OBJECTS) $(xmlbuffer_DEPENDENCIES) |
621 | 624 | @rm -f xmlbuffer$(EXEEXT) |
622 | $(AM_V_CCLD)$(LINK) $(xmlbuffer_OBJECTS) $(xmlbuffer_LDADD) $(LIBS) | |
625 | $(AM_V_CCLD)$(xmlbuffer_LINK) $(xmlbuffer_OBJECTS) $(xmlbuffer_LDADD) $(LIBS) | |
623 | 626 | |
624 | 627 | mostlyclean-compile: |
625 | 628 | -rm -f *.$(OBJEXT) |
0 | 0 | /* |
1 | 1 | * Copyright © 2010 INRIA |
2 | * Copyright © 2011 Cisco Systems, Inc. All rights reserved. | |
2 | 3 | * See COPYING in top-level directory. |
3 | 4 | */ |
4 | 5 | |
5 | 6 | #include <stdio.h> |
6 | 7 | #include <assert.h> |
7 | 8 | #include <cuda.h> |
8 | #include <private/config.h> | |
9 | #include <private/autogen/config.h> | |
9 | 10 | #include <hwloc.h> |
10 | 11 | #include <hwloc/cuda.h> |
11 | 12 |
0 | 0 | /* |
1 | 1 | * Copyright © 2010 INRIA |
2 | * Copyright © 2011 Cisco Systems, Inc. All rights reserved. | |
2 | 3 | * See COPYING in top-level directory. |
3 | 4 | */ |
4 | 5 | |
5 | 6 | #include <stdio.h> |
6 | 7 | #include <assert.h> |
7 | 8 | #include <cuda_runtime_api.h> |
8 | #include <private/config.h> | |
9 | #include <private/autogen/config.h> | |
9 | 10 | #include <hwloc.h> |
10 | 11 | #include <hwloc/cudart.h> |
11 | 12 |
1 | 1 | * Copyright © 2009 CNRS |
2 | 2 | * Copyright © 2009-2010 INRIA |
3 | 3 | * Copyright © 2009 Université Bordeaux 1 |
4 | * Copyright © 2009 Cisco Systems, Inc. All rights reserved. | |
4 | * Copyright © 2009-2011 Cisco Systems, Inc. All rights reserved. | |
5 | 5 | * See COPYING in top-level directory. |
6 | 6 | */ |
7 | 7 | |
8 | 8 | #define _GNU_SOURCE |
9 | 9 | #include <sched.h> |
10 | 10 | #include <assert.h> |
11 | #include <private/config.h> | |
11 | #include <private/autogen/config.h> | |
12 | 12 | #include <hwloc.h> |
13 | 13 | #include <hwloc/glibc-sched.h> |
14 | 14 |
1 | 1 | * Copyright © 2009 CNRS |
2 | 2 | * Copyright © 2009-2010 INRIA |
3 | 3 | * Copyright © 2009-2010 Université Bordeaux 1 |
4 | * Copyright © 2011 Cisco Systems, Inc. All rights reserved. | |
4 | 5 | * See COPYING in top-level directory. |
5 | 6 | */ |
6 | 7 | |
8 | 9 | #include <string.h> |
9 | 10 | #include <errno.h> |
10 | 11 | |
11 | #include <private/config.h> | |
12 | #include <private/autogen/config.h> | |
12 | 13 | #include <hwloc.h> |
13 | #include <private/config.h> | |
14 | 14 | |
15 | 15 | /* check the binding functions */ |
16 | 16 | hwloc_topology_t topology; |
1 | 1 | * Copyright © 2009 CNRS |
2 | 2 | * Copyright © 2009-2010 INRIA |
3 | 3 | * Copyright © 2009 Université Bordeaux 1 |
4 | * Copyright © 2011 Cisco Systems, Inc. All rights reserved. | |
4 | 5 | * See COPYING in top-level directory. |
5 | 6 | */ |
6 | 7 | |
7 | #include <private/config.h> | |
8 | #include <private/autogen/config.h> | |
8 | 9 | #include <hwloc.h> |
9 | 10 | |
10 | 11 | #include <assert.h> |
1 | 1 | * Copyright © 2009 CNRS |
2 | 2 | * Copyright © 2009-2010 INRIA |
3 | 3 | * Copyright © 2009 Université Bordeaux 1 |
4 | * Copyright © 2009 Cisco Systems, Inc. All rights reserved. | |
4 | * Copyright © 2009-2011 Cisco Systems, Inc. All rights reserved. | |
5 | 5 | * See COPYING in top-level directory. |
6 | 6 | */ |
7 | 7 | |
8 | #include <private/config.h> | |
8 | #include <private/autogen/config.h> | |
9 | 9 | #include <hwloc.h> |
10 | 10 | |
11 | 11 | #include <stdlib.h> |
1 | 1 | * Copyright © 2009 CNRS |
2 | 2 | * Copyright © 2009-2010 INRIA |
3 | 3 | * Copyright © 2009 Université Bordeaux 1 |
4 | * Copyright © 2011 Cisco Systems, Inc. All rights reserved. | |
4 | 5 | * See COPYING in top-level directory. |
5 | 6 | */ |
6 | 7 | |
7 | #include <private/config.h> | |
8 | #include <private/autogen/config.h> | |
8 | 9 | #include <hwloc.h> |
9 | 10 | |
10 | 11 | #include <stdlib.h> |
1 | 1 | * Copyright © 2009 CNRS |
2 | 2 | * Copyright © 2009-2010 INRIA |
3 | 3 | * Copyright © 2009 Université Bordeaux 1 |
4 | * Copyright © 2011 Cisco Systems, Inc. All rights reserved. | |
4 | 5 | * See COPYING in top-level directory. |
5 | 6 | */ |
6 | 7 | |
7 | #include <private/config.h> | |
8 | #include <private/autogen/config.h> | |
8 | 9 | #include <hwloc.h> |
9 | 10 | |
10 | 11 | #include <stdlib.h> |
1 | 1 | * Copyright © 2009 CNRS |
2 | 2 | * Copyright © 2009-2010 INRIA |
3 | 3 | * Copyright © 2009-2010 Université Bordeaux 1 |
4 | * Copyright © 2011 Cisco Systems, Inc. All rights reserved. | |
4 | 5 | * See COPYING in top-level directory. |
5 | 6 | */ |
6 | 7 | |
7 | #include <private/config.h> | |
8 | #include <private/autogen/config.h> | |
8 | 9 | #include <hwloc.h> |
9 | 10 | |
10 | 11 | #include <stdlib.h> |
1 | 1 | * Copyright © 2009 CNRS |
2 | 2 | * Copyright © 2009-2010 INRIA |
3 | 3 | * Copyright © 2009 Université Bordeaux 1 |
4 | * Copyright © 2011 Cisco Systems, Inc. All rights reserved. | |
4 | 5 | * See COPYING in top-level directory. |
5 | 6 | */ |
6 | 7 | |
7 | #include <private/config.h> | |
8 | #include <private/autogen/config.h> | |
8 | 9 | #include <hwloc.h> |
9 | 10 | |
10 | 11 | #include <stdlib.h> |
1 | 1 | * Copyright © 2009 CNRS |
2 | 2 | * Copyright © 2009-2010 INRIA |
3 | 3 | * Copyright © 2009-2010 Université Bordeaux 1 |
4 | * Copyright © 2011 Cisco Systems, Inc. All rights reserved. | |
4 | 5 | * See COPYING in top-level directory. |
5 | 6 | */ |
6 | 7 | |
7 | #include <private/config.h> | |
8 | #include <private/autogen/config.h> | |
8 | 9 | #include <hwloc.h> |
9 | 10 | |
10 | 11 | #include <stdlib.h> |
1 | 1 | * Copyright © 2009 CNRS |
2 | 2 | * Copyright © 2009-2010 INRIA |
3 | 3 | * Copyright © 2009 Université Bordeaux 1 |
4 | * Copyright © 2011 Cisco Systems, Inc. All rights reserved. | |
4 | 5 | * See COPYING in top-level directory. |
5 | 6 | */ |
6 | 7 | |
7 | #include <private/config.h> | |
8 | #include <private/autogen/config.h> | |
8 | 9 | #include <hwloc.h> |
9 | 10 | |
10 | 11 | #include <stdlib.h> |
1 | 1 | * Copyright © 2009 CNRS |
2 | 2 | * Copyright © 2009-2010 INRIA |
3 | 3 | * Copyright © 2009 Université Bordeaux 1 |
4 | * Copyright © 2011 Cisco Systems, Inc. All rights reserved. | |
4 | 5 | * See COPYING in top-level directory. |
5 | 6 | */ |
6 | 7 | |
7 | #include <private/config.h> | |
8 | #include <private/autogen/config.h> | |
8 | 9 | #include <hwloc.h> |
9 | 10 | |
10 | 11 | #include <stdlib.h> |
1 | 1 | * Copyright © 2009 CNRS |
2 | 2 | * Copyright © 2009-2010 INRIA |
3 | 3 | * Copyright © 2009 Université Bordeaux 1 |
4 | * Copyright © 2011 Cisco Systems, Inc. All rights reserved. | |
4 | 5 | * See COPYING in top-level directory. |
5 | 6 | */ |
6 | 7 | |
7 | #include <private/config.h> | |
8 | #include <private/autogen/config.h> | |
8 | 9 | #include <hwloc.h> |
9 | 10 | |
10 | 11 | #include <stdlib.h> |
1 | 1 | * Copyright © 2009 CNRS |
2 | 2 | * Copyright © 2009 INRIA |
3 | 3 | * Copyright © 2009 Université Bordeaux 1 |
4 | * Copyright © 2011 Cisco Systems, Inc. All rights reserved. | |
4 | 5 | * See COPYING in top-level directory. |
5 | 6 | */ |
6 | 7 | |
7 | #include <private/config.h> | |
8 | #include <private/autogen/config.h> | |
8 | 9 | #include <hwloc.h> |
9 | 10 | |
10 | 11 | #include <stdlib.h> |
1 | 1 | * Copyright © 2009 CNRS |
2 | 2 | * Copyright © 2009-2010 INRIA |
3 | 3 | * Copyright © 2009-2010 Université Bordeaux 1 |
4 | * Copyright © 2011 Cisco Systems, Inc. All rights reserved. | |
4 | 5 | * See COPYING in top-level directory. |
5 | 6 | */ |
6 | 7 | |
7 | #include <private/config.h> | |
8 | #include <private/autogen/config.h> | |
8 | 9 | #include <hwloc.h> |
9 | 10 | |
10 | 11 | #include <stdlib.h> |
1 | 1 | * Copyright © 2009 CNRS |
2 | 2 | * Copyright © 2009-2010 INRIA |
3 | 3 | * Copyright © 2009-2010 Université Bordeaux 1 |
4 | * Copyright © 2011 Cisco Systems, Inc. All rights reserved. | |
4 | 5 | * See COPYING in top-level directory. |
5 | 6 | */ |
6 | 7 | |
7 | #include <private/config.h> | |
8 | #include <private/autogen/config.h> | |
8 | 9 | #include <hwloc.h> |
9 | 10 | |
10 | 11 | #include <stdlib.h> |
0 | 0 | /* |
1 | 1 | * Copyright © 2009 INRIA |
2 | 2 | * Copyright © 2009 Université Bordeaux 1 |
3 | * Copyright © 2011 Cisco Systems, Inc. All rights reserved. | |
3 | 4 | * See COPYING in top-level directory. |
4 | 5 | */ |
5 | 6 | |
6 | #include <private/config.h> | |
7 | #include <private/autogen/config.h> | |
7 | 8 | #include <hwloc.h> |
8 | 9 | |
9 | 10 | #include <stdlib.h> |
1 | 1 | * Copyright © 2009 CNRS |
2 | 2 | * Copyright © 2009 INRIA |
3 | 3 | * Copyright © 2009 Université Bordeaux 1 |
4 | * Copyright © 2011 Cisco Systems, Inc. All rights reserved. | |
4 | 5 | * See COPYING in top-level directory. |
5 | 6 | */ |
6 | 7 | |
7 | #include <private/config.h> | |
8 | #include <private/autogen/config.h> | |
8 | 9 | #include <hwloc.h> |
9 | 10 | |
10 | 11 | #include <stdlib.h> |
1 | 1 | * Copyright © 2009 CNRS |
2 | 2 | * Copyright © 2009-2010 INRIA |
3 | 3 | * Copyright © 2009-2010 Université Bordeaux 1 |
4 | * Copyright © 2011 Cisco Systems, Inc. All rights reserved. | |
4 | 5 | * See COPYING in top-level directory. |
5 | 6 | */ |
6 | 7 | |
7 | #include <private/config.h> | |
8 | #include <private/autogen/config.h> | |
8 | 9 | #include <hwloc.h> |
9 | 10 | |
10 | 11 | #include <stdio.h> |
0 | Machine (P#0 total=100661148KB DMIProductName=DRACHMA DMIProductVersion="Rev 2" DMIProductSerial=0123456789 DMIProductUUID=008844D0-2214-DF11-B89F-F50F715B14E8 DMIBoardVendor=AMD DMIBoardName=DRACHMA DMIBoardVersion="Rev 2" DMIBoardSerial=0123456789 DMIBoardAssetTag= ) | |
0 | Machine (P#0 total=100661148KB DMIProductName=DRACHMA DMIProductVersion="Rev 2" DMIProductSerial=0123456789 DMIProductUUID=008844D0-2214-DF11-B89F-F50F715B14E8 DMIBoardVendor=AMD DMIBoardName=DRACHMA DMIBoardVersion="Rev 2" DMIBoardSerial=0123456789 DMIBoardAssetTag= DMIChassisVendor=AMD DMIChassisType=23 DMIChassisVersion= DMIChassisSerial= DMIChassisAssetTag= DMIBIOSVendor="Phoenix Technologies Ltd." DMIBIOSVersion=PDPAX1-6 DMIBIOSDate=12/15/2009 DMISysVendor=AMD Backend=Linux) | |
1 | 1 | Socket L#0 (P#0 total=25163676KB) |
2 | 2 | NUMANode L#0 (P#0 local=8386460KB total=8386460KB) |
3 | 3 | L3Cache L#0 (5118KB line=64) |
0 | Machine (P#0 local=16468292KB total=16468292KB DMIProductName="PowerEdge 2950" DMIProductVersion= DMIBoardVendor="Dell Inc." DMIBoardName=0NR282 DMIBoardVersion=A00 DMIBoardAssetTag= DMIChassisVendor="Dell Inc." DMIChassisType=23 DMIChassisVersion= DMIChassisAssetTag=) | |
0 | Machine (P#0 local=16468292KB total=16468292KB DMIProductName="PowerEdge 2950" DMIProductVersion= DMIBoardVendor="Dell Inc." DMIBoardName=0NR282 DMIBoardVersion=A00 DMIBoardAssetTag= DMIChassisVendor="Dell Inc." DMIChassisType=23 DMIChassisVersion= DMIChassisAssetTag= DMIBIOSVendor="Dell Inc." DMIBIOSVersion=2.3.1 DMIBIOSDate=04/29/2008 DMISysVendor="Dell Inc." Backend=Linux) | |
1 | 1 | Socket L#0 (P#0) |
2 | 2 | L2Cache L#0 (4096KB line=64) |
3 | 3 | L1Cache L#0 (32KB line=64) |
0 | Machine (P#0 local=16468292KB total=16468292KB DMIProductName="PowerEdge 2950" DMIProductVersion= DMIBoardVendor="Dell Inc." DMIBoardName=0NR282 DMIBoardVersion=A00 DMIBoardAssetTag= DMIChassisVendor="Dell Inc." DMIChassisType=23 DMIChassisVersion= DMIChassisAssetTag=) | |
0 | Machine (P#0 local=16468292KB total=16468292KB DMIProductName="PowerEdge 2950" DMIProductVersion= DMIBoardVendor="Dell Inc." DMIBoardName=0NR282 DMIBoardVersion=A00 DMIBoardAssetTag= DMIChassisVendor="Dell Inc." DMIChassisType=23 DMIChassisVersion= DMIChassisAssetTag= DMIBIOSVendor="Dell Inc." DMIBIOSVersion=2.3.1 DMIBIOSDate=04/29/2008 DMISysVendor="Dell Inc." Backend=Linux) | |
1 | 1 | Socket L#0 (P#0) |
2 | 2 | L1Cache L#0 (32KB line=64) |
3 | 3 | Core L#0 (P#0) |
56 | 56 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ |
57 | 57 | $(ACLOCAL_M4) |
58 | 58 | mkinstalldirs = $(install_sh) -d |
59 | CONFIG_HEADER = $(top_builddir)/include/private/config.h \ | |
60 | $(top_builddir)/include/hwloc/config.h | |
59 | CONFIG_HEADER = $(top_builddir)/include/private/autogen/config.h \ | |
60 | $(top_builddir)/include/hwloc/autogen/config.h | |
61 | 61 | CONFIG_CLEAN_FILES = hwloc-gather-topology.sh test-topology.sh |
62 | 62 | CONFIG_CLEAN_VPATH_FILES = |
63 | 63 | am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; |
54 | 54 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ |
55 | 55 | $(ACLOCAL_M4) |
56 | 56 | mkinstalldirs = $(install_sh) -d |
57 | CONFIG_HEADER = $(top_builddir)/include/private/config.h \ | |
58 | $(top_builddir)/include/hwloc/config.h | |
57 | CONFIG_HEADER = $(top_builddir)/include/private/autogen/config.h \ | |
58 | $(top_builddir)/include/hwloc/autogen/config.h | |
59 | 59 | CONFIG_CLEAN_FILES = test-gather-topology.sh |
60 | 60 | CONFIG_CLEAN_VPATH_FILES = |
61 | 61 | AM_V_GEN = $(am__v_GEN_$(V)) |
1 | 1 | * Copyright © 2009 CNRS |
2 | 2 | * Copyright © 2009-2010 INRIA |
3 | 3 | * Copyright © 2009-2010 Université Bordeaux 1 |
4 | * Copyright © 2011 Cisco Systems, Inc. All rights reserved. | |
4 | 5 | * See COPYING in top-level directory. |
5 | 6 | */ |
6 | 7 | |
7 | #include <private/config.h> | |
8 | #include <private/autogen/config.h> | |
8 | 9 | #include <hwloc.h> |
9 | 10 | #include <assert.h> |
10 | 11 | #define NUMA_VERSION1_COMPATIBILITY |
1 | 1 | * Copyright © 2009 CNRS |
2 | 2 | * Copyright © 2009-2010 INRIA |
3 | 3 | * Copyright © 2009-2010 Université Bordeaux 1 |
4 | * Copyright © 2009 Cisco Systems, Inc. All rights reserved. | |
4 | * Copyright © 2009-2011 Cisco Systems, Inc. All rights reserved. | |
5 | 5 | * See COPYING in top-level directory. |
6 | 6 | */ |
7 | 7 | |
8 | 8 | #include <stdio.h> |
9 | 9 | #include <assert.h> |
10 | 10 | #include <infiniband/verbs.h> |
11 | #include <private/config.h> | |
11 | #include <private/autogen/config.h> | |
12 | 12 | #include <hwloc.h> |
13 | 13 | #include <hwloc/openfabrics-verbs.h> |
14 | 14 |
53 | 53 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ |
54 | 54 | $(ACLOCAL_M4) |
55 | 55 | mkinstalldirs = $(install_sh) -d |
56 | CONFIG_HEADER = $(top_builddir)/include/private/config.h \ | |
57 | $(top_builddir)/include/hwloc/config.h | |
56 | CONFIG_HEADER = $(top_builddir)/include/private/autogen/config.h \ | |
57 | $(top_builddir)/include/hwloc/autogen/config.h | |
58 | 58 | CONFIG_CLEAN_FILES = topology.c traversal.c topology-synthetic.c \ |
59 | 59 | topology-solaris.c topology-aix.c topology-osf.c \ |
60 | 60 | topology-windows.c topology-darwin.c topology-freebsd.c \ |
78 | 78 | am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY)) |
79 | 79 | am__v_lt_0 = --silent |
80 | 80 | @HWLOC_BUILD_TESTS_TRUE@@HWLOC_HAVE_LINUX_TRUE@am_libhwloc_ports_la_rpath = |
81 | DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include/private -I$(top_builddir)/include/hwloc | |
81 | DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include/private/autogen -I$(top_builddir)/include/hwloc/autogen | |
82 | 82 | depcomp = $(SHELL) $(top_srcdir)/./config/depcomp |
83 | 83 | am__depfiles_maybe = depfiles |
84 | 84 | am__mv = mv -f |
54 | 54 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ |
55 | 55 | $(ACLOCAL_M4) |
56 | 56 | mkinstalldirs = $(install_sh) -d |
57 | CONFIG_HEADER = $(top_builddir)/include/private/config.h \ | |
58 | $(top_builddir)/include/hwloc/config.h | |
57 | CONFIG_HEADER = $(top_builddir)/include/private/autogen/config.h \ | |
58 | $(top_builddir)/include/hwloc/autogen/config.h | |
59 | 59 | CONFIG_CLEAN_FILES = test-topology.sh |
60 | 60 | CONFIG_CLEAN_VPATH_FILES = |
61 | 61 | AM_V_GEN = $(am__v_GEN_$(V)) |
0 | 0 | /* |
1 | 1 | * Copyright © 2010 INRIA |
2 | * Copyright © 2011 Cisco Systems, Inc. All rights reserved. | |
2 | 3 | * See COPYING in top-level directory. |
3 | 4 | */ |
4 | 5 | |
6 | 7 | #include <assert.h> |
7 | 8 | #include <libxml/xmlstring.h> |
8 | 9 | #include <libxml/xmlmemory.h> |
9 | #include <private/config.h> | |
10 | #include <private/autogen/config.h> | |
10 | 11 | #include <hwloc.h> |
11 | 12 | |
12 | 13 | /* check the CUDA Driver API helpers */ |
68 | 68 | am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ |
69 | 69 | $(ACLOCAL_M4) |
70 | 70 | mkinstalldirs = $(install_sh) -d |
71 | CONFIG_HEADER = $(top_builddir)/include/private/config.h \ | |
72 | $(top_builddir)/include/hwloc/config.h | |
71 | CONFIG_HEADER = $(top_builddir)/include/private/autogen/config.h \ | |
72 | $(top_builddir)/include/hwloc/autogen/config.h | |
73 | 73 | CONFIG_CLEAN_FILES = test-hwloc-distrib.sh |
74 | 74 | CONFIG_CLEAN_VPATH_FILES = |
75 | 75 | am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" \ |
113 | 113 | lstopo_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ |
114 | 114 | $(LIBTOOLFLAGS) --mode=link $(CCLD) $(lstopo_CFLAGS) $(CFLAGS) \ |
115 | 115 | $(AM_LDFLAGS) $(LDFLAGS) -o $@ |
116 | DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include/private -I$(top_builddir)/include/hwloc | |
116 | DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/include/private/autogen -I$(top_builddir)/include/hwloc/autogen | |
117 | 117 | depcomp = $(SHELL) $(top_srcdir)/./config/depcomp |
118 | 118 | am__depfiles_maybe = depfiles |
119 | 119 | am__mv = mv -f |
0 | 0 | /* |
1 | 1 | * Copyright © 2009 CNRS |
2 | * Copyright © 2009-2010 INRIA | |
2 | * Copyright © 2009-2011 INRIA. All rights reserved. | |
3 | 3 | * Copyright © 2009-2010 Université Bordeaux 1 |
4 | 4 | * Copyright © 2009 Cisco Systems, Inc. All rights reserved. |
5 | 5 | * See COPYING in top-level directory. |
134 | 134 | membind_policy = HWLOC_MEMBIND_FIRSTTOUCH; |
135 | 135 | else if (!strncmp(argv[1], "bind", 2)) |
136 | 136 | membind_policy = HWLOC_MEMBIND_BIND; |
137 | else if (!strncmp(argv[1], "interleace", 2)) | |
137 | else if (!strncmp(argv[1], "interleave", 2)) | |
138 | 138 | membind_policy = HWLOC_MEMBIND_INTERLEAVE; |
139 | 139 | else if (!strncmp(argv[1], "replicate", 2)) |
140 | 140 | membind_policy = HWLOC_MEMBIND_REPLICATE; |
95 | 95 | . |
96 | 96 | hwloc-calc generates and manipulates CPU mask strings or objects. |
97 | 97 | Both input and output may be either objects (with physical or logical |
98 | indexes) or CPU mask strings (no logical or physical index involved). | |
98 | indexes), CPU lists (with physical or logical indexes), or CPU mask strings | |
99 | (always physically indexed). | |
99 | 100 | . |
100 | 101 | .PP |
101 | 102 | If objects or CPU mask strings are given on the command-line, |
128 | 129 | hwloc-calc's operation is best described through several examples. |
129 | 130 | . |
130 | 131 | .PP |
131 | To display the CPU mask corresponding to the second socket: | |
132 | To display the (physical) CPU mask corresponding to the second socket: | |
132 | 133 | |
133 | 134 | $ hwloc-calc socket:1 |
134 | 135 | 0x000000f0 |
135 | 136 | |
136 | To display the CPU mask corresponding to the third socket, excluding | |
137 | To display the (physical) CPU mask corresponding to the third socket, excluding | |
137 | 138 | its even numbered logical processors: |
138 | 139 | |
139 | 140 | $ hwloc-calc socket:2 ~PU:even |
140 | 141 | 0x00000c00 |
141 | 142 | |
142 | To combine two CPU masks: | |
143 | To combine two (physical) CPU masks: | |
143 | 144 | |
144 | 145 | $ hwloc-calc 0x0000ffff 0xff000000 |
145 | 146 | 0xff00ffff |
146 | 147 | |
147 | To display the list of logical processors included in the second | |
148 | To display the list of logical numbers of processors included in the second | |
148 | 149 | socket: |
149 | 150 | |
150 | 151 | $ hwloc-calc --intersect PU socket:1 |
151 | 0,2,4,6 | |
152 | ||
153 | To display the list of NUMA nodes, by physical indexes, that intersect a given CPU mask: | |
152 | 4,5,6,7 | |
153 | ||
154 | To bind GNU OpenMP threads logically over the whole machine, we need to use | |
155 | physical number output instead: | |
156 | ||
157 | $ export GOMP_CPU_AFFINITY=`hwloc-calc --physical --intersect PU machine:0` | |
158 | $ echo $GOMP_CPU_AFFINITY | |
159 | 0,2,1,3 | |
160 | ||
161 | To display the list of NUMA nodes, by physical indexes, that intersect a given (physical) CPU mask: | |
154 | 162 | |
155 | 163 | $ hwloc-calc --physical --intersect NUMAnode 0xf0f0f0f0 |
156 | 164 | 0,2 |
185 | 193 | .\" Return value section |
186 | 194 | .\" ************************** |
187 | 195 | .SH RETURN VALUE |
188 | Upon successful execution, hwloc-calc displays the CPU mask string. | |
196 | Upon successful execution, hwloc-calc displays the (physical) CPU mask string, | |
197 | (physical or logical) object list, or (physical or logical) object number list. | |
189 | 198 | The return value is 0. |
190 | 199 | . |
191 | 200 | . |
0 | 0 | /* |
1 | 1 | * Copyright © 2009 CNRS |
2 | 2 | * Copyright © 2009 INRIA |
3 | * Copyright © 2009-2010 Université Bordeaux 1 | |
3 | * Copyright © 2009-2011 Université Bordeaux 1 | |
4 | 4 | * Copyright © 2009-2010 Cisco Systems, Inc. All rights reserved. |
5 | 5 | * See COPYING in top-level directory. |
6 | 6 | */ |
44 | 44 | static int singlify = 0; |
45 | 45 | static int taskset = 0; |
46 | 46 | |
47 | static void | |
47 | static int | |
48 | 48 | hwloc_calc_output(hwloc_topology_t topology, hwloc_bitmap_t set) |
49 | 49 | { |
50 | 50 | if (singlify) |
57 | 57 | char type[64]; |
58 | 58 | unsigned idx; |
59 | 59 | hwloc_obj_t obj = hwloc_get_first_largest_obj_inside_cpuset(topology, remaining); |
60 | if (!obj) { | |
61 | fprintf(stderr, "No object included in this cpuset\n"); | |
62 | return EXIT_FAILURE; | |
63 | } | |
60 | 64 | hwloc_obj_type_snprintf(type, sizeof(type), obj, 1); |
61 | 65 | idx = logicalo ? obj->logical_index : obj->os_index; |
62 | 66 | if (idx == (unsigned) -1) |
86 | 90 | printf("%s\n", string); |
87 | 91 | free(string); |
88 | 92 | } |
93 | return EXIT_SUCCESS; | |
89 | 94 | } |
90 | 95 | |
91 | 96 | int main(int argc, char *argv[]) |
101 | 106 | hwloc_obj_type_t listtype = (hwloc_obj_type_t) -1; |
102 | 107 | char *callname; |
103 | 108 | int opt; |
109 | int ret = EXIT_SUCCESS; | |
104 | 110 | |
105 | 111 | callname = argv[0]; |
106 | 112 | |
235 | 241 | |
236 | 242 | if (cmdline_args) { |
237 | 243 | /* process command-line arguments */ |
238 | hwloc_calc_output(topology, set); | |
244 | ret = hwloc_calc_output(topology, set); | |
239 | 245 | |
240 | 246 | } else { |
241 | 247 | /* process stdin arguments line-by-line */ |
261 | 267 | |
262 | 268 | hwloc_bitmap_free(set); |
263 | 269 | |
264 | return EXIT_SUCCESS; | |
270 | return ret; | |
265 | 271 | } |
1 | 1 | * Copyright © 2009 CNRS |
2 | 2 | * Copyright © 2009-2010 INRIA |
3 | 3 | * Copyright © 2009-2010 Université Bordeaux 1 |
4 | * Copyright © 2011 Cisco Systems, Inc. All rights reserved. | |
4 | 5 | * See COPYING in top-level directory. |
5 | 6 | */ |
6 | 7 | |
7 | 8 | #ifndef HWLOC_MASK_H |
8 | 9 | #define HWLOC_MASK_H |
9 | 10 | |
10 | #include <private/config.h> | |
11 | #include <private/autogen/config.h> | |
11 | 12 | #include <private/private.h> |
12 | 13 | #include <private/misc.h> |
13 | 14 | #include <hwloc.h> |
0 | 0 | /* |
1 | 1 | * Copyright © 2009-2010 INRIA |
2 | 2 | * Copyright © 2009 Université Bordeaux 1 |
3 | * Copyright © 2009 Cisco Systems, Inc. All rights reserved. | |
3 | * Copyright © 2009-2011 Cisco Systems, Inc. All rights reserved. | |
4 | 4 | * See COPYING in top-level directory. |
5 | 5 | */ |
6 | 6 | |
7 | #include <private/config.h> | |
7 | #include <private/autogen/config.h> | |
8 | 8 | #include <hwloc.h> |
9 | 9 | |
10 | 10 | #include <stdlib.h> |
0 | 0 | .\" -*- nroff -*- |
1 | .\" Copyright © 2010 INRIA | |
1 | .\" Copyright © 2010 INRIA | |
2 | 2 | .\" Copyright © 2010 Université of Bordeaux |
3 | 3 | .\" Copyright © 2009-2010 Cisco Systems, Inc. All rights reserved. |
4 | 4 | .TH HWLOC "7" "#HWLOC_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" |
183 | 183 | . |
184 | 184 | .PP |
185 | 185 | Finally, note that an object can be denoted by its numeric "depth" in |
186 | the topology graph. See the Examples section for more information. | |
186 | the topology graph. | |
187 | 187 | . |
188 | 188 | .SS Hwloc Indexes |
189 | 189 | Indexes are integer values that uniquely specify a given object of a |
1 | 1 | * Copyright © 2009 CNRS |
2 | 2 | * Copyright © 2009-2010 INRIA |
3 | 3 | * Copyright © 2009-2010 Université Bordeaux 1 |
4 | * Copyright © 2009 Cisco Systems, Inc. All rights reserved. | |
4 | * Copyright © 2009-2011 Cisco Systems, Inc. All rights reserved. | |
5 | 5 | * See COPYING in top-level directory. |
6 | 6 | */ |
7 | 7 | |
8 | #include <private/config.h> | |
8 | #include <private/autogen/config.h> | |
9 | 9 | |
10 | 10 | #ifdef HWLOC_HAVE_CAIRO |
11 | 11 | #include <cairo.h> |
1 | 1 | * Copyright © 2009 CNRS |
2 | 2 | * Copyright © 2009-2010 INRIA |
3 | 3 | * Copyright © 2009-2010 Université Bordeaux 1 |
4 | * Copyright © 2009-2010 Cisco Systems, Inc. All rights reserved. | |
4 | * Copyright © 2009-2011 Cisco Systems, Inc. All rights reserved. | |
5 | 5 | * See COPYING in top-level directory. |
6 | 6 | */ |
7 | 7 | |
8 | #include <private/config.h> | |
8 | #include <private/autogen/config.h> | |
9 | 9 | #include <private/private.h> |
10 | 10 | #include <hwloc.h> |
11 | 11 |
1 | 1 | * Copyright © 2009 CNRS |
2 | 2 | * Copyright © 2009 INRIA |
3 | 3 | * Copyright © 2009-2010 Université Bordeaux 1 |
4 | * Copyright © 2011 Cisco Systems, Inc. All rights reserved. | |
4 | 5 | * See COPYING in top-level directory. |
5 | 6 | */ |
6 | 7 | |
7 | #include <private/config.h> | |
8 | #include <private/autogen/config.h> | |
8 | 9 | #include <hwloc.h> |
9 | 10 | |
10 | 11 | #include <stdlib.h> |
0 | 0 | /* |
1 | 1 | * Copyright © 2009 CNRS |
2 | * Copyright © 2009-2010 INRIA | |
2 | * Copyright © 2009-2011 INRIA. All rights reserved. | |
3 | 3 | * Copyright © 2009-2010 Université Bordeaux 1 |
4 | * Copyright © 2009-2010 Cisco Systems, Inc. All rights reserved. | |
4 | * Copyright © 2009-2011 Cisco Systems, Inc. All rights reserved. | |
5 | 5 | * See COPYING in top-level directory. |
6 | 6 | */ |
7 | 7 | |
8 | #include <private/config.h> | |
8 | #include <private/autogen/config.h> | |
9 | 9 | #include <hwloc.h> |
10 | 10 | |
11 | 11 | #include <stdlib.h> |
42 | 42 | static void |
43 | 43 | output_console_obj (hwloc_obj_t l, FILE *output, int logical, int verbose_mode) |
44 | 44 | { |
45 | char type[32], attr[256], phys[32] = ""; | |
45 | char type[32], *attr, phys[32] = ""; | |
46 | 46 | unsigned idx = logical ? l->logical_index : l->os_index; |
47 | 47 | const char *indexprefix = logical ? " L#" : " P#"; |
48 | 48 | if (show_cpuset < 2) { |
49 | int len; | |
49 | 50 | if (l->type == HWLOC_OBJ_MISC && l->name) |
50 | 51 | fprintf(output, "%s", l->name); |
51 | 52 | else { |
57 | 58 | if (logical && l->os_index != (unsigned) -1 && |
58 | 59 | (verbose_mode >= 2 || l->type == HWLOC_OBJ_PU || l->type == HWLOC_OBJ_NODE)) |
59 | 60 | snprintf(phys, sizeof(phys), "P#%u", l->os_index); |
60 | hwloc_obj_attr_snprintf (attr, sizeof(attr), l, " ", verbose_mode-1); | |
61 | len = hwloc_obj_attr_snprintf (NULL, 0, l, " ", verbose_mode-1); | |
62 | attr = malloc(len+1); | |
63 | *attr = '\0'; | |
64 | len = hwloc_obj_attr_snprintf (attr, len+1, l, " ", verbose_mode-1); | |
61 | 65 | if (*phys || *attr) { |
62 | 66 | const char *separator = *phys != '\0' && *attr!= '\0' ? " " : ""; |
63 | 67 | fprintf(output, " (%s%s%s)", |
64 | 68 | phys, separator, attr); |
65 | 69 | } |
70 | free(attr); | |
66 | 71 | if (verbose_mode >= 2 && l->name && l->type != HWLOC_OBJ_MISC) |
67 | 72 | fprintf(output, " \"%s\"", l->name); |
68 | 73 | } |
1 | 1 | * Copyright © 2009 CNRS |
2 | 2 | * Copyright © 2009-2010 INRIA |
3 | 3 | * Copyright © 2009 Université Bordeaux 1 |
4 | * Copyright © 2009 Cisco Systems, Inc. All rights reserved. | |
4 | * Copyright © 2009-2011 Cisco Systems, Inc. All rights reserved. | |
5 | 5 | * See COPYING in top-level directory. |
6 | 6 | */ |
7 | 7 | |
8 | #include <private/config.h> | |
8 | #include <private/autogen/config.h> | |
9 | 9 | |
10 | 10 | #ifdef HWLOC_HAVE_XML |
11 | 11 |
0 | 0 | /* |
1 | 1 | * Copyright © 2009 CNRS |
2 | * Copyright © 2009-2010 INRIA | |
3 | * Copyright © 2009-2010 Université Bordeaux 1 | |
4 | * Copyright © 2009-2010 Cisco Systems, Inc. All rights reserved. | |
2 | * Copyright © 2009-2011 INRIA. All rights reserved. | |
3 | * Copyright © 2009-2011 Université Bordeaux 1 | |
4 | * Copyright © 2009-2011 Cisco Systems, Inc. All rights reserved. | |
5 | 5 | * See COPYING in top-level directory. |
6 | 6 | */ |
7 | 7 | |
8 | #include <private/config.h> | |
8 | #include <private/autogen/config.h> | |
9 | 9 | #include <hwloc.h> |
10 | 10 | #ifdef HWLOC_LINUX_SYS |
11 | 11 | #include <hwloc/linux.h> |
207 | 207 | fprintf (where, " -v --verbose Include additional details\n"); |
208 | 208 | fprintf (where, " -s --silent Reduce the amount of details to show\n"); |
209 | 209 | fprintf (where, " -c --cpuset Show the cpuset of each object\n"); |
210 | fprintf (where, " -C --cpuset-only Only show the cpuset of each ofbject\n"); | |
210 | fprintf (where, " -C --cpuset-only Only show the cpuset of each object\n"); | |
211 | 211 | fprintf (where, " --taskset Show taskset-specific cpuset strings\n"); |
212 | 212 | fprintf (where, "Object filtering options:\n"); |
213 | 213 | fprintf (where, " --ignore <type> Ignore objects of the given type\n"); |
214 | 214 | fprintf (where, " --no-caches Do not show caches\n"); |
215 | 215 | fprintf (where, " --no-useless-caches Do not show caches which do not have a hierarchical\n" |
216 | 216 | " impact\n"); |
217 | fprintf (where, " --merge Do not show levels that do not have a hierarcical\n" | |
217 | fprintf (where, " --merge Do not show levels that do not have a hierarchical\n" | |
218 | 218 | " impact\n"); |
219 | 219 | fprintf (where, "Input options:\n"); |
220 | 220 | hwloc_utils_input_format_usage(where, 6); |
1 | 1 | * Copyright © 2009 CNRS |
2 | 2 | * Copyright © 2009-2010 INRIA |
3 | 3 | * Copyright © 2009-2010 Université Bordeaux 1 |
4 | * Copyright © 2011 Cisco Systems, Inc. All rights reserved. | |
4 | 5 | * See COPYING in top-level directory. |
5 | 6 | */ |
6 | 7 | |
7 | 8 | #ifndef UTILS_LSTOPO_H |
8 | 9 | #define UTILS_LSTOPO_H |
9 | 10 | |
10 | #include <private/config.h> | |
11 | #include <private/autogen/config.h> | |
11 | 12 | #include <hwloc.h> |
12 | 13 | |
13 | 14 | extern hwloc_obj_type_t show_only; |
1 | 1 | * Copyright © 2009 CNRS |
2 | 2 | * Copyright © 2009-2010 INRIA |
3 | 3 | * Copyright © 2009-2010 Université Bordeaux 1 |
4 | * Copyright © 2009 Cisco Systems, Inc. All rights reserved. | |
4 | * Copyright © 2009-2011 Cisco Systems, Inc. All rights reserved. | |
5 | 5 | * See COPYING in top-level directory. |
6 | 6 | */ |
7 | 7 | |
8 | #include <private/config.h> | |
8 | #include <private/autogen/config.h> | |
9 | 9 | #include <hwloc.h> |
10 | 10 | |
11 | 11 | #include <stdio.h> |