📄 ad_iwrite_fake.c
字号:
/* -*- Mode: C; c-basic-offset:4 ; -*- *//* * * Copyright (C) 2004 University of Chicago. * See COPYRIGHT notice in top-level directory. */#include "adio.h"/* Generic implementation of IwriteContig calls the blocking WriteContig * immediately. */void ADIOI_FAKE_IwriteContig(ADIO_File fd, void *buf, int count, MPI_Datatype datatype, int file_ptr_type, ADIO_Offset offset, ADIO_Request *request, int *error_code) { ADIO_Status status; int len, typesize; *request = ADIOI_Malloc_request(); (*request)->optype = ADIOI_WRITE; (*request)->fd = fd; (*request)->queued = 0; (*request)->datatype = datatype; MPI_Type_size(datatype, &typesize); len = count * typesize; /* Call the blocking function. It will create an error code * if necessary. */ ADIO_WriteContig(fd, buf, len, MPI_BYTE, file_ptr_type, offset, &status, error_code); fd->async_count++;#ifdef HAVE_STATUS_SET_BYTES if (*error_code == MPI_SUCCESS) { MPI_Get_elements(&status, MPI_BYTE, &len); (*request)->nbytes = len; }#endif}/* Generic implementation of IwriteStrided calls the blocking WriteStrided * immediately. */void ADIOI_FAKE_IwriteStrided(ADIO_File fd, void *buf, int count, MPI_Datatype datatype, int file_ptr_type, ADIO_Offset offset, ADIO_Request *request, int *error_code){ ADIO_Status status;#ifdef HAVE_STATUS_SET_BYTES int typesize;#endif *request = ADIOI_Malloc_request(); (*request)->optype = ADIOI_WRITE; (*request)->fd = fd; (*request)->datatype = datatype; (*request)->queued = 0; (*request)->handle = 0; /* Call the blocking function. It will create an error code * if necessary. */ ADIO_WriteStrided(fd, buf, count, datatype, file_ptr_type, offset, &status, error_code); fd->async_count++;#ifdef HAVE_STATUS_SET_BYTES if (*error_code == MPI_SUCCESS) { MPI_Type_size(datatype, &typesize); (*request)->nbytes = count * typesize; }#endif}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -