{"id":"https://openalex.org/W3187355740","doi":"https://doi.org/10.25080/majora-1b6fd038-012","title":"Multithreaded parallel Python through OpenMP support in Numba","display_name":"Multithreaded parallel Python through OpenMP support in Numba","publication_year":2021,"publication_date":"2021-01-01","ids":{"openalex":"https://openalex.org/W3187355740","doi":"https://doi.org/10.25080/majora-1b6fd038-012","mag":"3187355740"},"language":"en","primary_location":{"id":"doi:10.25080/majora-1b6fd038-012","is_oa":true,"landing_page_url":"https://doi.org/10.25080/majora-1b6fd038-012","pdf_url":"http://conference.scipy.org/proceedings/scipy2021/pdfs/tim_mattson.pdf","source":{"id":"https://openalex.org/S4220651651","display_name":"Proceedings of the Python in Science Conferences","issn_l":"2575-9752","issn":["2575-9752"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the Python in Science Conference","raw_type":"proceedings-article"},"type":"conference-paper","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"hybrid","oa_url":"http://conference.scipy.org/proceedings/scipy2021/pdfs/tim_mattson.pdf","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5103271482","display_name":"Todd A. Anderson","orcid":"https://orcid.org/0000-0002-5739-6320"},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Todd Anderson","raw_affiliation_strings":[],"raw_orcid":null,"affiliations":[]},{"author_position":"last","author":{"id":"https://openalex.org/A5004319610","display_name":"Tim Mattson","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Tim Mattson","raw_affiliation_strings":[],"raw_orcid":null,"affiliations":[]}],"institutions":[],"countries_distinct_count":0,"institutions_distinct_count":0,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.4467,"has_fulltext":true,"cited_by_count":5,"citation_normalized_percentile":{"value":0.51279735,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":97},"biblio":{"volume":null,"issue":null,"first_page":"140","last_page":"147"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9991000294685364,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9991000294685364,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T13650","display_name":"Computational Physics and Python Applications","score":0.9972000122070312,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10715","display_name":"Distributed and Parallel Computing Systems","score":0.9922999739646912,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8754453659057617},{"id":"https://openalex.org/keywords/python","display_name":"Python (programming language)","score":0.8395825624465942},{"id":"https://openalex.org/keywords/multithreading","display_name":"Multithreading","score":0.8286862969398499},{"id":"https://openalex.org/keywords/parallel-computing","display_name":"Parallel computing","score":0.7317525148391724},{"id":"https://openalex.org/keywords/compiler","display_name":"Compiler","score":0.6729087829589844},{"id":"https://openalex.org/keywords/thread","display_name":"Thread (computing)","score":0.6279090642929077},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5298181772232056},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.5084332823753357}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8754453659057617},{"id":"https://openalex.org/C519991488","wikidata":"https://www.wikidata.org/wiki/Q28865","display_name":"Python (programming language)","level":2,"score":0.8395825624465942},{"id":"https://openalex.org/C201410400","wikidata":"https://www.wikidata.org/wiki/Q1064412","display_name":"Multithreading","level":3,"score":0.8286862969398499},{"id":"https://openalex.org/C173608175","wikidata":"https://www.wikidata.org/wiki/Q232661","display_name":"Parallel computing","level":1,"score":0.7317525148391724},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.6729087829589844},{"id":"https://openalex.org/C138101251","wikidata":"https://www.wikidata.org/wiki/Q213092","display_name":"Thread (computing)","level":2,"score":0.6279090642929077},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5298181772232056},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.5084332823753357}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.25080/majora-1b6fd038-012","is_oa":true,"landing_page_url":"https://doi.org/10.25080/majora-1b6fd038-012","pdf_url":"http://conference.scipy.org/proceedings/scipy2021/pdfs/tim_mattson.pdf","source":{"id":"https://openalex.org/S4220651651","display_name":"Proceedings of the Python in Science Conferences","issn_l":"2575-9752","issn":["2575-9752"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the Python in Science Conference","raw_type":"proceedings-article"}],"best_oa_location":{"id":"doi:10.25080/majora-1b6fd038-012","is_oa":true,"landing_page_url":"https://doi.org/10.25080/majora-1b6fd038-012","pdf_url":"http://conference.scipy.org/proceedings/scipy2021/pdfs/tim_mattson.pdf","source":{"id":"https://openalex.org/S4220651651","display_name":"Proceedings of the Python in Science Conferences","issn_l":"2575-9752","issn":["2575-9752"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":null,"host_organization_name":null,"host_organization_lineage":[],"host_organization_lineage_names":[],"type":"journal"},"license":"cc-by","license_id":"https://openalex.org/licenses/cc-by","version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the Python in Science Conference","raw_type":"proceedings-article"},"sustainable_development_goals":[{"display_name":"Quality Education","score":0.5199999809265137,"id":"https://metadata.un.org/sdg/4"}],"awards":[],"funders":[],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W3187355740.pdf","grobid_xml":"https://content.openalex.org/works/W3187355740.grobid-xml"},"referenced_works_count":5,"referenced_works":["https://openalex.org/W2245493112","https://openalex.org/W2249884707","https://openalex.org/W2898149606","https://openalex.org/W3033308515","https://openalex.org/W6739738052"],"related_works":["https://openalex.org/W2115561485","https://openalex.org/W1985089255","https://openalex.org/W2010970156","https://openalex.org/W2105895556","https://openalex.org/W2153202644","https://openalex.org/W4235861380","https://openalex.org/W2377593213","https://openalex.org/W1963782977","https://openalex.org/W2733115356","https://openalex.org/W2106625514"],"abstract_inverted_index":{"A":[0,7],"modern":[1],"CPU":[2,16],"delivers":[3],"performance":[4,12,127,184],"through":[5,29],"parallelism.":[6],"program":[8],"that":[9,42,182],"exploits":[10],"the":[11,38,58,111,125,156,169,183,193],"available":[13],"from":[14,94,123,128],"a":[15,34,129,136],"must":[17],"run":[18],"in":[19,144,165,185],"parallel":[20,84,114],"on":[21,190],"multiple":[22,92,117],"cores.":[23],"This":[24,99],"is":[25,52,77,80,189],"usually":[26],"best":[27],"done":[28],"multithreading.":[30],"Threads":[31],"belong":[32],"to":[33,53,56,61,138],"process":[35],"and":[36,104,119,153,179,180],"share":[37],"memory":[39],"associated":[40],"with":[41,86,116,192],"process.":[43],"The":[44,67,88],"most":[45,68],"popular":[46],"approach":[47],"for":[48,73,83,177],"writing":[49,74],"multithreaded":[50,65,75],"code":[51,63,76,152,164],"use":[54],"directives":[55],"tell":[57],"compiler":[59,160],"how":[60],"convert":[62],"into":[64],"code.":[66,196],"commonly":[69],"used":[70],"directive-based":[71],"API":[72],"OpenMP.":[78],"Python":[79,97,106,122,145,178],"not":[81],"designed":[82],"programming":[85,115],"threads.":[87],"GlobalInterpreterLock":[89],"(GIL)":[90],"prevents":[91,101,113],"threads":[93,118],"simultaneously":[95],"accessing":[96,124],"objects.":[98],"effectively":[100],"data":[102],"races":[103],"makes":[105],"naturally":[107],"thread":[108],"safe.":[109],"Consequently,":[110],"GIL":[112],"therefore":[120],"keeps":[121],"full":[126],"CPU.":[130],"In":[131],"this":[132,139,173],"paper,":[133],"we":[134],"describe":[135,172],"solution":[137],"problem.":[140],"We":[141,171],"implement":[142],"OpenMP":[143,163],"so":[146],"programmers":[147],"can":[148],"easily":[149],"annotate":[150],"their":[151],"then":[154],"let":[155],"Numba":[157],"justin-time":[158],"(JIT)":[159],"generate":[161],"multithreaded,":[162],"LLVM,":[166],"thereby":[167],"bypassing":[168],"GIL.":[170],"new":[174],"multithreading":[175],"system":[176],"show":[181],"our":[186],"early":[187],"tests":[188],"par":[191],"analogous":[194],"C":[195]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":2},{"year":2023,"cited_by_count":1},{"year":2021,"cited_by_count":1}],"updated_date":"2026-07-29T14:22:42.915294","created_date":"2025-10-10T00:00:00"}
