Skip to content

Commit

Permalink
Create unified lint script under ci. Ignore real_api files.
Browse files Browse the repository at this point in the history
  • Loading branch information
lukemartinlogan committed Oct 18, 2022
1 parent b898fe1 commit b594993
Show file tree
Hide file tree
Showing 6 changed files with 252 additions and 101 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ jobs:
uses: actions/setup-python@v1

- name: Run cpplint
run: pip install cpplint==1.5.4 && cpplint --recursive --exclude=src/stb_ds.h .
run: pip install cpplint==1.5.4 && bash ci/lint.sh `pwd`

- name: Cache Spack packages
uses: actions/cache@v2
Expand Down
3 changes: 1 addition & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -499,6 +499,5 @@ install(
)

add_custom_target(lint
COMMAND cpplint --recursive --exclude=${CMAKE_CURRENT_SOURCE_DIR}/src/stb_ds.h
--exclude=${CMAKE_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}
COMMAND bash ${CMAKE_CURRENT_SOURCE_DIR}/ci/lint.sh ${CMAKE_CURRENT_SOURCE_DIR}
)
Original file line number Diff line number Diff line change
Expand Up @@ -171,9 +171,6 @@ def _CreateH(self, namespace, includes, path):
self.init_api(api)
self.h_lines.append(f" }}")

# Create the symbol require function
self.h_lines.append("")

# End the class, namespace, and header guard
self.h_lines.append(f"}};")
self.h_lines.append(f"}} // namespace hermes::adapter::{namespace}")
Expand Down
128 changes: 88 additions & 40 deletions adapter/mpiio/mpiio.cc
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,8 @@ inline bool IsTracked(MPI_File *fh) {
return exists;
}

