Skip to content

Build a skeleton interceptor for CuFile #2

@lukemartinlogan

Description

@lukemartinlogan

API interception is the idea that you can change the implementation of a function without having to recompile the code. Hermes, for example, intercepts file I/O APIs (e.g., POSIX) to give applications tiering without having to rebuild them. Linux accomplishes this with the LD_PRELOAD environment variable.

./my_program  # No hermes
LD_PRELOAD=/path/to/libhermes.so ./my_program # With hermes

In this project, we want to intercept cufile instead of POSIX. We have a few files:
cufile_api.h - The interceptor header file (modify this file)
cufile_api.cc - The interceptor implementation (modify this file)
real_api.h - A helper file used in cufile_api.h for loading symbols dynamically from the libraries specified using LD_PRELOAD. (no need to modify this file)

You only need to modify the cufile_api.h and cufile.cc files.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions