Legate.jl
Loading...
Searching...
No Matches
task.cpp File Reference
#include "task.h"
#include <uv.h>
#include <atomic>
#include <cassert>
#include <condition_variable>
#include <cstdint>
#include <cstring>
#include <mutex>
#include <string>
#include <vector>
#include "legate.h"
#include "types.h"

Classes

struct  ufi::ufiFunctor
struct  ufi::TaskRequestData

Namespaces

namespace  ufi

Macros

#define DEBUG_PRINT(...)
#define ERROR_PRINT(...)
#define UFI(MODE, ACCESSOR_CALL)

Enumerations

enum class  ufi::AccessMode { ufi::READ , ufi::WRITE }

Functions

 ufi::UFI (read, read_accessor)
 ufi::UFI (write, write_accessor)
legate::Library ufi::create_library (legate::Runtime *rt, std::string library_name)
int ufi::legate_poll_work ()
void ufi::completion_callback_from_julia ()
void ufi::initialize_async_system (void *request_ptr)
void ufi::JuliaTaskInterface (legate::TaskContext context, bool is_gpu)
void ufi::ufi_interface_register (legate::Library &library)
void wrap_ufi (jlcxx::Module &mod)

Macro Definition Documentation

◆ DEBUG_PRINT

#define DEBUG_PRINT ( ...)
Value:
;

◆ ERROR_PRINT

#define ERROR_PRINT ( ...)
Value:
fprintf(stderr, "ERROR: " __VA_ARGS__); \
fflush(stderr);

◆ UFI

#define UFI ( MODE,
ACCESSOR_CALL )
Value:
template < \
typename T, int D, \
typename std::enable_if<(D >= 1 && D <= REALM_MAX_DIM), int>::type = 0> \
void ufi_##MODE(std::uintptr_t& p, const legate::PhysicalArray& rf) { \
auto shp = rf.shape<D>(); \
auto acc = rf.data().ACCESSOR_CALL<T, D>(); \
p = reinterpret_cast<std::uintptr_t>( \
static_cast<const void*>(acc.ptr(Realm::Point<D>(shp.lo)))); \
}

Function Documentation

◆ wrap_ufi()

void wrap_ufi ( jlcxx::Module & mod)