deephealthproject / eddl

European Distributed Deep Learning (EDDL) library. A general-purpose library initially developed to cover deep learning needs in healthcare use cases within the DeepHealth project.
https://deephealthproject.github.io/eddl/
MIT License
34 stars 10 forks source link

Protobuf and FPGA function call issue #214

Closed jflich closed 3 years ago

jflich commented 3 years ago

When we run a simple example on FPGA with EDDL compiled with protobuf support the very first function call of Xilinx runtime causes a protobuf error showing this output:

fpga_init process begins [libprotobuf ERROR google/protobuf/descriptor_database.cc:314] Invalid file descriptor data passed to EncodedDescriptorDatabase::Add(). [libprotobuf FATAL google/protobuf/descriptor.cc:1164] CHECK failed: generateddatabase->Add(encoded_file_descriptor, size): terminate called after throwing an instance of 'google::protobuf::FatalException' what(): CHECK failed: generateddatabase->Add(encoded_file_descriptor, size): Aborted (core dumped)

The function that triggers this error is:

auto devices = xcl::get_xil_devices();

which works smoothly if we compile EDDL without protobuf. Does anyone have a hint what could be the cause of this? We know we are probably the only ones using FPGAs with EDDL right now but some suggestions for discovering what's the problem here is welcome. (We tried different ways of getting the Xilinx devices but always we are blocked with the protobuf error.

We need protobuf in order to load ONNX models and perform inference on the FPGA.

Thanks

salvacarrion commented 3 years ago

@chavicoski status?

salvacarrion commented 3 years ago

Fixed.