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.
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.
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