char-fork/llama.cpp
git clone https://git.t4t.associates/char-fork/llama.cpp
9e54e687c
char/aliceai-t5-moe
1#pragma once 2 3#ifdef __cplusplus 4extern "C" { 5#endif 6 7#ifdef _WIN32 8# pragma clang diagnostic ignored "-Wignored-attributes" 9#endif 10 11#include <AEEStdErr.h> 12#include <rpcmem.h> 13#include <remote.h> 14#include <dspqueue.h> 15 16#if defined(_WIN32 )&& !defined(__MINGW32__ ) 17# ifdef GGML_BACKEND_BUILD 18# define HTPDRV_API __declspec(dllexport) extern 19# else 20# define HTPDRV_API __declspec(dllimport) extern 21# endif 22#else 23# define HTPDRV_API __attribute__ ((visibility ("default"))) extern 24#endif 25 26/* Offset to differentiate HLOS and Hexagon error codes. 27Stores the value of AEE_EOFFSET for Hexagon. */ 28#ifndef DSP_OFFSET 29# define DSP_OFFSET 0x80000400 30#endif 31 32/* Errno for connection reset by peer. */ 33#ifndef ECONNRESET 34# ifdef __hexagon__ 35# define ECONNRESET 104 36# endif 37#endif 38 39/* Abstraction of different OS specific sleep APIs. 40SLEEP accepts input in seconds. */ 41#ifndef SLEEP 42# ifdef __hexagon__ 43# define SLEEP (x ) \ 44 {/* Do nothing for simulator. */ \ 45 } 46# else 47# ifdef _WIN32 48# define SLEEP (x ) Sleep(1000 * x)/* Sleep accepts input in milliseconds. */ 49# else 50# define SLEEP (x ) sleep(x)/* sleep accepts input in seconds. */ 51# endif 52# endif 53#endif 54 55/* Include windows specific header files. */ 56#ifdef _WIN32 57# include <windows.h> 58# include <sysinfoapi.h> 59# define _CRT_SECURE_NO_WARNINGS 1 60# define _WINSOCK_DEPRECATED_NO_WARNINGS 1 61#endif 62 63/* Includes and defines for all HLOS except windows */ 64#if !defined(__hexagon__ )&& !defined(_WIN32 ) 65# include "unistd.h" 66 67# include <sys/time.h> 68#endif 69 70/* Includes and defines for Hexagon and all HLOS except Windows. */ 71#if !defined(_WIN32 ) 72/* Weak reference to remote symbol for compilation. */ 73# pragma weak remote_session_control 74# pragma weak remote_handle_control 75# pragma weak remote_handle64_control 76# pragma weak fastrpc_mmap 77# pragma weak fastrpc_munmap 78# pragma weak rpcmem_alloc2 79#endif 80 81#if !defined(_WIN32 ) 82# pragma weak remote_system_request 83#endif 84 85#ifdef _WIN32 86# define DSPQUEUE_TIMEOUT DSPQUEUE_TIMEOUT_NONE 87#else 88# define DSPQUEUE_TIMEOUT 1000000 89#endif 90 91/** 92* htpdrv_init API: driver interface entry point 93* 94* @return Return AEE error codes as defined in Hexagon SDK. 95*/ 96HTPDRV_API int htpdrv_init (void ); 97 98/** 99* htpdrv_get_domain API: get domain struct from domain value. 100* 101* @param[in] domain value of a domain 102* @return Returns domain struct of the domain if it is supported or else 103* returns NULL. 104* 105*/ 106HTPDRV_API domain * htpdrv_get_domain (int domain_id ); 107 108/** 109* htpdrv_get_arch API: query the Hexagon processor architecture version information 110* 111* @param[in] domain_id value of a domain 112* @param[out] Arch version (73, 75, ...) 113* @return 0 if query is successful. 114* non-zero if error, return value points to the error. 115* 116*/ 117HTPDRV_API int htpdrv_get_arch (int domain ,int * arch ); 118 119HTPDRV_API int remote_system_request (system_req_payload * req ); 120 121#ifdef __cplusplus 122} 123#endif