  We address the parallelization of the LU factorization of hierarchical
matrices ($\mathcal{H}$-matrices) arising from boundary element methods. Our
approach exploits task-parallelism via the OmpSs programming model and runtime,
which discovers the data-flow parallelism intrinsic to the operation at
execution time, via the analysis of data dependencies based on the memory
addresses of the tasks' operands. This is especially challenging for
$\mathcal{H}$-matrices, as the structures containing the data vary in dimension
during the execution. We tackle this issue by decoupling the data structure
from that used to detect dependencies. Furthermore, we leverage the support for
weak operands and early release of dependencies, recently introduced in
OmpSs-2, to accelerate the execution of parallel codes with nested
task-parallelism and fine-grain tasks.
