Redian新闻
>
How to use multi-core to speed Python program
avatar
How to use multi-core to speed Python program# Programming - 葵花宝典
s*5
1
在米国生物phd了一年,不想再搞这个了,想申个cs的master读,不知道能申到什么样
的学校,各位大牛指教一下。一直对cs还是有兴趣的,只是生物的普遍弱点数学
background有点差,去年选过本校的生物信息课,这学期选了门数学系的课和一门计算
机系的课正读着。
avatar
s*h
2
Sorry, I cannot input Chinese now.
I am writing Python program to do some scientific calculation.
I just got a new desktop which has 4 CPUs.
I wonder if I can take advantage of 4 CPUs in Python program?
Now the maximum CPU usage is only 25% since only one CPU is used.
avatar
s*5
3
还可以申到有钱的?会是什么样的学校?
avatar
a*a
4
In the level of application, you can use multi-processe to use multi-
processor.
In the other hand, if your CPU is of Intel processor, you might want to try
to use Intel's MKL as your BLAS/LAPACK engine, which might drive CPU to its
full use. In the application level, you might want to learn about the
parallel
programming paradigms, such as MPI. In the engine level, the BLAS engine
will try to take advantage of the CPU for you.

【在 s****h 的大作中提到】
: Sorry, I cannot input Chinese now.
: I am writing Python program to do some scientific calculation.
: I just got a new desktop which has 4 CPUs.
: I wonder if I can take advantage of 4 CPUs in Python program?
: Now the maximum CPU usage is only 25% since only one CPU is used.

avatar
s*5
5
还可以申到有钱的?会是什么样的学校?
avatar
g*g
6
Python's thread can't take advantage of multi-core?

【在 s****h 的大作中提到】
: Sorry, I cannot input Chinese now.
: I am writing Python program to do some scientific calculation.
: I just got a new desktop which has 4 CPUs.
: I wonder if I can take advantage of 4 CPUs in Python program?
: Now the maximum CPU usage is only 25% since only one CPU is used.

avatar
r*n
7
master很难拿到钱,
我认识的两个都是自费,这是地二个学期了,
还是没找到钱,
一个科班,一个非科班。

【在 s******5 的大作中提到】
: 还可以申到有钱的?会是什么样的学校?
avatar
f*y
8
这和python没关系
你得自己要写程序啊

【在 s****h 的大作中提到】
: Sorry, I cannot input Chinese now.
: I am writing Python program to do some scientific calculation.
: I just got a new desktop which has 4 CPUs.
: I wonder if I can take advantage of 4 CPUs in Python program?
: Now the maximum CPU usage is only 25% since only one CPU is used.

avatar
T*o
9
EE转CS算不算非科班?

【在 r*******n 的大作中提到】
: master很难拿到钱,
: 我认识的两个都是自费,这是地二个学期了,
: 还是没找到钱,
: 一个科班,一个非科班。

avatar
g*g
10
It seems python threading can only use one cpu.
You have to go process level to take advantage of multi-core.

【在 f*******y 的大作中提到】
: 这和python没关系
: 你得自己要写程序啊

avatar
J*r
11
算吧,除非你本科学过一堆CS课程

【在 T*o 的大作中提到】
: EE转CS算不算非科班?
avatar
s*h
12
谢谢。
我刚刚找到一个Parallel Python的软件包。
可以提供SMP方面的支持。
我当然希望找到一个立即可以用的东西,自己弄太难了。
avatar
T*o
13
嗯,很多都没学过呢,离散数学,编译原理

【在 J*********r 的大作中提到】
: 算吧,除非你本科学过一堆CS课程
avatar
s*e
14
Just a quick search, and found that this might help: Parallel Python.
http://www.parallelpython.com/
And some excerption
=====================
PP is a python module which provides mechanism for parallel execution of
python code on SMP (systems with multiple processors or cores) and clusters
(computers connected via network).
... it appears that if the application is computation-bound using 'thread'
or 'threading' python modules will not allow to run python byte-code in
parallel. The reason is th

【在 s****h 的大作中提到】
: Sorry, I cannot input Chinese now.
: I am writing Python program to do some scientific calculation.
: I just got a new desktop which has 4 CPUs.
: I wonder if I can take advantage of 4 CPUs in Python program?
: Now the maximum CPU usage is only 25% since only one CPU is used.

avatar
v*e
15
suan

【在 T*o 的大作中提到】
: EE转CS算不算非科班?
avatar
f*y
16
这不是真的吧
听起来很匪夷所思

【在 g*****g 的大作中提到】
: It seems python threading can only use one cpu.
: You have to go process level to take advantage of multi-core.

avatar
s*g
17
严格的说,大部分ee转cs都不算科班。

【在 T*o 的大作中提到】
: EE转CS算不算非科班?
avatar
T*9
18
truth
I encountered this problem days before
I switch to C++ for performance reason

【在 f*******y 的大作中提到】
: 这不是真的吧
: 听起来很匪夷所思

avatar
v*e
19
ye suan~
avatar
h*z
20
Yes, standard python threading is limited by the global interpreter lock.

【在 g*****g 的大作中提到】
: Python's thread can't take advantage of multi-core?
avatar
r*n
21
算近亲。
从软件来说,我认为算非科班。
EE不学数据结构和算法(或者学一点,也不重视),
操作系统,编译,所以我认为不算科班。

