请教一个RuntimeError的问题如何解决

在跑代码的时候遇到了这么一个问题:
RuntimeError: [snode_tree_buffer_manager.cpp:taichi::lang::SNodeTreeBufferManager::allocate@44] LLVM backend supports up to 32 snode trees
然后跑着跑着就结束了,该如何解决呢?


  File "D:\ANACONDA\lib\site-packages\taichi\lang\util.py", line 207, in wrapped
    return func(*args, **kwargs)

  File "D:\ANACONDA\lib\site-packages\taichi\lang\matrix.py", line 1351, in __setitem__
    self.initialize_host_accessors()

  File "D:\ANACONDA\lib\site-packages\taichi\lang\field.py", line 204, in initialize_host_accessors
    taichi.lang.impl.get_runtime().materialize()

  File "D:\ANACONDA\lib\site-packages\taichi\lang\impl.py", line 322, in materialize
    self.materialize_root_fb(not self.materialized)

  File "D:\ANACONDA\lib\site-packages\taichi\lang\impl.py", line 313, in materialize_root_fb
    root.finalize()

  File "D:\ANACONDA\lib\site-packages\taichi\snode\fields_builder.py", line 158, in finalize
    _ti_core.finalize_snode_tree(_snode_registry, self._ptr,

RuntimeError: [snode_tree_buffer_manager.cpp:taichi::lang::SNodeTreeBufferManager::allocate@44] LLVM backend supports up to 32 snode trees

你可以贴出来你的代码么?

根据Runtime Error,可以看出来你创建的Snode tree太多了。一般我们推荐你在调用任何kernel之前就把所有的field定义好。

果然是的,我在一个循环语句里定义了一个field。我把它拿到循环外面就一直可以跑动了。我的代码还没写完,现在还是个半成品,等我写好了上传作业区哈。 :sunglasses:

嗯嗯,好滴。期待你的作业,哈哈。