include/c_interface.h (25 lines of code) (raw):

#pragma once #ifdef __cplusplus extern "C" { #else #include <stdbool.h> #endif #include <stdint.h> typedef struct CUstream_st *CUstream; bool openai_sgemm(float *A, float *B, float *C, bool a_t, bool b_t, int m, int n, int k, int lda, int ldb, int ldc, float alpha, float beta, CUstream stream, unsigned int grid, unsigned int shared); bool openai_hgemm(uint16_t *A, uint16_t *B, uint16_t *C, bool a_t, bool b_t, int m, int n, int k, int lda, int ldb, int ldc, float alpha, float beta, CUstream stream, unsigned int grid, unsigned int shared); bool get_grid_limits(char precision, bool a_t, bool b_t, unsigned int *grid); bool get_shared_limits(char precision, bool a_t, bool b_t, unsigned int grid, unsigned int *shared); #ifdef __cplusplus } #endif