{"corpus_id":36277865,"paper_sha":"e080665a8cba9dac88222ab49afa99c9537a26eb","doi":"10.1016/j.camwa.2011.04.012","arxiv_id":null,"pmid":null,"pmcid":null,"mag_id":2001382558,"dblp_id":"journals/cma/SchonherrKGSFK11","acl_id":null,"title":"Multi-thread implementations of the lattice Boltzmann method on non-uniform grids for CPUs and GPUs","year":2011,"publication_date":"2011-06-01","venue":"Computers and Mathematics with Applications","journal":{"name":"Comput. Math. Appl.","pages":"3730-3743","volume":"61"},"journal_issn":null,"journal_title":null,"publication_types":["JournalArticle"],"pubmed_pub_types":null,"s2_fields_of_study":["Physics","Computer Science","Engineering"],"reference_count":27,"citation_count":110,"influential_citation_count":4,"is_open_access":false,"arxiv_categories":null,"arxiv_license":null,"arxiv_journal_ref":null,"mesh_headings":null,"chemicals":null,"comments_corrections":null,"source_flags":1,"s2_open_access_pdf_url":null,"s2_open_access_landing_url":null,"s2_open_access_license":null,"s2_open_access_status":null,"pmc_open_access_pdf_url":null,"pmc_open_access_landing_url":null,"pmc_open_access_license":null,"pmc_open_access_status":null,"unpaywall_open_access_pdf_url":null,"unpaywall_open_access_landing_url":null,"unpaywall_open_access_license":null,"unpaywall_open_access_status":null,"abstract":"Two multi-thread based parallel implementations of the lattice Boltzmann method for non-uniform grids on different hardware platforms are compared in this paper: a multi-core CPU implementation and an implementation on General Purpose Graphics Processing Units (GPGPU). Both codes employ second order accurate compact interpolation at the interfaces, coupling grids of different resolutions. Since the compact interpolation technique is both simple and accurate, it produces almost no computational overhead as compared to the lattice Boltzmann method for uniform grids in terms of node updates per second. To the best of our knowledge, the current paper presents the first study on multi-core parallelization of the lattice Boltzmann method with inhomogeneous grid spacing and nested time stepping for both CPUs and GPUs.","claims":[{"public_id":"cl_86244e820b56265f7f015dd8cf25c221","status":"active","text":"Both implementations employ second order accurate compact interpolation at interfaces coupling grids of different resolutions.","confidence":0.95,"contributors":[{"id":136,"public_id":"3c2apqe3ut","public_label":"Anonymous (3c2apqe3ut)","roles":["extraction"],"url":"https://sah.borca.ai/u/3c2apqe3ut"},{"id":17,"public_id":"322360f1c1","public_label":"Killer Whale (322360f1c1)","roles":["review"],"url":"https://sah.borca.ai/u/322360f1c1"},{"id":1165,"public_id":"ezd9qvkvax","public_label":"The Reverser‮ (ezd9qvkvax)","roles":["review"],"url":"https://sah.borca.ai/u/ezd9qvkvax"}],"url":"https://sah.borca.ai/claims/cl_86244e820b56265f7f015dd8cf25c221"},{"public_id":"cl_46769c205b937e18f46a00094924ff2a","status":"active","text":"Multi-core parallelization of the lattice Boltzmann method with inhomogeneous grid spacing and nested time stepping is studied for both CPUs and GPUs.","confidence":0.9,"contributors":[{"id":136,"public_id":"3c2apqe3ut","public_label":"Anonymous (3c2apqe3ut)","roles":["extraction"],"url":"https://sah.borca.ai/u/3c2apqe3ut"},{"id":17,"public_id":"322360f1c1","public_label":"Killer Whale (322360f1c1)","roles":["review"],"url":"https://sah.borca.ai/u/322360f1c1"},{"id":1165,"public_id":"ezd9qvkvax","public_label":"The Reverser‮ (ezd9qvkvax)","roles":["review"],"url":"https://sah.borca.ai/u/ezd9qvkvax"}],"url":"https://sah.borca.ai/claims/cl_46769c205b937e18f46a00094924ff2a"},{"public_id":"cl_91b48b6253d2c5a3914a2f815caa75a2","status":"active","text":"The compact interpolation technique produces almost no computational overhead compared with the lattice Boltzmann method for uniform grids in terms of node updates per second.","confidence":0.92,"contributors":[{"id":136,"public_id":"3c2apqe3ut","public_label":"Anonymous (3c2apqe3ut)","roles":["extraction"],"url":"https://sah.borca.ai/u/3c2apqe3ut"},{"id":17,"public_id":"322360f1c1","public_label":"Killer Whale (322360f1c1)","roles":["review"],"url":"https://sah.borca.ai/u/322360f1c1"},{"id":1165,"public_id":"ezd9qvkvax","public_label":"The Reverser‮ (ezd9qvkvax)","roles":["review"],"url":"https://sah.borca.ai/u/ezd9qvkvax"}],"url":"https://sah.borca.ai/claims/cl_91b48b6253d2c5a3914a2f815caa75a2"},{"public_id":"cl_5f231f3cf180a509a5966cf7acdb581f","status":"active","text":"Two multi-thread based parallel implementations of the lattice Boltzmann method for non-uniform grids are compared on multi-core CPUs and General Purpose Graphics Processing Units.","confidence":0.96,"contributors":[{"id":136,"public_id":"3c2apqe3ut","public_label":"Anonymous (3c2apqe3ut)","roles":["extraction"],"url":"https://sah.borca.ai/u/3c2apqe3ut"},{"id":17,"public_id":"322360f1c1","public_label":"Killer Whale (322360f1c1)","roles":["review"],"url":"https://sah.borca.ai/u/322360f1c1"},{"id":1165,"public_id":"ezd9qvkvax","public_label":"The Reverser‮ (ezd9qvkvax)","roles":["review"],"url":"https://sah.borca.ai/u/ezd9qvkvax"}],"url":"https://sah.borca.ai/claims/cl_5f231f3cf180a509a5966cf7acdb581f"}],"concepts":[{"public_id":"co_13a252f73d7119c4cbf730f327d7d82a","status":"active","name":"nested time stepping","description":"A time integration approach using nested time steps with grids of different resolutions.","types":["time-stepping approach"],"aliases":[],"contributors":[{"id":136,"public_id":"3c2apqe3ut","public_label":"Anonymous (3c2apqe3ut)","roles":["extraction"],"url":"https://sah.borca.ai/u/3c2apqe3ut"},{"id":17,"public_id":"322360f1c1","public_label":"Killer Whale (322360f1c1)","roles":["review"],"url":"https://sah.borca.ai/u/322360f1c1"},{"id":1165,"public_id":"ezd9qvkvax","public_label":"The Reverser‮ (ezd9qvkvax)","roles":["review"],"url":"https://sah.borca.ai/u/ezd9qvkvax"}],"url":"https://sah.borca.ai/concepts/co_13a252f73d7119c4cbf730f327d7d82a"},{"public_id":"co_27a41c523e7efe6d2d319c6b1c6cca9c","status":"active","name":"interfaces","description":"Boundaries where grids of different resolutions are coupled in the non-uniform grid method.","types":["grid region"],"aliases":[],"contributors":[{"id":136,"public_id":"3c2apqe3ut","public_label":"Anonymous (3c2apqe3ut)","roles":["extraction"],"url":"https://sah.borca.ai/u/3c2apqe3ut"},{"id":17,"public_id":"322360f1c1","public_label":"Killer Whale (322360f1c1)","roles":["review"],"url":"https://sah.borca.ai/u/322360f1c1"},{"id":1165,"public_id":"ezd9qvkvax","public_label":"The Reverser‮ (ezd9qvkvax)","roles":["review"],"url":"https://sah.borca.ai/u/ezd9qvkvax"}],"url":"https://sah.borca.ai/concepts/co_27a41c523e7efe6d2d319c6b1c6cca9c"},{"public_id":"co_2b9f88f25b3181509084fa40b9f55885","status":"active","name":"multi-core parallelization","description":"Parallel execution of the lattice Boltzmann method across multiple CPU cores.","types":["parallelization approach"],"aliases":[],"contributors":[{"id":136,"public_id":"3c2apqe3ut","public_label":"Anonymous (3c2apqe3ut)","roles":["extraction"],"url":"https://sah.borca.ai/u/3c2apqe3ut"},{"id":17,"public_id":"322360f1c1","public_label":"Killer Whale (322360f1c1)","roles":["review"],"url":"https://sah.borca.ai/u/322360f1c1"},{"id":1165,"public_id":"ezd9qvkvax","public_label":"The Reverser‮ (ezd9qvkvax)","roles":["review"],"url":"https://sah.borca.ai/u/ezd9qvkvax"}],"url":"https://sah.borca.ai/concepts/co_2b9f88f25b3181509084fa40b9f55885"},{"public_id":"co_51a21bdc8770e116d31a7da30056c6ba","status":"active","name":"multi-core CPU implementation","description":"A lattice Boltzmann implementation designed to run on multi-core central processing units.","types":["hardware implementation"],"aliases":["CPU implementation"],"contributors":[{"id":136,"public_id":"3c2apqe3ut","public_label":"Anonymous (3c2apqe3ut)","roles":["extraction"],"url":"https://sah.borca.ai/u/3c2apqe3ut"},{"id":17,"public_id":"322360f1c1","public_label":"Killer Whale (322360f1c1)","roles":["review"],"url":"https://sah.borca.ai/u/322360f1c1"},{"id":1165,"public_id":"ezd9qvkvax","public_label":"The Reverser‮ (ezd9qvkvax)","roles":["review"],"url":"https://sah.borca.ai/u/ezd9qvkvax"}],"url":"https://sah.borca.ai/concepts/co_51a21bdc8770e116d31a7da30056c6ba"},{"public_id":"co_7185e7c10b7a2346e4f4f5e4c3a21694","status":"active","name":"multi-thread based parallel implementations","description":"Parallel software implementations that use multiple threads to run the lattice Boltzmann method.","types":["implementation approach"],"aliases":[],"contributors":[{"id":136,"public_id":"3c2apqe3ut","public_label":"Anonymous (3c2apqe3ut)","roles":["extraction"],"url":"https://sah.borca.ai/u/3c2apqe3ut"},{"id":17,"public_id":"322360f1c1","public_label":"Killer Whale (322360f1c1)","roles":["review"],"url":"https://sah.borca.ai/u/322360f1c1"},{"id":1165,"public_id":"ezd9qvkvax","public_label":"The Reverser‮ (ezd9qvkvax)","roles":["review"],"url":"https://sah.borca.ai/u/ezd9qvkvax"}],"url":"https://sah.borca.ai/concepts/co_7185e7c10b7a2346e4f4f5e4c3a21694"},{"public_id":"co_719cc9fe40eefa46e95947a9ae97403c","status":"active","name":"second order accurate compact interpolation","description":"An interpolation technique used at grid interfaces to connect regions of different resolution.","types":["numerical technique"],"aliases":["compact interpolation technique"],"contributors":[{"id":136,"public_id":"3c2apqe3ut","public_label":"Anonymous (3c2apqe3ut)","roles":["extraction"],"url":"https://sah.borca.ai/u/3c2apqe3ut"},{"id":17,"public_id":"322360f1c1","public_label":"Killer Whale (322360f1c1)","roles":["review"],"url":"https://sah.borca.ai/u/322360f1c1"},{"id":1165,"public_id":"ezd9qvkvax","public_label":"The Reverser‮ (ezd9qvkvax)","roles":["review"],"url":"https://sah.borca.ai/u/ezd9qvkvax"}],"url":"https://sah.borca.ai/concepts/co_719cc9fe40eefa46e95947a9ae97403c"},{"public_id":"co_a8c53ef81fd162c3e7960f8a780801ff","status":"active","name":"General Purpose Graphics Processing Units","description":"Graphics processing hardware used here as a platform for a lattice Boltzmann implementation.","types":["hardware platform"],"aliases":["GPGPU","GPUs"],"contributors":[{"id":136,"public_id":"3c2apqe3ut","public_label":"Anonymous (3c2apqe3ut)","roles":["extraction"],"url":"https://sah.borca.ai/u/3c2apqe3ut"},{"id":17,"public_id":"322360f1c1","public_label":"Killer Whale (322360f1c1)","roles":["review"],"url":"https://sah.borca.ai/u/322360f1c1"},{"id":1165,"public_id":"ezd9qvkvax","public_label":"The Reverser‮ (ezd9qvkvax)","roles":["review"],"url":"https://sah.borca.ai/u/ezd9qvkvax"}],"url":"https://sah.borca.ai/concepts/co_a8c53ef81fd162c3e7960f8a780801ff"},{"public_id":"co_b3145ed63c213db37770e2cd23855063","status":"active","name":"inhomogeneous grid spacing","description":"Grid spacing that varies across the computational domain.","types":["grid property"],"aliases":[],"contributors":[{"id":136,"public_id":"3c2apqe3ut","public_label":"Anonymous (3c2apqe3ut)","roles":["extraction"],"url":"https://sah.borca.ai/u/3c2apqe3ut"},{"id":17,"public_id":"322360f1c1","public_label":"Killer Whale (322360f1c1)","roles":["review"],"url":"https://sah.borca.ai/u/322360f1c1"},{"id":1165,"public_id":"ezd9qvkvax","public_label":"The Reverser‮ (ezd9qvkvax)","roles":["review"],"url":"https://sah.borca.ai/u/ezd9qvkvax"}],"url":"https://sah.borca.ai/concepts/co_b3145ed63c213db37770e2cd23855063"},{"public_id":"co_b891e380f213923061c92a58050c7ab7","status":"active","name":"non-uniform grids","description":"Computational grids with spatial resolution that varies across the domain.","types":["computational grid"],"aliases":[],"contributors":[{"id":136,"public_id":"3c2apqe3ut","public_label":"Anonymous (3c2apqe3ut)","roles":["extraction"],"url":"https://sah.borca.ai/u/3c2apqe3ut"},{"id":17,"public_id":"322360f1c1","public_label":"Killer Whale (322360f1c1)","roles":["review"],"url":"https://sah.borca.ai/u/322360f1c1"},{"id":1165,"public_id":"ezd9qvkvax","public_label":"The Reverser‮ (ezd9qvkvax)","roles":["review"],"url":"https://sah.borca.ai/u/ezd9qvkvax"}],"url":"https://sah.borca.ai/concepts/co_b891e380f213923061c92a58050c7ab7"},{"public_id":"co_c2073249355f9fb14fd60804fc0d5288","status":"active","name":"grids of different resolutions","description":"Nested or coupled computational grids that use different spatial resolutions.","types":["computational grid"],"aliases":[],"contributors":[{"id":136,"public_id":"3c2apqe3ut","public_label":"Anonymous (3c2apqe3ut)","roles":["extraction"],"url":"https://sah.borca.ai/u/3c2apqe3ut"},{"id":17,"public_id":"322360f1c1","public_label":"Killer Whale (322360f1c1)","roles":["review"],"url":"https://sah.borca.ai/u/322360f1c1"},{"id":1165,"public_id":"ezd9qvkvax","public_label":"The Reverser‮ (ezd9qvkvax)","roles":["review"],"url":"https://sah.borca.ai/u/ezd9qvkvax"}],"url":"https://sah.borca.ai/concepts/co_c2073249355f9fb14fd60804fc0d5288"},{"public_id":"co_c32e366153b4f36f29c74be17ca2fe5c","status":"active","name":"lattice Boltzmann method","description":"A computational fluid dynamics method implemented and compared on non-uniform grids in this work.","types":["numerical method"],"aliases":[],"contributors":[{"id":136,"public_id":"3c2apqe3ut","public_label":"Anonymous (3c2apqe3ut)","roles":["extraction"],"url":"https://sah.borca.ai/u/3c2apqe3ut"},{"id":17,"public_id":"322360f1c1","public_label":"Killer Whale (322360f1c1)","roles":["review"],"url":"https://sah.borca.ai/u/322360f1c1"},{"id":1165,"public_id":"ezd9qvkvax","public_label":"The Reverser‮ (ezd9qvkvax)","roles":["review"],"url":"https://sah.borca.ai/u/ezd9qvkvax"}],"url":"https://sah.borca.ai/concepts/co_c32e366153b4f36f29c74be17ca2fe5c"},{"public_id":"co_fb4596cc16b87bd366526d251c40f88d","status":"active","name":"node updates per second","description":"A performance measure for lattice Boltzmann computations based on how many grid nodes are updated each second.","types":["performance metric"],"aliases":[],"contributors":[{"id":136,"public_id":"3c2apqe3ut","public_label":"Anonymous (3c2apqe3ut)","roles":["extraction"],"url":"https://sah.borca.ai/u/3c2apqe3ut"},{"id":17,"public_id":"322360f1c1","public_label":"Killer Whale (322360f1c1)","roles":["review"],"url":"https://sah.borca.ai/u/322360f1c1"},{"id":1165,"public_id":"ezd9qvkvax","public_label":"The Reverser‮ (ezd9qvkvax)","roles":["review"],"url":"https://sah.borca.ai/u/ezd9qvkvax"}],"url":"https://sah.borca.ai/concepts/co_fb4596cc16b87bd366526d251c40f88d"}],"external_ids":{"DOI":"10.1016/j.camwa.2011.04.012","ArXiv":null,"PubMed":null,"PubMedCentral":null,"MAG":2001382558,"DBLP":"journals/cma/SchonherrKGSFK11","ACL":null},"open_access":{"is_open_access":false,"pdf_url":null,"landing_url":"https://sah.borca.ai/papers/36277865","source":null,"pdf_url_source":null,"license":null,"reason":"pdf_url_not_indexed"},"reference_availability":{"status":"available","references_indexed":true,"full_text_available":false,"full_text_source":null,"count_basis":"semantic_scholar_metadata","extraction_status":"not_applicable","reason":null},"source":{"provider":"episteme2","base_corpus":"semantic_scholar_dump","freshness_mode":"unknown","basis":["semantic_scholar_metadata","postgres_metadata"],"limits":["paper metadata is based on indexed upstream scholarly datasets","claims and concepts are available only for extracted papers","absence of claims or concepts means no extracted graph data is available in this response"],"status":"available","degraded":false,"degraded_reasons":[],"diagnostics":{"status":"available","degraded":false,"degraded_reasons":[],"metadata_status":"available","graph_status":"available","abstract_status":"available"},"source_flags":1},"paper_id":632358,"paper_uid":"c278a57a-2ea5-4986-a3bd-795f0a423ee3","canonical_identity":{"paper_id":632358,"paper_uid":"c278a57a-2ea5-4986-a3bd-795f0a423ee3","identity_status":"available","lookup_basis":"semantic_scholar_external_id","compatibility_path":"corpus_id"},"url":"https://sah.borca.ai/papers/36277865"}