Thanks I like your answers but I have some more questions:)


On Wednesday, May 29, 2013 10:41:25 AM UTC-5, David wrote:
>
> Hi,
>
> I'll try to explain how I understand your question, and how I would 
> approach this issue. Please correct me if I am wrong. There are many 
> possible ways of using parallel computational power, and the best solution 
> heavily depends upon your specific problem. I am far from an expert, but 
> from the little that I've learned over the past years I know that there is 
> no easy answer.
>
> 1) Spyder uses multi-threading on the application level (using QThread if 
> I understand correctly) so things like code completion, monitor, 
> documentation lookup, ... doesn't freeze the whole program while doing. 
> However, this is not related to running your python scripts. Spyders 
> multiprocessing implementation is, as far as I understand it, not related 
> at all to the scripts you want to run. Python/IPython consoles are run in 
> process that is separate from the main spyder process.
>

What is QThread? 
So it is useful if you want to use python as a wrapper to run other jobs? 

>
> When you want to use the parallel power of your computer cluster, you need 
> to launch a python or ipython console in spyder that is aware of all those 
> CPUs/GPUs. From there you can use the built in modules threading and 
> multiprocessing to start explicitly using all that computational power. 
> Note that depending on what you are trying to achieve, programming parallel 
> applications can be challenging. The summer school "Advanced Scientific 
> Programming in Python" [1] has some very nice lectures on this, and I would 
> recommend you to have a look at those informative slides. 
>
I am not sure why would that be useful, can't I just 
grep processor /proc/cpuinfo | tail -n 1 | awk '{print $3+1}'
?
 

>
> 2) I don't think spyder uses http to connect to other python consoles, not 
> sure how http is related to the problem at hand
>
In previous reply Carlos said it uses sockets, what protocol/service does 
it use to use sockets? 

>
> 3) interactive python console refers to an interactive work-flow and does 
> not necessarily has anything to do with qsub (I assume you refer to your 
> clusters mechanism to submit and queue jobs?)
>
So is it interactive or not? Why do you call it a workflow? 

>
> When I look at how we have our clusters configured, I could theoretically 
> imagine the following work flow:
> * launch an IPython instance on the cluster with qsub and let it use as 
> many CPUs as you see fit (for instance, specify #PBS -lnodes=xxx:ppn=yyy in 
> your PBS script), and give it as much wall time as you think you need.
> * connect to that IPython console using the notebook/web interface (I know 
> people do that, I just don't know how. There has to be some documentation 
> available somewhere, or ask on the IPython mailinglist, or see [8])
> * Within Spyder, connect to the IPython console running on the cluster, 
> but I don't think that is already implemented, not sure if that's planned.
> * or, checkout [8]: Using IPython for parallel computing
>  * rent an IPython instance on cluster configured for you at [11]
>
> You can release the GIL when using Cython, see for example the slides on 
> Cython [1]. You can not release the GIL in a Python script. For explicit 
> concurrency directly in your Python script, use the build in modules 
> threading and multiprocessing.
> How would you proceed in releasing the GIL and whether you think it will 
> have consequences?
>
 

> Numpy/Scipy/Numba and other Python modules already use, in some cases, the 
> parallel power of your machine. Some examples on Numba are can be found 
> here [2] and here [3]: For Numpy/Scipy, this is dependent on your 
> BLAS/LAPACK implementation (such as MKL, OpenBlas, ACML): the low level 
> number crunching routines on which they are built. Building NumPy against a 
> BLAS/LAPACK implementation optimized for your machine from source can be 
> challenging depending on your experience/skills [9] [10], but performance 
> can be increased significantly [4]. 
>
> Other more exotic libraries that can help unleash parallel power of 
> CPUs/GPUs (for which I only know they exist): Magma [5], Plasma [6], CUBLAS 
> [7].
>
> [1] https://python.g-node.org/python-summerschool-2012/schedule
> [2] http://jakevdp.github.io/blog/2012/08/24/numba-vs-cython/
> [3] 
> http://www.continuum.io/blog/simple-wave-simulation-with-numba-and-pygame
> [4] 
> https://dpinte.wordpress.com/2010/01/15/numpy-performance-improvement-with-the-mkl/
> [5] http://icl.cs.utk.edu/magma/index.html
> [6] http://icl.cs.utk.edu/plasma/index.html
> [7] https://developer.nvidia.com/cublas
> [8] http://ipython.org/ipython-doc/dev/parallel/
> [9] 
> http://osdf.github.io/blog/numpyscipy-with-openblas-for-ubuntu-1204-second-try.html
>  
> [10] 
> http://www.der-schnorz.de/2012/06/optimized-linear-algebra-and-numpyscipy/ 
> [11] http://continuum.io/wakari.html
>
> ok, this reply exploded in length and I can not vouch for its quality or 
> its usefulness...I'll better stop here :-)
>
> Regards,
> David
>
>
> On 28 May 2013 20:47, <[email protected] <javascript:>> wrote:
>
>> Hi Carols,
>>
>> thank you so much for this kind answers. I have just few more questions:
>> 1. how different is multiprocessing from spyder in terms of 
>> implementation?
>> 2. Does it mean that spyder uses http?
>> 3. ipython stand for interactive python? How are I'm going to deal with 
>> that and qsub?
>>
>> Appreciate your help,
>> Ana
>>
>>
>> On Wednesday, May 22, 2013 1:28:46 PM UTC-5, [email protected] wrote:
>>>
>>> Hello,
>>>
>>> please help me answer those questions, along with: do numpy and scipy 
>>> thread or spyder does? 
>>> I am planing to install spyder on Cray XE6 machine, with intention do so 
>>> some python MPI and threading, and debugging
>>> Would spyder be of use for me?
>>>
>>> Thanks
>>> Ana
>>>
>>  -- 
>> You received this message because you are subscribed to the Google Groups 
>> "spyder" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected] <javascript:>.
>> To post to this group, send email to [email protected]<javascript:>
>> .
>> Visit this group at http://groups.google.com/group/spyderlib?hl=en.
>> For more options, visit https://groups.google.com/groups/opt_out.
>>  
>>  
>>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"spyder" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/spyderlib?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to