如题,不知道有没有大佬帮忙解答
或者如何在taichi中实现这个功能
在离散元里需要对切向位移进行积分,因此我需要记录上一时刻某一接触点对应的切向位移,并对每一个接触点赋予一个哈希值。然后在这一时刻,通过哈希值寻找这一接触在上一时刻中是否存在,如果存在则完成对切向位移累加。
目前我的办法就是建立一个field,里面包括哈希值与对应的切向位移,并通过循环查找。所以我想了解在taichi中是否有更方便和快速的方法,谢谢!
你的key范围有多大?出现位置是否有规律?如果有可以用太极的稀疏数据结构,比如hash或者pointer。
竟然回归了。。。
我之前尝试过用taichi的pointer,但是发现pointer在性能上与dense有较大的差距,大概差了七八倍的时间。
请问大佬taichi中的hash有使用说明嘛,我在帮助文档中好像没找到
可以参照cuda里哈希表的实现,核心思想还是利用原子操作确保线程安全。
见附录A.2(第259页):http://www.mat.unimi.it/users/sansotte/cuda/CUDA_by_Example.pdf
多谢大佬
请问作者在写taichi的哈希表时是怎么解决扩容的问题的呢?我没办法在太极作用域里新建一个更长的ndarray或者field