Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SOT Python3.12 单测支持情况 #61174

Closed
gouzil opened this issue Jan 25, 2024 · 2 comments
Closed

SOT Python3.12 单测支持情况 #61174

gouzil opened this issue Jan 25, 2024 · 2 comments
Assignees
Labels
PFCC Paddle Framework Contributor Club,https://github.com/PaddlePaddle/community/tree/master/pfcc status/close 已关闭

Comments

@gouzil
Copy link
Member

gouzil commented Jan 25, 2024

任务列表

序号 文件位置 认领人 PR 报错信息 初步分析
✅1 test_01_basic.py @gouzil #61883
✅2 test_02_store_inplace.py @gouzil #61305
✅3 test_03_tuple.py @gouzil #61883
✅4 test_04_list.py @gouzil #61883
✅5 test_05_dict.py @gouzil #61883
✅6 test_06_call_function.py @gouzil #61305
✅7 test_07_unpack.py @gouzil #61883
✅8 test_08_rot.py @gouzil #61305
✅9 test_09_f_string.py @SigureMo #61932 COMPARE_OP 改动适配
✅10 test_10_build_unpack.py @gouzil #61995 opcode: CALL_INTRINSIC_1 is not supported. CALL_INTRINSIC_1 字节码支持
✅11 test_11_jumps.py @SigureMo #62411 opcode: POP_JUMP_IF_NONE is not supported. POP_JUMP_IF_NONE 字节码支持
✅12 test_12_for_loop.py @gouzil #62155 paddle.jit.sot.utils.exceptions.FallbackError: opcode: END_FOR is not supported. END_FORLOAD_FAST_CHECK 字节码支持、POP_JUMP_FORWARD_IF_FALSE 应该被删除了,不能生成这条字节码
✅13 test_13_make_function.py @gouzil #61305
✅14 test_14_operators.py @gouzil #61995 opcode: CALL_INTRINSIC_1 is not supported. CALL_INTRINSIC_1 字节码支持
✅15 test_15_slice.py @diadestiny #62028 opcode: STORE_SLICE is not supported. BINARY_SLICESTORE_SLICEEND_FOR 字节码支持
✅16 test_16_paddle_api.py @gouzil #61305
✅17 test_17_paddle_layer.py @diadestiny #62008 opcode: END_FOR is not supported. END_FOR 字节码支持
✅18 test_18_tensor_method.py @gouzil #61883
✅19 test_19_closure.py @gouzil #61883
✅20 test_20_string.py @SigureMo #61932 COMPARE_OP 改动适配
✅21 test_21_global.py @diadestiny #62176 ValueError: bytes must be in range(0, 256) RETURN_CONSTEND_FOR 字节码支持,codegen 时候也有超限问题
✅22 test_analysis_inputs.py @SigureMo #62131 actual_inputs: OrderedSet('x'), expected_inputs: set() 与字节码结构强相关,需要调整单测
✅23 test_binary_operator_tracker.py @SigureMo #61932 COMPARE_OP 改动适配
✅24 test_break_graph.py @diadestiny #62120 opcode: POP_JUMP_IF_NONE is not supported. POP_JUMP_IF_NONE 字节码支持
✅25 test_builtin_dispatch.py @gouzil #61883
✅26 test_builtin_map.py @diadestiny #62008 opcode: END_FOR is not supported. END_FOR 字节码支持
✅27 test_builtin_range.py @diadestiny #62008 opcode: END_FOR is not supported. END_FOR 字节码支持
✅28 test_builtin_zip.py @gouzil #62155 KeyError: 'POP_JUMP_FORWARD_IF_FALSE' 不可生成 POP_JUMP_FORWARD_IF_FALSEEND_FOR 字节码支持
✅29 test_call_ast.py @gouzil #61305
✅30 test_call_object.py @gouzil #61305
✅31 test_constant_graph.py @gouzil #61883
✅32 test_delete_fast.py @gouzil #61305
✅33 test_dtype.py @gouzil@SigureMo #61305 #61932 COMPARE_OP 改动适配
✅34 test_dup_top.py @SigureMo #61932 COMPARE_OP 改动适配
✅35 test_enumerate.py @diadestiny #62008 opcode: END_FOR is not supported. END_FOR 字节码支持
✅36 test_envs.py @gouzil #61305
✅37 test_error_handling.py @gouzil #61305
✅38 test_execution_base.py @gouzil #61305
✅39 test_guard_outputs.py @gouzil #61305
✅40 test_guard_user_defined_fn.py @diadestiny #62120 opcode: POP_JUMP_IF_NOT_NONE is not supported. POP_JUMP_IF_NOT_NONE 字节码支持
✅41 test_inplace_api.py @gouzil #62155 ValueError: bytes must be in range(0, 256) codegen 超限问题
✅42 test_instruction_translator_cache.py @gouzil #61305
✅43 test_min_graph_size.py @gouzil #62155 <class 'int'> is not <class 'paddle.Tensor'> : type mismatch, x is <class 'int'>, y is <class 'paddle.Tensor'> 结果类型不匹配,可能和 MIN_GRAPH_SIZE 策略相关
✅44 test_model_switch_training.py @gouzil #61305
✅45 test_multiple_args.py @gouzil #61305
✅46 test_mutable_data.py @gouzil #61305
✅47 test_numpy.py @gouzil #61305
✅48 test_numpy_var_if.py @SigureMo #61932 COMPARE_OP 改动适配
✅49 test_output_restoration.py @diadestiny #61964 opcode: RETURN_CONST is not supported. RETURN_CONST 字节码支持
✅50 test_segment_linear.py @diadestiny #61964 opcode: RETURN_CONST is not supported. RETURN_CONST 字节码支持
✅51 test_side_effects.py @SigureMo #62411 ValueError: 174 is not in list 字节码生成问题、BINARY_SLICERETURN_CONST 字节码支持、字节码生成超限
✅52 test_simulate_initialize.py @diadestiny #61964 opcode: RETURN_CONST is not supported. RETURN_CONST 字节码支持
✅53 test_sir_rollback.py @diadestiny #61964 opcode: RETURN_CONST is not supported. RETURN_CONST 字节码支持
✅54 test_sot_call.py @gouzil #61305
✅55 test_sot_cost_model.py @gouzil #62155 KeyError: 'POP_JUMP_FORWARD_IF_FALSE' 不能生成 POP_JUMP_FORWARD_IF_FALSE
✅56 test_sot_exception.py @gouzil #61883
✅57 test_sot_export.py @diadestiny #61964 assert os.path.exists(os.path.join(temp_dir_name, "SIR_0.py")) 目标 export 文件未生成,应该是 RETURN_CONST 未支持
✅58 test_sot_resnet.py @SigureMo #62411 KeyError: 'POP_JUMP_FORWARD_IF_FALSE' 不能生成 POP_JUMP_FORWARD_IF_FALSE
✅59 test_sot_resnet50_backward.py @SigureMo #62411 KeyError: 'POP_JUMP_FORWARD_IF_FALSE' 不能生成 POP_JUMP_FORWARD_IF_FALSE
✅60 test_specialization.py @diadestiny #61964 opcode: RETURN_CONST is not supported. RETURN_CONST 字节码支持
✅61 test_stack.py @gouzil #61305
✅62 test_str_format.py @diadestiny #61964 UserDefinedFunctionVariable does not implement "_reconstruct" method 疑似 RETURN_CONST 未支持导致
✅63 test_tensor_dtype_in_guard.py @SigureMo #61932 COMPARE_OP 改动适配
✅64 test_tensor_slice.py @gouzil #61305
✅65 test_trace_list_arg.py @gouzil #61305
✅66 test_unsupport_function.py @gouzil #61305
✅67 test_builtin_bool.py @diadestiny #61964 opcode: RETURN_CONST is not supported. RETURN_CONST 字节码支持

任务统计

任务数量 🔵可认领 🚧迁移中 🟢待合入 ✅完成 🟡下阶段推进 🏁完成率
67 0 0 0 67 0 100.0%
@gouzil gouzil added status/new-issue 新建 type/others 其他问题 labels Jan 25, 2024
@paddle-bot paddle-bot bot added the PFCC Paddle Framework Contributor Club,https://github.com/PaddlePaddle/community/tree/master/pfcc label Jan 25, 2024
@Ligoml Ligoml removed status/new-issue 新建 type/others 其他问题 labels Feb 8, 2024
@SigureMo
Copy link
Member

SigureMo commented Mar 5, 2024

经过一轮修复后,release 版 Python 问题已经修复了 🎉,但是发现在 debug 版 Python 上仍会报一些错误,虽然用户大概率不会使用 debug 版 Python,但这些问题都是隐患,越早消除越好(不然模型上报出问题就更难调试了)

序号 文件位置 认领人 PR 报错信息 初步分析
✅1 test/sot/test_11_jumps.py @SigureMo #62424 Assertion failed: (STACK_LEVEL() >= 1), function _PyEval_EvalFrameDefault, file bytecodes.c, line 643.
🔵2 test/sot/test_18_tensor_method.py @SigureMo 段错误
🔵3 test/sot/test_segment_linear.py 段错误
✅4 test/sot/test_side_effects.py @gouzil #62470 Assertion failed: ((PyObject **)frame + frame->f_code->co_framesize == tstate->datastack_top), function clear_thread_frame, file ceval.c, line 1545.
🔵5 test/sot/test_simulate_initialize.py @gouzil Assertion failed: ((PyObject **)frame + frame->f_code->co_framesize == tstate->datastack_top), function clear_thread_frame, file ceval.c, line 1545.
✅6 test/sot/test_sot_exception.py @gouzil #62470 Assertion failed: ((PyObject **)frame + frame->f_code->co_framesize == tstate->datastack_top), function clear_thread_frame, file ceval.c, line 1545.
🔵7 test/sot/test_sot_resnet.py 段错误
🔵8 test/sot/test_sot_resnet50_backward.py 段错误
🟡9 test/sot/test_str_format.py @SigureMo Assertion failed: (PEEK(3 + (oparg & 1)) == NULL), function _PyEval_EvalFrameDefault, file bytecodes.c, line 3257. CALL_FUNCTION_EX 有对 NULL 的检查,但我们生成代码里是 NullVariable,这个不好解,且仅在 debug 版触发,暂时不处理

@SigureMo
Copy link
Member

#61173 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
PFCC Paddle Framework Contributor Club,https://github.com/PaddlePaddle/community/tree/master/pfcc status/close 已关闭
Projects
None yet
Development

No branches or pull requests

3 participants