forked from taichi-dev/taichi
-
Notifications
You must be signed in to change notification settings - Fork 1
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
Sync #14
Merged
Merged
Sync #14
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Issue: # ### Brief Summary
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Issue: # ### Brief Summary
This PR removes the `packed` option in `ti.init` according to the changes in v1.4.0.
Issue: # ### Brief Summary
Issue: #3013 ### Brief Summary Implementing colored texts: ```py window = ti.ui.Window('Window', (768, 768), vsync=True) canvas = window.get_canvas() gui = window.get_gui() while window.running: with gui.sub_window("Yo", 0.05, 0.05, 0.9, 0.2) as w: w.text("haha", (1.0,0.2,0.3)) window.show() ``` <img width="767" alt="Screenshot 2023-01-03 at 20 07 11" src="https://user-images.githubusercontent.com/16066115/210433302-e58fbc41-5331-4904-ae10-65f60e0b3446.png"> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Issue: # ### Brief Summary
Issue: # ### Brief Summary
Issue: # ### Brief Summary
Issue: #6832 ### Brief Summary Compute-only CommandList APIs other than dispatch has been changed to use `noexcept`, and the behavior specifications has been added, and relevant checks are now in place for Vulkan and partially for DX11. Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Issue: #2590 ### Brief Summary Under pure `dynamic_index` setting, `MatrixPtrStmt`s are not scalarized. It actually produces `2n` more instructions (`n` `ConstStmt`s and n `MatrixPtrStmt`s) than the scalarized setting, where `n` is the number of usages of `MatrixPtrStmt`s. This PR adds `ExtractPointers` pass to eliminate all the redundant instructions. See comments in the code for details. After this PR, the number of instructions after the `scalarize()` pass of the script in #6933 under dynamic index reduces from 49589 to 26581, and the compilation time reduces from 20.02s to 7.82s. Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
…hon to Frontend IR (#6942) Issue: #5819 ### Brief Summary For indices of TensorType, instead of scalarizing them at Python level, it is up to the Frontend IR's consumer to decide whether TensorType'd indices are acceptable and if we should have it scalarized. This PR removes `expand_expr` in Expression subscription and migrate the scalarization logics to the following constructors: 1. MeshIndexConversionExpression::MeshIndexConversionExpression 2. IndexExpression::IndexExpression
Issue: #5858 ### Brief Summary This PR introduces a versioning mechanism to the Taichi Runtime C-API. Taichi Runtime has the same version as the Python frontend. The version information can be queried from taichi header definition `TI_C_API_VERSION`, C-API `ti_get_version`, `__version__` in compiled AOT module, and log output when `ti_create_runtime` is called. Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Issue: #6832 Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Issue: #6114 ### Brief Summary
Issue: #5824 ### Brief Summary
Issue: #2590 ### Brief Summary Previously `ScalarizePointers` (which is for allocas) takes place only when `dynamic_index=False`. In this PR, we automatically identify those allocas only indexed with constants and get them scalarized, and let the remaining allocas go through the code path for dynamic indexing. In this way, we make old user programs behave the same regardless of the `dynamic_index` option, and provide dynamic indexing support for new user programs at the same time. Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Lin Jiang <[email protected]>
Issue: #6999 GGUI's `circles` method does not allow passing NumPy array as radius; this PR fixes this error.
Issue: #6832 Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Issue: # ### Brief Summary
Since we have made `matrix` and `vector` to be different types in v1.4.0, the documentation needs to be updated.
This PR updates the `ti gallery` UI. Must be merged after the gallery image is updated in the assets repo: taichi-dev/taichi_assets#4 Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
ghstack-source-id: 7ccf3062f461ad642aa03b61879060b86e37df18 Pull Request resolved: #7027
ghstack-source-id: c7345fbae605793d13fd4c358e65ab20815c9155 Pull Request resolved: #7059
Issue: ##6434 ### Brief Summary 1. Add exclusive way to process kernel argument. 2. Upate `launch` api in `AMDGPUContext` . Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Issue: fix #6978 ### Brief Summary After #7068, The `taichi_ngp` example reports `RuntimeError: [type_factory.cpp:promoted_type@222] Assertion failure: a->is<TensorType>() && b->is<TensorType>()`. The root cause is that `taichi_ngp` uses `atomic_sub` on a value with type different from the destination, which will generate `neg` + `cast`. However, the `ret_type` and `cast_type` of `UnaryOpStmt` produced by `Scalarize` aren't set correctly. This PR fixes the problem.
This PR removes the warning message of th example `snow_phaseField` caused by closing the GUI.
This PR removes the deprecation warning message for the `sourceinspect` dependency. Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Issue: # ### Brief Summary
Issue: # ### Brief Summary Sometimes we can see `filename too long` errors in `actions/checkout` step, with the added `core.longpaths=true` we can (hopefully) solve this. Still didn't figure out the exact reason why checked-out repos go corrupt, but this seems a reasonable candidate. ![2023-01-09-151745_1951x428_scrot](https://user-images.githubusercontent.com/857880/211257397-2447a941-84ce-4e3c-87c5-0efdc4ec40d8.png)
I found this while using ti.math.sign(), the description confused me >x = ti.Vector([-1.0, 0.0, 1.0]) ti.sign(x) [0.8, 0.3, 0.3, 0.2] then found more wrong information in mathimpl.py, there exists three writting styles, and I've unified them.
### Brief Summary `ti.Matrix.rotation2d()` should be removed according to the [deprecation notice](https://github.com/taichi-dev/taichi/releases/tag/v1.3.0). Related change: taichi-dev/taichi-aot-demo#107
This PR is a pretty huge one: 1. Metal runtime is now written in Objective-C++ instead of wrapped C++. 2. The Metal backend is now driven by `GfxRuntime`. `MetalRuntime` has been removed entirely. 3. The Metal backend is now consuming artifacts from the SPIR-V codegen. SPIRV-Cross is linked to enable translation from SPIR-V to plain text MSL. The Metal codegen has been removed entirely. 4. The runtime C-API now supports Metal. Yay! 5. Adapted tests to be like other gfx archs. Removed sparse taichi extensions. Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Issue: #7002 Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
) Issue: #6572 * Fix using dtype for symbolic args in AOT usages * Cleanup all the usages of `field_dim` and `element_shape` in examples and tests
Issue: #6434 ### Brief Summary This part contains `CHI IR->LLVM IR` part. Similar to part0, the skeleton of this part is similar to `cuda`. Some important notes are following. 1. `ocml` is the math library like 'libdevice' in `nvidia`. It provides most of the functions we need. Remains such as `sgn`, and `abs` have been completed by hand codes 2. The kernel parameter passing part is different from the `CUDA`. `extra_args` is the only way that could be accepted by `device kernel.` 3. still uses jargon from `nvidia`.(e.g. `sm`, `block` and `grid`) Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
galeselee
pushed a commit
that referenced
this pull request
Jan 16, 2023
Related Issue: taichi-dev#7140 ### Brief Summary On macOS, when test worker hard fails (abort, EXC_BAD_ACCESS, etc.), backward_cpp's signal handler will re-raise the signal and catch it afterwards, make it an infinite loop, at the moment the offending process can't be terminated easily (except a SIGKILL), eat CPU cycles and blocks test runner. ``` (lldb) bt * thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGABRT * frame #0: 0x00000001a04f0e28 libsystem_kernel.dylib`__pthread_kill + 8 frame #1: 0x00000001a052343c libsystem_pthread.dylib`pthread_kill + 292 frame #2: 0x00000001a0402e10 libsystem_c.dylib`raise + 32 frame #3: 0x00000001283a0848 taichi_python.cpython-38-darwin.so`backward::SignalHandling::sig_handler(int, __siginfo*, void*) + 28 frame #4: 0x00000001a056ec44 libsystem_platform.dylib`_sigtramp + 56 frame #5: 0x00000001a052343c libsystem_pthread.dylib`pthread_kill + 292 frame #6: 0x00000001a0402e10 libsystem_c.dylib`raise + 32 frame #7: 0x00000001283a0848 taichi_python.cpython-38-darwin.so`backward::SignalHandling::sig_handler(int, __siginfo*, void*) + 28 frame #8: 0x00000001a056ec44 libsystem_platform.dylib`_sigtramp + 56 frame #9: 0x00000001a052343c libsystem_pthread.dylib`pthread_kill + 292 frame #10: 0x00000001a0402e10 libsystem_c.dylib`raise + 32 frame #11: 0x00000001283a0848 taichi_python.cpython-38-darwin.so`backward::SignalHandling::sig_handler(int, __siginfo*, void*) + 28 frame #12: 0x00000001a056ec44 libsystem_platform.dylib`_sigtramp + 56 frame #13: 0x00000001a052343c libsystem_pthread.dylib`pthread_kill + 292 frame #14: 0x00000001a0402e10 libsystem_c.dylib`raise + 32 frame #15: 0x00000001283a0848 taichi_python.cpython-38-darwin.so`backward::SignalHandling::sig_handler(int, __siginfo*, void*) + 28 frame #16: 0x00000001a056ec44 libsystem_platform.dylib`_sigtramp + 56 frame #17: 0x00000001a052343c libsystem_pthread.dylib`pthread_kill + 292 frame taichi-dev#18: 0x00000001a0402e10 libsystem_c.dylib`raise + 32 frame taichi-dev#19: 0x00000001283a0848 taichi_python.cpython-38-darwin.so`backward::SignalHandling::sig_handler(int, __siginfo*, void*) + 28 frame taichi-dev#20: 0x00000001a056ec44 libsystem_platform.dylib`_sigtramp + 56 frame taichi-dev#21: 0x00000001a052343c libsystem_pthread.dylib`pthread_kill + 292 frame taichi-dev#22: 0x00000001a0402e10 libsystem_c.dylib`raise + 32 frame taichi-dev#23: 0x00000001283a0848 taichi_python.cpython-38-darwin.so`backward::SignalHandling::sig_handler(int, __siginfo*, void*) + 28 frame taichi-dev#24: 0x00000001a056ec44 libsystem_platform.dylib`_sigtramp + 56 frame taichi-dev#25: 0x00000001a052343c libsystem_pthread.dylib`pthread_kill + 292 frame taichi-dev#26: 0x00000001a0402e10 libsystem_c.dylib`raise + 32 frame taichi-dev#27: 0x00000001283a0848 taichi_python.cpython-38-darwin.so`backward::SignalHandling::sig_handler(int, __siginfo*, void*) + 28 frame taichi-dev#28: 0x00000001a056ec44 libsystem_platform.dylib`_sigtramp + 56 frame taichi-dev#29: 0x00000001a052343c libsystem_pthread.dylib`pthread_kill + 292 frame taichi-dev#30: 0x00000001a0402e10 libsystem_c.dylib`raise + 32 frame taichi-dev#31: 0x00000001a056ec44 libsystem_platform.dylib`_sigtramp + 56 frame taichi-dev#32: 0x00000001a052343c libsystem_pthread.dylib`pthread_kill + 292 frame taichi-dev#33: 0x00000001a046b454 libsystem_c.dylib`abort + 124 frame taichi-dev#34: 0x0000000100194fc0 python`os_abort + 12 frame taichi-dev#35: 0x00000001000758a8 python`cfunction_vectorcall_NOARGS + 324 frame taichi-dev#36: 0x00000001001140f0 python`call_function + 460 frame taichi-dev#37: 0x000000010011086c python`_PyEval_EvalFrameDefault + 27176 frame taichi-dev#38: 0x00000001000287e4 python`function_code_fastcall + 128 frame taichi-dev#39: 0x0000000100028008 python`PyVectorcall_Call + 120 frame taichi-dev#40: 0x0000000100110b20 python`_PyEval_EvalFrameDefault + 27868 frame taichi-dev#41: 0x000000010010982c python`_PyEval_EvalCodeWithName + 3008 frame taichi-dev#42: 0x0000000100028948 python`_PyFunction_Vectorcall + 208 frame taichi-dev#43: 0x0000000100028008 python`PyVectorcall_Call + 120 ```
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Issue: #
Brief Summary