Proceedings of the 2014 Workshop on Programming Models for SIMD/Vector Processing 2014
DOI: 10.1145/2568058.2568060
|View full text |Cite
|
Sign up to set email alerts
|

Exploring the vectorization of python constructs using pythran and boost SIMD

Abstract: The Python language is highly dynamic, most notably due to late binding. As a consequence, programs using Python typically run an order of magnitude slower than their C counterpart. It is also a high level language whose semantic can be made more static without much change from a user point of view in the case of mathematical applications. In that case, the language provides several vectorization opportunities that are studied in this paper, and evaluated in the context of Pythran, an ahead-of-time compiler th… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
5
0

Year Published

2015
2015
2024
2024

Publication Types

Select...
3
1

Relationship

0
4

Authors

Journals

citations
Cited by 4 publications
(5 citation statements)
references
References 10 publications
0
5
0
Order By: Relevance
“…Processors execute vectorized operations with a single instruction, enabling parallel processing of multiple data elements and reducing the instruction count, thus enhancing efficiency and performance. Modern processors further enhance vectorization through features like Single Instruction Multiple Data (SIMD) instructions, which process multiple data elements simultaneously and maximize hardware resource utilization 21) .…”
Section: Vectorization Techniquementioning
confidence: 99%
See 1 more Smart Citation
“…Processors execute vectorized operations with a single instruction, enabling parallel processing of multiple data elements and reducing the instruction count, thus enhancing efficiency and performance. Modern processors further enhance vectorization through features like Single Instruction Multiple Data (SIMD) instructions, which process multiple data elements simultaneously and maximize hardware resource utilization 21) .…”
Section: Vectorization Techniquementioning
confidence: 99%
“…Vectorized programming techniques enable the simultaneous execution of mathematical operations on arrays or vectors of data 21) . By utilizing optimized algorithms and utilizing parallel processing capabilities of modern computer architectures, the vectorized lambda iteration method can perform the necessary calculations more efficiently.…”
Section: Introductionmentioning
confidence: 99%
“…Pyston 6 is a very new project under current development at Dropbox and is also built on the LLVM compiler infrastructure. Further frameworks are topic to research projects such as Pythran [11,12], a static Python compiler and parakeet [13], which follows a similar approach as HOPE.…”
Section: 4mentioning
confidence: 99%
“…For our benchmark tests we have chosen packages where the user should, in principle, be able to write a code in Python and that only minor modifications would needed to enable the performance imporvements. All the benchmarks have been made available online as IPython notebooks 12 . The following describes the benchmarks and provide the associated Python source code.…”
Section: Benchmarksmentioning
confidence: 99%
“…In [Nuzman et al, 2011] a split vectorization framework is presented aiming at the efficient execution of SIMD code on disparate architectures. In [Guelton et al, 2014], a vectorizer for the Python language is presented. The compilation framework uses a Python to C++ compiler (named Pythran) to generate vectorized code producing functions of a SIMD C library.…”
Section: Auto-vectorizing C Compilersmentioning
confidence: 99%