⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 base.h

📁 MPI stands for the Message Passing Interface. Written by the MPI Forum (a large committee comprising
💻 H
字号:
/* * Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana *                         University Research and Technology *                         Corporation.  All rights reserved. * Copyright (c) 2004-2006 The University of Tennessee and The University *                         of Tennessee Research Foundation.  All rights *                         reserved. * Copyright (c) 2004-2005 High Performance Computing Center Stuttgart,  *                         University of Stuttgart.  All rights reserved. * Copyright (c) 2004-2005 The Regents of the University of California. *                         All rights reserved. * $COPYRIGHT$ *  * Additional copyrights may follow *  * $HEADER$ *//** * @file */#ifndef MCA_MEM_BASE_H#define MCA_MEM_BASE_H#include "ompi_config.h"#include "opal/class/opal_list.h"#include "ompi/class/ompi_rb_tree.h"#include "opal/mca/mca.h"#include "ompi/mca/mpool/mpool.h"#include "opal/threads/mutex.h" #ifdef HAVE_MALLOC_H#include <malloc.h>#endif#if defined(HAVE_MALLOPT) && defined(M_TRIM_THRESHOLD) && defined(M_MMAP_MAX)#define MPOOL_BASE_CAN_DISABLE_SBRK 1#else#define MPOOL_BASE_CAN_DISABLE_SBRK 0#endif#if defined(c_plusplus) || defined(__cplusplus)extern "C" {#endifstatic inline unsigned int my_log2(unsigned long val) {     unsigned int count = 0;    while(val > 0) {         val = val >> 1;         count++;    }    return count > 0 ? count-1: 0;}static inline void *down_align_addr(void* addr, unsigned int shift) {    return (void*) (((unsigned long) addr) & (~(unsigned long) 0) << shift); }static inline void *up_align_addr(void*addr, unsigned int shift) {     return (void*) ((((unsigned long) addr) | ~((~(unsigned long) 0) << shift))); }struct mca_mpool_base_selected_module_t {    opal_list_item_t super;    mca_mpool_base_component_t *mpool_component;    mca_mpool_base_module_t *mpool_module;    void* user_data;     struct mca_mpool_base_resources_t *mpool_resources;};typedef struct mca_mpool_base_selected_module_t mca_mpool_base_selected_module_t;OMPI_DECLSPEC OBJ_CLASS_DECLARATION(mca_mpool_base_selected_module_t);/* * Data structures for the tree of allocated memory *//* * Global functions for MCA: overall mpool open and close */OMPI_DECLSPEC int mca_mpool_base_open(void);OMPI_DECLSPEC int mca_mpool_base_init(bool enable_progress_threads, bool enable_mpi_threads);OMPI_DECLSPEC int mca_mpool_base_close(void);OMPI_DECLSPEC mca_mpool_base_component_t* mca_mpool_base_component_lookup(const char* name);OMPI_DECLSPEC mca_mpool_base_module_t* mca_mpool_base_module_create(    const char* name,     void* user_data,    struct mca_mpool_base_resources_t* mpool_resources);OMPI_DECLSPEC mca_mpool_base_module_t* mca_mpool_base_module_lookup(const char* name);OMPI_DECLSPEC int mca_mpool_base_module_destroy(mca_mpool_base_module_t *module); /* * Globals */OMPI_DECLSPEC extern int mca_mpool_base_output;OMPI_DECLSPEC extern opal_list_t mca_mpool_base_components;OMPI_DECLSPEC extern opal_list_t mca_mpool_base_modules;#if defined(c_plusplus) || defined(__cplusplus)}#endif#endif /* MCA_MEM_BASE_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -