473,378 Members | 1,110 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,378 software developers and data experts.

SIMD powered Python

Hi!

Is there any I&D ongoing about using SIMD [1] instructions, like SSE
[2], to speed up Python, especially regarding functional features,
like list comprehension, map and reduce, etc.. ?

Best regards,

Hugo Ferreira

--

[1] http://en.wikipedia.org/wiki/SIMD
[2] http://en.wikipedia.org/wiki/Streaming_SIMD_Extensions

Jun 22 '07 #1
4 5631
In <11**********************@i13g2000prf.googlegroups .com>, Bytter wrote:
Is there any I&D ongoing about using SIMD [1] instructions, like SSE
[2], to speed up Python, especially regarding functional features,
like list comprehension, map and reduce, etc.. ?
SIMD instruction sets know about "low level" data types, Python is about
objects. `map()`, `reduce()`, list comprehension work on arbitrary
iterables so how do you expect SIMD instructions handle this? Even simple
lists contain objects and those don't have to be of the same type.

Ciao,
Marc 'BlackJack' Rintsch
Jun 23 '07 #2
Hi...

True... But maybe in NumPy arrays that would be more feasible...?

Cheers.

Hugo Ferreira

Marc 'BlackJack' Rintsch escreveu:
In <11**********************@i13g2000prf.googlegroups .com>, Bytter wrote:
Is there any I&D ongoing about using SIMD [1] instructions, like SSE
[2], to speed up Python, especially regarding functional features,
like list comprehension, map and reduce, etc.. ?

SIMD instruction sets know about "low level" data types, Python is about
objects. `map()`, `reduce()`, list comprehension work on arbitrary
iterables so how do you expect SIMD instructions handle this? Even simple
lists contain objects and those don't have to be of the same type.

Ciao,
Marc 'BlackJack' Rintsch
Jun 23 '07 #3
In <11*********************@u2g2000hsc.googlegroups.c om>, Bytter wrote:
Marc 'BlackJack' Rintsch escreveu:
>In <11**********************@i13g2000prf.googlegroups .com>, Bytter wrote:
Is there any I&D ongoing about using SIMD [1] instructions, like SSE
[2], to speed up Python, especially regarding functional features,
like list comprehension, map and reduce, etc.. ?

SIMD instruction sets know about "low level" data types, Python is about
objects. `map()`, `reduce()`, list comprehension work on arbitrary
iterables so how do you expect SIMD instructions handle this? Even simple
lists contain objects and those don't have to be of the same type.

True... But maybe in NumPy arrays that would be more feasible...?
Yes but that's in external libraries and not in the Python interpreter.
So it won't speed up Python code like list comprehensions but "just" calls
to external functions written in C, Fortran or assembler if those make use
of SIMD instructions.

Ciao,
Marc 'BlackJack' Rintsch
Jun 23 '07 #4
Marc 'BlackJack' Rintsch <bj****@gmx.netwrites:
True... But maybe in NumPy arrays that would be more feasible...?

Yes but that's in external libraries and not in the Python interpreter.
So it won't speed up Python code like list comprehensions but "just" calls
to external functions written in C, Fortran or assembler if those make use
of SIMD instructions.
Right, Python has such poor control over side effects that it has not
much chance of parallelizing stuff like list comprehensions in
general. Maybe there's some chance of doing it for some special cases
with RPython.

See http://www.google.com/search?q="nested+data+parallelism"
for what's happening with some other languages.
Jun 23 '07 #5

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

14
by: Ranger West | last post by:
Hello there, Are there any out-of-the box handhelds that run Linux/Apache/MYSQL and PHP? Does Redhat, Suse, or Gentoo support any handhelds? I know the Zaurus comes close, but I've heard...
0
by: Terry Reedy | last post by:
Today I followed a link to an interesting Python application I have not seen mentioned here before: http://solipsis.netofpeers.net/wiki/HomePage/. "A peer-to-peer system for a massively...
1
by: Pim van der Eijk | last post by:
XML 2004 Award voor ''Best Powered XML Site'' De XML gebruikersgroep geeft traditioneel aan het eind van het jaar tijdens het jaarlijkse congres een award aan de persoon of het initiatief die in...
4
by: Woody Splawn | last post by:
Is there such a thing as a Powered By VS.net or VB.net logo? If so, where might one find it so it can be incorporated into a web site?
2
by: Daniel | last post by:
Hi!, I'm trying with SIMD. I got intel compiler 9.0 and visual c++ 6.0, could somebody suggest to me how couple this compiler with visual? Thanks.
0
by: Ed | last post by:
I want to know when the screensaver has kicked in on my monitor so that I can turn off the desk light in my office. Under XP it has worked great. I use the following to check if screensaver is...
7
by: Alfred | last post by:
Hi In Access 2007 (the MDE) The taskbar displays Powered by Microsoft Access. How can I remove it Thanks Alfred
0
by: Giovanni Giorgi | last post by:
Hi all, I am working on a customized python search engine: http://blog.objectsroot.com/python/ It is done using a special feature of Google, and it is focused on python I'd like to have the...
9
by: W. eWatson | last post by:
Is there some repository that says something like for Python 2.5 it works with: Win OSes: W2K, XP, Vista numpy vers y, matplotlib vers x. scipy z, etc. -- W. eWatson (121.015 Deg. W,...
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...
0
by: ryjfgjl | last post by:
In our work, we often need to import Excel data into databases (such as MySQL, SQL Server, Oracle) for data analysis and processing. Usually, we use database tools like Navicat or the Excel import...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.