From 96cd1e3c92fefedba7d2b57b51076e052bed1a04 Mon Sep 17 00:00:00 2001 From: Alejandro Saucedo Date: Sun, 1 Nov 2020 21:24:20 +0000 Subject: [PATCH] Updated function names --- python/src/main.cpp | 125 +++++++++++++++++++++++++------------------- 1 file changed, 71 insertions(+), 54 deletions(-) diff --git a/python/src/main.cpp b/python/src/main.cpp index 9573b8074..3cc3e214e 100644 --- a/python/src/main.cpp +++ b/python/src/main.cpp @@ -8,9 +8,9 @@ namespace py = pybind11; PYBIND11_MODULE(komputepy, m) { py::enum_(m, "TensorTypes") - .value("eDevice", kp::Tensor::TensorTypes::eDevice) - .value("eStaging", kp::Tensor::TensorTypes::eStaging) - .value("eStorage", kp::Tensor::TensorTypes::eStorage) + .value("device", kp::Tensor::TensorTypes::eDevice) + .value("staging", kp::Tensor::TensorTypes::eStaging) + .value("storage", kp::Tensor::TensorTypes::eStorage) .export_values(); py::class_>(m, "Tensor") @@ -22,26 +22,36 @@ PYBIND11_MODULE(komputepy, m) { [](const std::vector& data, kp::Tensor::TensorTypes tensorTypes) { return std::unique_ptr(new kp::Tensor(data, tensorTypes)); })) - .def("data", &kp::Tensor::data); + .def("data", &kp::Tensor::data) + .def("size", &kp::Tensor::size) + .def("tensor_type", &kp::Tensor::tensorType) + .def("is_init", &kp::Tensor::isInit) + .def("set_data", &kp::Tensor::setData) + .def("map_data_from_host", &kp::Tensor::mapDataFromHostMemory) + .def("map_data_into_host", &kp::Tensor::mapDataIntoHostMemory); py::class_>(m, "Sequence") .def("init", &kp::Sequence::init) + // record .def("begin", &kp::Sequence::begin) .def("end", &kp::Sequence::end) + // eval .def("eval", &kp::Sequence::eval) - .def("evalAsync", &kp::Sequence::evalAsync) - .def("evalAwait", &kp::Sequence::evalAwait) - .def("isRunning", &kp::Sequence::isRunning) - .def("isRecording", &kp::Sequence::isRecording) - .def("isInit", &kp::Sequence::isInit) - .def("recordOpTensorCreate", &kp::Sequence::record) - .def("recordOpTensorCopy", &kp::Sequence::record) - .def("recordOpTensorSyncDevice", &kp::Sequence::record) - .def("recordOpTensorSyncLocal", &kp::Sequence::record) - .def("recordOpAlgoMult", &kp::Sequence::record) - .def("recordOpAlgoBaseFile", &kp::Sequence::record) - .def("recordOpAlgoBaseData", &kp::Sequence::record>) - .def("recordOpAlgoLhsRhsOut", &kp::Sequence::record); + .def("eval_async", &kp::Sequence::evalAsync) + .def("eval_await", &kp::Sequence::evalAwait) + // status + .def("is_running", &kp::Sequence::isRunning) + .def("is_rec", &kp::Sequence::isRecording) + .def("is_init", &kp::Sequence::isInit) + // record + .def("record_tensor_create", &kp::Sequence::record) + .def("record_tensor_copy", &kp::Sequence::record) + .def("record_tensor_sync_device", &kp::Sequence::record) + .def("record_tensor_sync_local", &kp::Sequence::record) + .def("record_algo_mult", &kp::Sequence::record) + .def("record_algo_file", &kp::Sequence::record) + .def("record_algo_data", &kp::Sequence::record>) + .def("record_algo_lro", &kp::Sequence::record); py::class_(m, "Manager") .def(py::init()) @@ -53,45 +63,52 @@ PYBIND11_MODULE(komputepy, m) { [](uint32_t physicalDeviceIndex, const std::vector& familyQueueIndices) { return std::unique_ptr(new kp::Manager(physicalDeviceIndex, familyQueueIndices)); })) - .def("getOrCreateManagedSequence", &kp::Manager::getOrCreateManagedSequence) - .def("createManagedSequence", &kp::Manager::createManagedSequence, + .def("get_create_sequence", &kp::Manager::getOrCreateManagedSequence) + .def("create_sequence", &kp::Manager::createManagedSequence, py::arg("name"), py::arg("queueIndex") = 0) - .def("buildTensor", &kp::Manager::buildTensor, + .def("build_tensor", &kp::Manager::buildTensor, py::arg("data"), py::arg("tensorType") = kp::Tensor::TensorTypes::eDevice) - .def("evalOpAsync", &kp::Manager::evalOpAsync) - .def("evalOpAsyncDefault", &kp::Manager::evalOpAsyncDefault) - .def("evalOpDefaultTensorCreate", &kp::Manager::evalOpDefault) - .def("evalOpDefaultTensorCopy", &kp::Manager::evalOpDefault) - .def("evalOpDefaultTensorSyncDevice", &kp::Manager::evalOpDefault) - .def("evalOpDefaultTensorSyncLocal", &kp::Manager::evalOpDefault) - .def("evalOpDefaultAlgoMult", &kp::Manager::evalOpDefault) - .def("evalOpDefaultAlgoBaseFile", &kp::Manager::evalOpDefault) - .def("evalOpDefaultAlgoBaseData", &kp::Manager::evalOpDefault>) - .def("evalOpDefaultAlgoLhsRhsOut", &kp::Manager::evalOpDefault) - .def("evalOpTensorCreate", &kp::Manager::evalOp) - .def("evalOpTensorCopy", &kp::Manager::evalOp) - .def("evalOpTensorSyncDevice", &kp::Manager::evalOp) - .def("evalOpTensorSyncLocal", &kp::Manager::evalOp) - .def("evalOpAlgoMult", &kp::Manager::evalOp) - .def("evalOpAlgoBaseFile", &kp::Manager::evalOp) - .def("evalOpAlgoBaseData", &kp::Manager::evalOp>) - .def("evalOpAlgoLhsRhsOut", &kp::Manager::evalOp) - .def("evalOpAsyncDefaultTensorCreate", &kp::Manager::evalOpAsyncDefault) - .def("evalOpAsyncDefaultTensorCopy", &kp::Manager::evalOpAsyncDefault) - .def("evalOpAsyncDefaultTensorSyncDevice", &kp::Manager::evalOpAsyncDefault) - .def("evalOpAsyncDefaultTensorSyncLocal", &kp::Manager::evalOpAsyncDefault) - .def("evalOpAsyncDefaultAlgoMult", &kp::Manager::evalOpAsyncDefault) - .def("evalOpAsyncDefaultAlgoBaseFile", &kp::Manager::evalOpAsyncDefault) - .def("evalOpAsyncDefaultAlgoBaseData", &kp::Manager::evalOpAsyncDefault>) - .def("evalOpAsyncDefaultAlgoLhsRhsOut", &kp::Manager::evalOpAsyncDefault) - .def("evalOpAsyncTensorCreate", &kp::Manager::evalOpAsync) - .def("evalOpAsyncTensorCopy", &kp::Manager::evalOpAsync) - .def("evalOpAsyncTensorSyncDevice", &kp::Manager::evalOpAsync) - .def("evalOpAsyncTensorSyncLocal", &kp::Manager::evalOpAsync) - .def("evalOpAsync", &kp::Manager::evalOpAsync) - .def("evalOpAsyncAlgoBaseFile", &kp::Manager::evalOpAsync) - .def("evalOpAsyncAlgoBase", &kp::Manager::evalOpAsync>) - .def("evalOpAsyncAlgoLhsRhsOut", &kp::Manager::evalOpAsync); + // Await functions + .def("eval_await", &kp::Manager::evalOpAwait, + py::arg("sequenceName"), py::arg("waitFor") = UINT64_MAX) + .def("eval_await_def", &kp::Manager::evalOpAwaitDefault, + py::arg("waitFor") = UINT64_MAX) + // eval default + .def("eval_tensor_create_def", &kp::Manager::evalOpDefault) + .def("eval_tensor_copy_def", &kp::Manager::evalOpDefault) + .def("eval_tensor_sync_device_def", &kp::Manager::evalOpDefault) + .def("eval_tensor_sync_local_def", &kp::Manager::evalOpDefault) + .def("eval_algo_mult_def", &kp::Manager::evalOpDefault) + .def("eval_algo_file_def", &kp::Manager::evalOpDefault) + .def("eval_algo_data_def", &kp::Manager::evalOpDefault>) + .def("eval_algo_lro_def", &kp::Manager::evalOpDefault) + // eval + .def("eval_tensor_create", &kp::Manager::evalOp) + .def("eval_tensor_copy", &kp::Manager::evalOp) + .def("eval_tensor_sync_device", &kp::Manager::evalOp) + .def("eval_tensor_sync_local", &kp::Manager::evalOp) + .def("eval_algo_mult", &kp::Manager::evalOp) + .def("eval_algo_file", &kp::Manager::evalOp) + .def("eval_algo_data", &kp::Manager::evalOp>) + .def("eval_algo_lro", &kp::Manager::evalOp) + // eval async default + .def("eval_async_tensor_create_def", &kp::Manager::evalOpAsyncDefault) + .def("eval_async_tensor_copy_def", &kp::Manager::evalOpAsyncDefault) + .def("eval_async_tensor_sync_device_def", &kp::Manager::evalOpAsyncDefault) + .def("eval_async_tensor_sync_local_def", &kp::Manager::evalOpAsyncDefault) + .def("eval_async_algo_mult_def", &kp::Manager::evalOpAsyncDefault) + .def("eval_async_algo_file_def", &kp::Manager::evalOpAsyncDefault) + .def("eval_async_algo_data_def", &kp::Manager::evalOpAsyncDefault>) + .def("eval_async_algo_lro_def", &kp::Manager::evalOpAsyncDefault) + // eval async + .def("eval_tensor_create", &kp::Manager::evalOpAsync) + .def("eval_tensor_copy", &kp::Manager::evalOpAsync) + .def("eval_tensor_sync_device", &kp::Manager::evalOpAsync) + .def("eval_tensor_sync_local", &kp::Manager::evalOpAsync) + .def("eval_algo_mult", &kp::Manager::evalOpAsync) + .def("eval_algo_file", &kp::Manager::evalOpAsync) + .def("eval_algo_data", &kp::Manager::evalOpAsync>) + .def("eval_algo_lro", &kp::Manager::evalOpAsync); #ifdef VERSION_INFO