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

[Metal] Support pointer SNode on Metal #2441

Merged
merged 7 commits into from
Jun 30, 2021
Merged

Conversation

k-ye
Copy link
Member

@k-ye k-ye commented Jun 19, 2021

Related issue = #1174

@k-ye k-ye changed the title [Metal] Support pointer SNode [Metal] Support pointer SNode on Metal Jun 19, 2021
@k-ye k-ye force-pushed the metal-ptr2 branch 2 times, most recently from c2a4eee to d8aa6f5 Compare June 20, 2021 04:59
@k-ye
Copy link
Member Author

k-ye commented Jun 20, 2021

/format

@k-ye
Copy link
Member Author

k-ye commented Jun 20, 2021

/format

@k-ye
Copy link
Member Author

k-ye commented Jun 29, 2021

Hopefully this is in a stable enough point now:

  • All tests involving pointer have passed on metal
  • mgpcg.py, mgpcg_advanced.py produced the same result as CPU
  • Got a small_particle_renderer.py working. The original one took too much memory. Because of the 32-bit data-type limitation, right now the Metal backend only supports a maximum of ~4GB memory pool.

small_particle_renderer.txt


  • Fail loud when OOM
  • This test failed because of how refine_coordinates works. Needs additional fix:
    @ti.test(require=ti.extension.sparse, demote_dense_struct_fors=False)
    def test_nested():
    x = ti.field(ti.i32)
    p, q = 3, 7
    n, m = 2, 4
    ti.root.dense(ti.ij, (p, q)).dense(ti.ij, (n, m)).place(x)
    @ti.kernel
    def iterate():
    for i, j in x.parent():
    x[i, j] += 1
    iterate()
    for i in range(p):
    for j in range(q):
    assert x[i * n, j * m] == 1

@k-ye k-ye merged commit 552e181 into taichi-dev:master Jun 30, 2021
@k-ye k-ye deleted the metal-ptr2 branch June 30, 2021 08:27
@squarefk squarefk mentioned this pull request Jul 1, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants