Open Jawahars opened 1 year ago
Thank you for your detailed bug report. There is a fix being implemented in this pull request.
Thank you for your detailed bug report. There is a fix being implemented in this pull request.
Thank you. It seems like this pull request is to address the same issue but for HTTP. We might need to do something similar for GRPC
Good catch, thanks. We've filed a ticket for this.
@Jawahars Quick question on other data types. Were you able to confirm correct operation of INT8 / FP32 types? My guess is there are similar issues with endianness - but wanted to confirm.
@nnshah1 For FP64, interestingly, there is no error but the output is not as expected. The expected output is same as input. Input
[
name: "IN0"
datatype: "FP64"
shape: 1
shape: 2
contents {
fp64_contents: 0.21946542841044636
fp64_contents: 0.9776509135766875
}
]
Actual output
[[ 7.75420243e+19 -4.00605503e-44]]
Input
[
name: "IN0"
datatype: "INT8"
shape: 1
shape: 2
contents {
int_contents: -441
int_contents: 242
}
]
Output
[[-1 0]]
Thanks for confirming - that is what I expected as well (no exception, but incorrect values)- am working with the team on next steps for big endian support.
@dyastremsky pull request solved the issue for HTTP. Do we have any solution for GRPC ?
I believe from @nnshah1's comment here that the GRPC solution for Big Endian will be upcoming.
Description When Triton Server is hosted in Big Endian machine, GRPC calls with BYTES input fails.
Triton Information What version of Triton are you using? 23.01
Are you using the Triton container or did you build it yourself? Built using this docker file for s390x machine
To Reproduce
Python client code to replicate
Actual behavior Gets the following error.
{grpc_message:"Failed to process the request(s) for model instance \'model_test_0_1\', message: error: unpack_from requires a buffer of at least 67108868 bytes for unpacking 67108864 bytes at offset 4 (actual buffer size is 16)\n\nAt:\n /opt/tritonserver/backends/python/triton_python_backend_utils.py(117): deserialize_bytes_tensor\n", grpc_status:13, created_time:"2023-05-18T11:03:38.200987+05:30"}"
Expected behavior The infer method should return the output tensor that is same as input
Additional Information
This works as expected in Big Endian machine when directly using TritonClient's infer method as below.