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

[cleanup] Untangle the dependencies between the Taichi submodules #2196

Open
k-ye opened this issue Mar 3, 2021 · 0 comments
Open

[cleanup] Untangle the dependencies between the Taichi submodules #2196

k-ye opened this issue Mar 3, 2021 · 0 comments
Assignees
Labels
feature request Suggest an idea on this project

Comments

@k-ye
Copy link
Member

k-ye commented Mar 3, 2021

Clean up the organization of the code in CMake, such that taichi_core.so can be composed from a few smaller libraries.

The near-term goal is to isolate the part that do not need to interact with pybind11 into its own library (call it liba). liba can be linked into both taichi_core.so and the unit test executable (#2195 ). This is mainly to make Taichi code unit-testable. Currently, linking taichi_core.so into the unit tests doesn't work, and it still requires the full python dependency. (I tried linking the python lib as well, but then got GIL issue and felt like it was not worth the efforts digging into it)

Many files have directly or indirectly depended on taichi/program/program.h. We have to cut off such dependencies, otherwise it pulls in too many parts of the system. Particularly, we have to do the followings

  • Break down taichi/lang_util.h (lang_util.cpp includes taichi/program/program.h)
  • Do not include the frontend IR or expression.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request Suggest an idea on this project
Projects
None yet
Development

No branches or pull requests

1 participant