void _XMP_onesided_initialize(int argc, char **argv) { #ifdef _XMP_FJRDMA if(_XMP_world_size > _XMP_ONESIDED_MAX_PROCS){ if(_XMP_world_rank == 0) fprintf(stderr, "Warning : Onesided operations cannot be not used in %d processes (up to %d processes)\n", _XMP_world_size, _XMP_ONESIDED_MAX_PROCS); return; } #endif #ifdef _XMP_GASNET size_t _xmp_heap_size, _xmp_stride_size; _xmp_heap_size = _get_size("XMP_ONESIDED_HEAP_SIZE"); _xmp_stride_size = _get_size("XMP_ONESIDED_STRIDE_SIZE"); _xmp_heap_size += _xmp_stride_size; _XMP_gasnet_initialize(argc, argv, _xmp_heap_size, _xmp_stride_size); _XMP_gasnet_intrinsic_initialize(); #elif _XMP_FJRDMA _XMP_fjrdma_initialize(argc, argv); #elif _XMP_MPI3_ONESIDED size_t _xmp_heap_size; _xmp_heap_size = _get_size("XMP_ONESIDED_HEAP_SIZE"); _XMP_mpi_onesided_initialize(argc, argv, _xmp_heap_size); #endif #ifdef _XMP_TCA _XMP_tca_initialize(argc, argv); #endif #if defined(_XMP_GASNET) || defined(_XMP_FJRDMA) || defined(_XMP_TCA) || defined(_XMP_MPI3_ONESIDED) _XMP_build_sync_images_table(); _XMP_build_coarray_queue(); _XMP_post_wait_initialize(); #endif }
/** * @param target use the buffer bound to the target specified * @param access the access specifier for the buffer mapping * * This class is non-copyable. * * @glsymbols * @glfunref{MapBuffer} * * @throws Error */ BufferRawMap(BufferTarget target, Bitfield<BufferMapAccess> access) : _offset(0) , _size(_get_size(target)) , _ptr( OGLPLUS_GLFUNC(MapBuffer)( GLenum(target), _translate(GLbitfield(access)) ) ), _target(target) { OGLPLUS_CHECK( MapBuffer, ObjectError, ObjectBinding(_target) ); }
/** * @param buffer use the specified buffer * @param access the access specifier for the buffer mapping * * This class is non-copyable. * * @throws Error */ DSABufferRawMapEXT( BufferName buffer, Bitfield<BufferMapAccess> access ): _offset(0) , _size(_get_size(GetGLName(buffer))) , _ptr( OGLPLUS_GLFUNC(MapNamedBufferEXT)( GetGLName(buffer), _translate(GLbitfield(access)) ) ), _buf_name(GetGLName(buffer)) { OGLPLUS_CHECK( MapNamedBufferEXT, ObjectError, Object(buffer) ); }