Hi, thanks for the very nice open source code. I am dealing with large-scale acoustic problems using Bempp-cl. Yesterday, when I tried the first benmark case with element number equal to 300 thousands, I am puzzled about the results. The following picture shows that the multiple threads have been activated(~128 threads), but I have not allocated the exact thread number in my python code(please see below). Is there any automative allocation mechanism in Bempp-cl to determine how many threads to utilize for large-scale problems? I will be very grateful if you can show me the related tutorial for this issue. (My linux cluster Information: ARMV8, CentOS)
my python code:
import bempp.api
bempp.api.DEFAULT_DEVICE_INTERFACE = 'numba'
bempp.api.VECTORIZATION_MODE = "vec4"
grid = bempp.api.shapes.sphere(h=0.01)
space = bempp.api.function_space(grid, "DP", 0)
slp = bempp.api.operators.boundary.laplace.single_layer(space, space, space)
@bempp.api.real_callable
def f(x, n, domain_index, result):
result[0] = x[0] + 1
rhs = bempp.api.GridFunction(space, fun=f)
sol, info = bempp.api.linalg.gmres(slp, rhs)