extern "C" {

/**
* MPI
*/
Expand Down Expand Up @@ -115,7 +117,9 @@ int HERMES_DECL(MPI_File_close)(MPI_File *fh) {
auto real_api = Singleton<API>::GetInstance();
auto fs_api = Singleton<MpiioFS>::GetInstance();
if (IsTracked(fh)) {
File f; f.mpi_fh_ = *fh; fs_api->_InitFile(f);
File f;
f.mpi_fh_ = *fh;
fs_api->_InitFile(f);
return fs_api->Close(f, stat_exists);
}
return real_api->MPI_File_close(fh);
Expand All @@ -126,7 +130,9 @@ int HERMES_DECL(MPI_File_seek)(MPI_File fh, MPI_Offset offset, int whence) {
auto real_api = Singleton<API>::GetInstance();
auto fs_api = Singleton<MpiioFS>::GetInstance();
if (IsTracked(&fh)) {
File f; f.mpi_fh_ = fh; fs_api->_InitFile(f);
File f;
f.mpi_fh_ = fh;
fs_api->_InitFile(f);
return fs_api->Seek(f, stat_exists, offset, whence);
}
return real_api->MPI_File_seek(fh, offset, whence);
Expand All @@ -140,7 +146,9 @@ int HERMES_DECL(MPI_File_seek_shared)(MPI_File fh, MPI_Offset offset,
if (IsTracked(&fh)) {
LOG(INFO) << "Intercept MPI_File_seek_shared offset:" << offset
<< " whence:" << whence << "." << std::endl;
File f; f.mpi_fh_ = fh; fs_api->_InitFile(f);
File f;
f.mpi_fh_ = fh;
fs_api->_InitFile(f);
return fs_api->SeekShared(f, stat_exists, offset, whence);
}
return real_api->MPI_File_seek_shared(fh, offset, whence);
Expand All @@ -151,7 +159,9 @@ int HERMES_DECL(MPI_File_get_position)(MPI_File fh, MPI_Offset *offset) {
auto real_api = Singleton<API>::GetInstance();
auto fs_api = Singleton<MpiioFS>::GetInstance();
if (IsTracked(&fh)) {
File f; f.mpi_fh_ = fh; fs_api->_InitFile(f);
File f;
f.mpi_fh_ = fh;
fs_api->_InitFile(f);
(*offset) = static_cast<MPI_Offset>(fs_api->Tell(f, stat_exists));
return MPI_SUCCESS;
}
Expand All @@ -165,7 +175,9 @@ int HERMES_DECL(MPI_File_read_all)(MPI_File fh, void *buf, int count,
auto fs_api = Singleton<MpiioFS>::GetInstance();
if (IsTracked(&fh)) {
LOG(INFO) << "Intercept MPI_File_read_all." << std::endl;
File f; f.mpi_fh_ = fh; fs_api->_InitFile(f);
File f;
f.mpi_fh_ = fh;
fs_api->_InitFile(f);
return fs_api->ReadAll(f, stat_exists, buf, count, datatype, status);
}
return real_api->MPI_File_read_all(fh, buf, count, datatype, status);
Expand All @@ -177,12 +189,14 @@ int HERMES_DECL(MPI_File_read_at_all)(MPI_File fh, MPI_Offset offset, void *buf,
auto real_api = Singleton<API>::GetInstance();
auto fs_api = Singleton<MpiioFS>::GetInstance();
if (IsTracked(&fh)) {
File f; f.mpi_fh_ = fh; fs_api->_InitFile(f);
return fs_api->ReadAll(f, stat_exists, buf,
offset, count, datatype, status);
File f;
f.mpi_fh_ = fh;
fs_api->_InitFile(f);
return fs_api->ReadAll(f, stat_exists, buf, offset, count, datatype,
status);
}
return real_api->MPI_File_read_at_all(fh, offset, buf,
count, datatype, status);
return real_api->MPI_File_read_at_all(fh, offset, buf, count, datatype,
status);
}
int HERMES_DECL(MPI_File_read_at)(MPI_File fh, MPI_Offset offset, void *buf,
int count, MPI_Datatype datatype,
Expand All @@ -191,7 +205,9 @@ int HERMES_DECL(MPI_File_read_at)(MPI_File fh, MPI_Offset offset, void *buf,
auto real_api = Singleton<API>::GetInstance();
auto fs_api = Singleton<MpiioFS>::GetInstance();
if (IsTracked(&fh)) {
File f; f.mpi_fh_ = fh; fs_api->_InitFile(f);
File f;
f.mpi_fh_ = fh;
fs_api->_InitFile(f);
return fs_api->Read(f, stat_exists, buf, offset, count, datatype, status);
}
return real_api->MPI_File_read_at(fh, offset, buf, count, datatype, status);
Expand All @@ -202,7 +218,9 @@ int HERMES_DECL(MPI_File_read)(MPI_File fh, void *buf, int count,
auto real_api = Singleton<API>::GetInstance();
auto fs_api = Singleton<MpiioFS>::GetInstance();
if (IsTracked(&fh)) {
File f; f.mpi_fh_ = fh; fs_api->_InitFile(f);
File f;
f.mpi_fh_ = fh;
fs_api->_InitFile(f);
int ret = fs_api->Read(f, stat_exists, buf, count, datatype, status);
if (stat_exists) return ret;
}
Expand All @@ -215,7 +233,9 @@ int HERMES_DECL(MPI_File_read_ordered)(MPI_File fh, void *buf, int count,
auto real_api = Singleton<API>::GetInstance();
auto fs_api = Singleton<MpiioFS>::GetInstance();
if (IsTracked(&fh)) {
File f; f.mpi_fh_ = fh; fs_api->_InitFile(f);
File f;
f.mpi_fh_ = fh;
fs_api->_InitFile(f);
return fs_api->ReadOrdered(f, stat_exists, buf, count, datatype, status);
}
return real_api->MPI_File_read_ordered(fh, buf, count, datatype, status);
Expand All @@ -228,7 +248,9 @@ int HERMES_DECL(MPI_File_read_shared)(MPI_File fh, void *buf, int count,
auto fs_api = Singleton<MpiioFS>::GetInstance();
if (IsTracked(&fh)) {
LOG(INFO) << "Intercept MPI_File_read_shared." << std::endl;
File f; f.mpi_fh_ = fh; fs_api->_InitFile(f);
File f;
f.mpi_fh_ = fh;
fs_api->_InitFile(f);
return fs_api->Read(f, stat_exists, buf, count, datatype, status);
}
return real_api->MPI_File_read_shared(fh, buf, count, datatype, status);
Expand All @@ -239,10 +261,12 @@ int HERMES_DECL(MPI_File_write_all)(MPI_File fh, const void *buf, int count,
auto real_api = Singleton<API>::GetInstance();
auto fs_api = Singleton<MpiioFS>::GetInstance();
if (IsTracked(&fh)) {
LOG(INFO) << "Intercept MPI_File_write_all." << std::endl;
File f; f.mpi_fh_ = fh; fs_api->_InitFile(f);
int ret = fs_api->WriteAll(f, stat_exists, buf, count, datatype, status);
if (stat_exists) return ret;
LOG(INFO) << "Intercept MPI_File_write_all." << std::endl;
File f;
f.mpi_fh_ = fh;
fs_api->_InitFile(f);
int ret = fs_api->WriteAll(f, stat_exists, buf, count, datatype, status);
if (stat_exists) return ret;
}
return real_api->MPI_File_write_all(fh, buf, count, datatype, status);
}
Expand All @@ -254,13 +278,15 @@ int HERMES_DECL(MPI_File_write_at_all)(MPI_File fh, MPI_Offset offset,
auto real_api = Singleton<API>::GetInstance();
auto fs_api = Singleton<MpiioFS>::GetInstance();
if (IsTracked(&fh)) {
File f; f.mpi_fh_ = fh; fs_api->_InitFile(f);
int ret = fs_api->WriteAll(f, stat_exists, buf,
offset, count, datatype, status);
File f;
f.mpi_fh_ = fh;
fs_api->_InitFile(f);
int ret =
fs_api->WriteAll(f, stat_exists, buf, offset, count, datatype, status);
if (stat_exists) return ret;
}
return real_api->MPI_File_write_at_all(fh, offset, buf, count,
datatype, status);
return real_api->MPI_File_write_at_all(fh, offset, buf, count, datatype,
status);
}
int HERMES_DECL(MPI_File_write_at)(MPI_File fh, MPI_Offset offset,
const void *buf, int count,
Expand All @@ -270,7 +296,9 @@ int HERMES_DECL(MPI_File_write_at)(MPI_File fh, MPI_Offset offset,
auto fs_api = Singleton<MpiioFS>::GetInstance();
LOG(INFO) << "In MPI_File_write_at" << std::endl;
if (IsTracked(&fh)) {
File f; f.mpi_fh_ = fh; fs_api->_InitFile(f);
File f;
f.mpi_fh_ = fh;
fs_api->_InitFile(f);
return fs_api->Write(f, stat_exists, buf, offset, count, datatype, status);
}
return real_api->MPI_File_write_at(fh, offset, buf, count, datatype, status);
Expand All @@ -282,7 +310,9 @@ int HERMES_DECL(MPI_File_write)(MPI_File fh, const void *buf, int count,
auto fs_api = Singleton<MpiioFS>::GetInstance();
LOG(INFO) << "In MPI_File_write" << std::endl;
if (IsTracked(&fh)) {
File f; f.mpi_fh_ = fh; fs_api->_InitFile(f);
File f;
f.mpi_fh_ = fh;
fs_api->_InitFile(f);
int ret = fs_api->Write(f, stat_exists, buf, count, datatype, status);
if (stat_exists) return ret;
}
Expand All @@ -295,7 +325,9 @@ int HERMES_DECL(MPI_File_write_ordered)(MPI_File fh, const void *buf, int count,
auto real_api = Singleton<API>::GetInstance();
auto fs_api = Singleton<MpiioFS>::GetInstance();
if (IsTracked(&fh)) {
File f; f.mpi_fh_ = fh; fs_api->_InitFile(f);
File f;
f.mpi_fh_ = fh;
fs_api->_InitFile(f);
return fs_api->WriteOrdered(f, stat_exists, buf, count, datatype, status);
}
return real_api->MPI_File_write_ordered(fh, buf, count, datatype, status);
Expand All @@ -308,7 +340,9 @@ int HERMES_DECL(MPI_File_write_shared)(MPI_File fh, const void *buf, int count,
auto fs_api = Singleton<MpiioFS>::GetInstance();
if (IsTracked(&fh)) {
// NOTE(llogan): originally WriteOrdered
File f; f.mpi_fh_ = fh; fs_api->_InitFile(f);
File f;
f.mpi_fh_ = fh;
fs_api->_InitFile(f);
return fs_api->WriteOrdered(f, stat_exists, buf, count, datatype, status);
}
return real_api->MPI_File_write_shared(fh, buf, count, datatype, status);
Expand All @@ -324,20 +358,23 @@ int HERMES_DECL(MPI_File_iread_at)(MPI_File fh, MPI_Offset offset, void *buf,
auto real_api = Singleton<API>::GetInstance();
auto fs_api = Singleton<MpiioFS>::GetInstance();
if (IsTracked(&fh)) {
File f; f.mpi_fh_ = fh; fs_api->_InitFile(f);
File f;
f.mpi_fh_ = fh;
fs_api->_InitFile(f);
fs_api->ARead(f, stat_exists, buf, offset, count, datatype, request);
return MPI_SUCCESS;
}
return real_api->MPI_File_iread_at(fh, offset, buf,
count, datatype, request);
return real_api->MPI_File_iread_at(fh, offset, buf, count, datatype, request);
}
int HERMES_DECL(MPI_File_iread)(MPI_File fh, void *buf, int count,
MPI_Datatype datatype, MPI_Request *request) {
bool stat_exists;
auto real_api = Singleton<API>::GetInstance();
auto fs_api = Singleton<MpiioFS>::GetInstance();
if (IsTracked(&fh)) {
File f; f.mpi_fh_ = fh; fs_api->_InitFile(f);
File f;
f.mpi_fh_ = fh;
fs_api->_InitFile(f);
fs_api->ARead(f, stat_exists, buf, count, datatype, request);
}
return real_api->MPI_File_iread(fh, buf, count, datatype, request);
Expand All @@ -349,7 +386,9 @@ int HERMES_DECL(MPI_File_iread_shared)(MPI_File fh, void *buf, int count,
auto real_api = Singleton<API>::GetInstance();
auto fs_api = Singleton<MpiioFS>::GetInstance();
if (IsTracked(&fh)) {
File f; f.mpi_fh_ = fh; fs_api->_InitFile(f);
File f;
f.mpi_fh_ = fh;
fs_api->_InitFile(f);
fs_api->ARead(f, stat_exists, buf, count, datatype, request);
return MPI_SUCCESS;
}
Expand All @@ -363,12 +402,14 @@ int HERMES_DECL(MPI_File_iwrite_at)(MPI_File fh, MPI_Offset offset,
auto real_api = Singleton<API>::GetInstance();
auto fs_api = Singleton<MpiioFS>::GetInstance();
if (IsTracked(&fh)) {
File f; f.mpi_fh_ = fh; fs_api->_InitFile(f);
File f;
f.mpi_fh_ = fh;
fs_api->_InitFile(f);
fs_api->AWrite(f, stat_exists, buf, offset, count, datatype, request);
return MPI_SUCCESS;
}
return real_api->MPI_File_iwrite_at(fh, offset, buf,
count, datatype, request);
return real_api->MPI_File_iwrite_at(fh, offset, buf, count, datatype,
request);
}

int HERMES_DECL(MPI_File_iwrite)(MPI_File fh, const void *buf, int count,
Expand All @@ -377,7 +418,9 @@ int HERMES_DECL(MPI_File_iwrite)(MPI_File fh, const void *buf, int count,
auto real_api = Singleton<API>::GetInstance();
auto fs_api = Singleton<MpiioFS>::GetInstance();
if (IsTracked(&fh)) {
File f; f.mpi_fh_ = fh; fs_api->_InitFile(f);
File f;
f.mpi_fh_ = fh;
fs_api->_InitFile(f);
fs_api->AWrite(f, stat_exists, buf, count, datatype, request);
return MPI_SUCCESS;
}
Expand All @@ -390,12 +433,13 @@ int HERMES_DECL(MPI_File_iwrite_shared)(MPI_File fh, const void *buf, int count,
auto real_api = Singleton<API>::GetInstance();
auto fs_api = Singleton<MpiioFS>::GetInstance();
if (IsTracked(&fh)) {
File f; f.mpi_fh_ = fh; fs_api->_InitFile(f);
File f;
f.mpi_fh_ = fh;
fs_api->_InitFile(f);
fs_api->AWriteOrdered(f, stat_exists, buf, count, datatype, request);
return MPI_SUCCESS;
}
return real_api->MPI_File_iwrite_shared(fh, buf, count,
datatype, request);
return real_api->MPI_File_iwrite_shared(fh, buf, count, datatype, request);
}

/**
Expand All @@ -406,9 +450,13 @@ int HERMES_DECL(MPI_File_sync)(MPI_File fh) {
auto real_api = Singleton<API>::GetInstance();
auto fs_api = Singleton<MpiioFS>::GetInstance();
if (IsTracked(&fh)) {
File f; f.mpi_fh_ = fh; fs_api->_InitFile(f);
File f;
f.mpi_fh_ = fh;
fs_api->_InitFile(f);
fs_api->Sync(f, stat_exists);
return 0;
}
return real_api->MPI_File_sync(fh);
}

} // extern C
Loading

0 comments on commit b594993

Please sign in to comment.