Ändra sökning
RefereraExporteraLänk till posten
Permanent länk

Direktlänk
Referera
Referensformat
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Annat format
Fler format
Språk
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Annat språk
Fler språk
Utmatningsformat
  • html
  • text
  • asciidoc
  • rtf
A flexible algorithm for calculating pair interactions on SIMD architectures
KTH, Skolan för teknikvetenskap (SCI), Teoretisk fysik, Beräkningsbiofysik. KTH, Centra, SeRC - Swedish e-Science Research Centre. KTH, Centra, Science for Life Laboratory, SciLifeLab.ORCID-id: 0000-0003-0603-5514
KTH, Skolan för teknikvetenskap (SCI), Teoretisk fysik, Beräkningsbiofysik. KTH, Centra, SeRC - Swedish e-Science Research Centre. KTH, Centra, Science for Life Laboratory, SciLifeLab.ORCID-id: 0000-0002-7498-7763
2013 (Engelska)Ingår i: Computer Physics Communications, ISSN 0010-4655, E-ISSN 1879-2944, Vol. 184, nr 12, s. 2641-2650Artikel i tidskrift (Refereegranskat) Published
Abstract [en]

Calculating interactions or correlations between pairs of particles is typically the most time-consuming task in particle simulation or correlation analysis. Straightforward implementations using a double loop over particle pairs have traditionally worked well, especially since compilers usually do a good job of unrolling the inner loop. In order to reach high performance on modern CPU and accelerator architectures, single-instruction multiple-data (SIMD) parallelization has become essential. Avoiding memory bottlenecks is also increasingly important and requires reducing the ratio of memory to arithmetic operations. Moreover, when pairs only interact within a certain cut-off distance, good SIMD utilization can only be achieved by reordering input and output data, which quickly becomes a limiting factor. Here we present an algorithm for SIMD parallelization based on grouping a fixed number of particles, e.g. 2, 4, or 8, into spatial clusters. Calculating all interactions between particles in a pair of such clusters improves data reuse compared to the traditional scheme and results in a more efficient SIMD parallelization. Adjusting the cluster size allows the algorithm to map to SIMD units of various widths. This flexibility not only enables fast and efficient implementation on current CPUs and accelerator architectures like GPUs or Intel MIC, but it also makes the algorithm future-proof. We present the algorithm with an application to molecular dynamics simulations, where we can also make use of the effective buffering the method introduces.

Ort, förlag, år, upplaga, sidor
2013. Vol. 184, nr 12, s. 2641-2650
Nyckelord [en]
GPU, Molecular dynamics, Pair interactions, SIMD, Verlet list, Accelerator architectures, Efficient implementation, Molecular dynamics simulations, Single-instruction multiple-data, Program processors, Clustering algorithms
Nationell ämneskategori
Annan data- och informationsvetenskap
Identifikatorer
URN: urn:nbn:se:kth:diva-139874DOI: 10.1016/j.cpc.2013.06.003ISI: 000328725200003Scopus ID: 2-s2.0-84888294449OAI: oai:DiVA.org:kth-139874DiVA, id: diva2:688795
Anmärkning

QC 20140107

Tillgänglig från: 2014-01-17 Skapad: 2014-01-15 Senast uppdaterad: 2018-01-11Bibliografiskt granskad

Open Access i DiVA

Fulltext saknas i DiVA

Övriga länkar

Förlagets fulltextScopus

Personposter BETA

Páll, SzilardHess, Berk

Sök vidare i DiVA

Av författaren/redaktören
Páll, SzilardHess, Berk
Av organisationen
BeräkningsbiofysikSeRC - Swedish e-Science Research CentreScience for Life Laboratory, SciLifeLab
I samma tidskrift
Computer Physics Communications
Annan data- och informationsvetenskap

Sök vidare utanför DiVA

GoogleGoogle Scholar

doi
urn-nbn

Altmetricpoäng

doi
urn-nbn
Totalt: 271 träffar
RefereraExporteraLänk till posten
Permanent länk

Direktlänk
Referera
Referensformat
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Annat format
Fler format
Språk
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Annat språk
Fler språk
Utmatningsformat
  • html
  • text
  • asciidoc
  • rtf