提交 30a6f9b3 编写于 作者: Y Yu Yang

Start doing shared c_api library

上级 88c38623
...@@ -55,6 +55,10 @@ add_custom_target(paddle_capi_whole ALL ...@@ -55,6 +55,10 @@ add_custom_target(paddle_capi_whole ALL
set_target_properties(paddle_capi_whole set_target_properties(paddle_capi_whole
PROPERTIES IMPORTED_LOCATION ${CMAKE_CURRENT_BINARY_DIR}/${capi_whole_library}) PROPERTIES IMPORTED_LOCATION ${CMAKE_CURRENT_BINARY_DIR}/${capi_whole_library})
add_library(paddle_capi_shared SHARED ${CAPI_SOURCES})
target_include_directories(paddle_capi_shared PUBLIC ${CMAKE_CURRENT_BINARY_DIR})
link_paddle_exe(paddle_capi_shared)
# install library & headers. # install library & headers.
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${capi_whole_library} DESTINATION lib) install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${capi_whole_library} DESTINATION lib)
install(FILES ${CAPI_HEADER} DESTINATION include/paddle) install(FILES ${CAPI_HEADER} DESTINATION include/paddle)
......
...@@ -38,7 +38,7 @@ NeuralNetwork* newCustomNerualNetwork(const std::string& name, ...@@ -38,7 +38,7 @@ NeuralNetwork* newCustomNerualNetwork(const std::string& name,
} // namespace paddle } // namespace paddle
extern "C" { extern "C" {
int PDGradientMachineCreateForPredict(PD_GradiemtMachine* machine, int PDGradientMachineCreateForPredict(PD_GradientMachine* machine,
void* modelConfigProtobuf, void* modelConfigProtobuf,
int size) { int size) {
if (modelConfigProtobuf == nullptr) return kPD_NULLPTR; if (modelConfigProtobuf == nullptr) return kPD_NULLPTR;
...@@ -55,12 +55,12 @@ int PDGradientMachineCreateForPredict(PD_GradiemtMachine* machine, ...@@ -55,12 +55,12 @@ int PDGradientMachineCreateForPredict(PD_GradiemtMachine* machine,
return kPD_NO_ERROR; return kPD_NO_ERROR;
} }
int PDGradientMachineDestroy(PD_GradiemtMachine machine) { int PDGradientMachineDestroy(PD_GradientMachine machine) {
delete cast(machine); delete cast(machine);
return kPD_NO_ERROR; return kPD_NO_ERROR;
} }
int PDGradientMachineLoadParameterFromDisk(PD_GradiemtMachine machine, int PDGradientMachineLoadParameterFromDisk(PD_GradientMachine machine,
const char* path) { const char* path) {
auto m = cast(machine); auto m = cast(machine);
if (m == nullptr || path == nullptr || m->machine == nullptr) if (m == nullptr || path == nullptr || m->machine == nullptr)
...@@ -69,7 +69,7 @@ int PDGradientMachineLoadParameterFromDisk(PD_GradiemtMachine machine, ...@@ -69,7 +69,7 @@ int PDGradientMachineLoadParameterFromDisk(PD_GradiemtMachine machine,
return kPD_NO_ERROR; return kPD_NO_ERROR;
} }
int PDGradientMachineForward(PD_GradiemtMachine machine, int PDGradientMachineForward(PD_GradientMachine machine,
PD_Arguments inArgs, PD_Arguments inArgs,
PD_Arguments outArgs, PD_Arguments outArgs,
bool isTrain) { bool isTrain) {
...@@ -83,10 +83,10 @@ int PDGradientMachineForward(PD_GradiemtMachine machine, ...@@ -83,10 +83,10 @@ int PDGradientMachineForward(PD_GradiemtMachine machine,
return kPD_NO_ERROR; return kPD_NO_ERROR;
} }
int PDGradientMachineCreateSharedParam(PD_GradiemtMachine origin, int PDGradientMachineCreateSharedParam(PD_GradientMachine origin,
void* modelConfigProtobuf, void* modelConfigProtobuf,
int size, int size,
PD_GradiemtMachine* slave) { PD_GradientMachine* slave) {
auto o = cast(origin); auto o = cast(origin);
if (origin == nullptr || slave == nullptr || o->machine == nullptr) { if (origin == nullptr || slave == nullptr || o->machine == nullptr) {
return kPD_NULLPTR; return kPD_NULLPTR;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册