Skip to content

Commit a861e56

Browse files
authored
feat: Enable deferred unregistering of shared memory regions after inference (#7743)
1 parent 1bc36c3 commit a861e56

File tree

12 files changed

+646
-377
lines changed

12 files changed

+646
-377
lines changed

qa/L0_cuda_shared_memory/cuda_shared_memory_test.py

Lines changed: 273 additions & 171 deletions
Large diffs are not rendered by default.

qa/L0_cuda_shared_memory/test.sh

Lines changed: 35 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -121,41 +121,47 @@ cp ../python_models/execute_delayed_model/model.py ./python_models/simple/1/
121121
cp ../python_models/execute_delayed_model/config.pbtxt ./python_models/simple/
122122
sed -i 's/KIND_CPU/KIND_GPU/g' ./python_models/simple/config.pbtxt
123123

124-
for client_type in http grpc; do
125-
SERVER_ARGS="--model-repository=`pwd`/python_models --log-verbose=1 ${SERVER_ARGS_EXTRA}"
126-
SERVER_LOG="./unregister_shm.$client_type.server.log"
127-
run_server
128-
if [ "$SERVER_PID" == "0" ]; then
129-
echo -e "\n***\n*** Failed to start $SERVER\n***"
130-
cat $SERVER_LOG
131-
exit 1
132-
fi
133124

134-
export CLIENT_TYPE=$client_type
135-
CLIENT_LOG="./unregister_shm.$client_type.client.log"
136-
set +e
137-
python3 $SHM_TEST TestCudaSharedMemoryUnregister.test_unregister_shm_during_inference_$client_type >>$CLIENT_LOG 2>&1
138-
if [ $? -ne 0 ]; then
139-
cat $CLIENT_LOG
140-
echo -e "\n***\n*** Test Failed\n***"
141-
RET=1
142-
else
143-
check_test_results $TEST_RESULT_FILE 1
125+
for test_case in \
126+
test_unregister_shm_during_inference_single_req \
127+
test_unregister_shm_during_inference_multiple_req \
128+
test_unregister_shm_after_inference; do
129+
for client_type in http grpc; do
130+
SERVER_ARGS="--model-repository=`pwd`/python_models --log-verbose=1 ${SERVER_ARGS_EXTRA}"
131+
SERVER_LOG="./${test_case}_${client_type}.server.log"
132+
run_server
133+
if [ "$SERVER_PID" == "0" ]; then
134+
echo -e "\n***\n*** Failed to start $SERVER\n***"
135+
cat $SERVER_LOG
136+
exit 1
137+
fi
138+
139+
export CLIENT_TYPE=$client_type
140+
CLIENT_LOG="./${test_case}_${client_type}.client.log"
141+
set +e
142+
python3 $SHM_TEST "TestCudaSharedMemoryUnregister.${test_case}_${client_type}" >>"$CLIENT_LOG" 2>&1
144143
if [ $? -ne 0 ]; then
145-
cat $TEST_RESULT_FILE
146-
echo -e "\n***\n*** Test Result Verification Failed\n***"
144+
cat $CLIENT_LOG
145+
echo -e "\n***\n*** Test Failed - ${test_case}_${client_type}\n***"
147146
RET=1
147+
else
148+
check_test_results $TEST_RESULT_FILE 1
149+
if [ $? -ne 0 ]; then
150+
cat $TEST_RESULT_FILE
151+
echo -e "\n***\n*** Test Result Verification Failed - ${test_case}_${client_type}\n***"
152+
RET=1
153+
fi
148154
fi
149-
fi
150155

151-
kill $SERVER_PID
152-
wait $SERVER_PID
153-
if [ $? -ne 0 ]; then
154-
echo -e "\n***\n*** Test Server shut down non-gracefully\n***"
155-
RET=1
156-
fi
157-
set -e
156+
kill $SERVER_PID
157+
wait $SERVER_PID
158+
if [ $? -ne 0 ]; then
159+
echo -e "\n***\n*** Test Server shut down non-gracefully\n***"
160+
RET=1
161+
fi
162+
set -e
158163
done
164+
done
159165

160166
if [ $RET -eq 0 ]; then
161167
echo -e "\n***\n*** Test Passed\n***"

0 commit comments

Comments
 (0)