← Back to team overview

yade-dev team mailing list archive

[Bug 729079] Re: Performance optimization of InsertionSortCollider

 

The following patch makes "pre-sorting" in parallel mode.
The clean final sorting is in one-thread mode.

I have done some performance measurements. In 4-thread-mode with 2*10^5
particles the calculation speed is higher on 20%, than without patch. No
performance regression with smaller number of particles.

But anyway, sorting mechanism takes the most of calculation time.

Good to hear opinions.

** Patch added: "pre-sort in parallel mode patch"
   https://bugs.launchpad.net/yade/+bug/729079/+attachment/1936051/+files/patch_parallel_sort.patch

-- 
You received this bug notification because you are a member of Yade
developers, which is the registrant for Yade.
https://bugs.launchpad.net/bugs/729079

Title:
  Performance optimization of InsertionSortCollider

Status in Yet Another Dynamic Engine:
  New

Bug description:
  Sergei Dorofeenko  (https://launchpad.net/~sergei.dorofeenko) found,
  that InsertionSortCollider is probably is a "bottle neck" in
  simulations with >10^5 number of particles even in many-threads mode.

  http://www.mail-archive.com/yade-dev@xxxxxxxxxxxxxxxxxxx/msg06573.html

  Сitation:
  "...I did a perfomance test for parallel mode and results in no good.

  Performance boost only about 40% from 1 thread to 4 thread for 200k
  particles... Cause is a non-parallelised InsertionSortCollider, who
  need about 80% time with 4 threads.

  Results attached."



References