【在 T*o 的大作中提到】
: EE转CS算不算非科班?
avatar
h*z
22
You can also try Stackless and IPython1.

clusters
Interpreter

【在 s***e 的大作中提到】
: Just a quick search, and found that this might help: Parallel Python.
: http://www.parallelpython.com/
: And some excerption
: =====================
: PP is a python module which provides mechanism for parallel execution of
: python code on SMP (systems with multiple processors or cores) and clusters
: (computers connected via network).
: ... it appears that if the application is computation-bound using 'thread'
: or 'threading' python modules will not allow to run python byte-code in
: parallel. The reason is th

avatar
m*n
23
没有修过那些的话能被录取么 还是要求先修些本科的课才能被录取
avatar
r*t
24
Truth, 那天咱们不是已经讨论过了么。

【在 g*****g 的大作中提到】
: Python's thread can't take advantage of multi-core?
avatar
L*d
25
the later

【在 m*****n 的大作中提到】
: 没有修过那些的话能被录取么 还是要求先修些本科的课才能被录取
avatar
r*t
26
不一定直接就要用到 parallel python, 我不知道 parallel python 现在发展怎么样
没法说。
但是在标准的 CPython 里面也可以用 threading interface 来使用 multi-core, 办
法就是用 processing module, 这个 module 会进入 python2.6, 它提供 python
threading module 的语法,底层使用 process 来 utilize multiple CPUs. 如果你的
code 不仅仅是你自己用的话,最好使用这个。
threading method 因为没法 scale to multiple CPUs across machines, with GIL
的原因,在 python world 里面没有得到采用。 python answer 是使用进程。使用进
程来 parallel 的有 IPython1 + mpi

【在 s****h 的大作中提到】
: 谢谢。
: 我刚刚找到一个Parallel Python的软件包。
: 可以提供SMP方面的支持。
: 我当然希望找到一个立即可以用的东西,自己弄太难了。

avatar
s*g
27
master问题不大,应该能录取。

【在 m*****n 的大作中提到】
: 没有修过那些的话能被录取么 还是要求先修些本科的课才能被录取
avatar
g*g
28
使用进程也太吃内存了吧,要是跑服务器,上百连接进来怎么办?

【在 r****t 的大作中提到】
: 不一定直接就要用到 parallel python, 我不知道 parallel python 现在发展怎么样
: 没法说。
: 但是在标准的 CPython 里面也可以用 threading interface 来使用 multi-core, 办
: 法就是用 processing module, 这个 module 会进入 python2.6, 它提供 python
: threading module 的语法,底层使用 process 来 utilize multiple CPUs. 如果你的
: code 不仅仅是你自己用的话,最好使用这个。
: threading method 因为没法 scale to multiple CPUs across machines, with GIL
: 的原因,在 python world 里面没有得到采用。 python answer 是使用进程。使用进
: 程来 parallel 的有 IPython1 + mpi

avatar
s*n
29
俺有钱, 但学校烂。你来么?
avatar
s*e
30
我想它应该是让进程scale to the number of CPU, 但是线程不是,但是线程还是有的。

【在 g*****g 的大作中提到】
: 使用进程也太吃内存了吧,要是跑服务器,上百连接进来怎么办?
avatar
n*g
31
我也要去!

【在 s*****n 的大作中提到】
: 俺有钱, 但学校烂。你来么?
avatar
r*t
32
用进程, up to the number of CPUs, 再多就没有好处了。
servers in python uses Twisted to implement. Twisted + Prospective Broker+ 少量的 threading 基本上是 python 里面对这
个问题的回答吧。

【在 g*****g 的大作中提到】
: 使用进程也太吃内存了吧,要是跑服务器,上百连接进来怎么办?
avatar
g*g
33
I heard Python was used for web application too, how does it handle it?

少量的 threading 基本上是 python 里面对这

【在 r****t 的大作中提到】
: 用进程, up to the number of CPUs, 再多就没有好处了。
: servers in python uses Twisted to implement. Twisted + Prospective Broker+ 少量的 threading 基本上是 python 里面对这
: 个问题的回答吧。

avatar
r*t
34
Python has too many web frameworks, I am expert of neither of them.
就我的了解,我只能说在 Django book Chapter 20 可能有你要的回答:
http://www.djangobook.com/en/1.0/chapter20/
或者这个采访吧,很多东西我也就是当门外汉一样读一下:
http://cloudsecurity.org/2008/07/01/cloudsecurityorg-interviews-guido-van-rossum-google-app-engine-python-and-security/

【在 g*****g 的大作中提到】
: I heard Python was used for web application too, how does it handle it?
:
: 少量的 threading 基本上是 python 里面对这

avatar
d*q
35
twisted use async socket to handle multiple call.
It also doesn't take any benefit from more than one core.
It seems that the only one way to use >1 core is to use multi process
avatar
r*t
36
twisted is not something that's only work for single process, yes it strives
to keep as much stuff "twisted" in one process, but you can use PB or
foolscap (part of twised) to make use of >1 core (as many cores as you want).

【在 d***q 的大作中提到】
: twisted use async socket to handle multiple call.
: It also doesn't take any benefit from more than one core.
: It seems that the only one way to use >1 core is to use multi process

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。