On Sun, Oct 11, 2020 at 1:48 AM Robert Kern <robert.kern@gmail.com> wrote:
>
> You don't need to use vectorize() on fermi(). fermi() will work just fine on arrays and should be much faster.
Yes, it really does the trick. See the following for the benchmark
based on your suggestion:
$ time python mu.py
[-10.999 -10.999 -10.999 ... 20. 20. 20. ] [4.973e-84
4.973e-84 4.973e-84 ... 4.973e-84 4.973e-84 4.973e-84]
real 0m41.056s
user 0m43.970s
sys 0m3.813s
But are there any ways to further improve/increase efficiency?
I believe it will get a bit better if you don’t column_stack an array 6000 times - maybe pre-allocate your output first?
Andrea.
Regards,
HY
>
> On Sat, Oct 10, 2020, 8:23 AM Hongyi Zhao <hongyi.zhao@gmail.com> wrote:
>>
>> Hi,
>>
>> My environment is Ubuntu 20.04 and python 3.8.3 managed by pyenv. I
>> try to run the script
>> <https://notebook.rcc.uchicago.edu/files/acs.chemmater.9b05047/Data/bulk/dft/mu.py>,
>> but it will keep running and never end. When I use 'Ctrl + c' to
>> terminate it, it will give the following output:
>>
>> $ python mu.py
>> [-10.999 -10.999 -10.999 ... 20. 20. 20. ] [4.973e-84
>> 4.973e-84 4.973e-84 ... 4.973e-84 4.973e-84 4.973e-84]
>>
>> I have to terminate it and obtained the following information:
>>
>> ^CTraceback (most recent call last):
>> File "mu.py", line 38, in <module>
>> integrand=DOS*fermi_array(energy,mu,kT)
>> File "/home/werner/.pyenv/versions/datasci/lib/python3.8/site-packages/numpy/lib/function_base.py",
>> line 2108, in __call__
>> return self._vectorize_call(func=func, args=vargs)
>> File "/home/werner/.pyenv/versions/datasci/lib/python3.8/site-packages/numpy/lib/function_base.py",
>> line 2192, in _vectorize_call
>> outputs = ufunc(*inputs)
>> File "mu.py", line 8, in fermi
>> return 1./(exp((E-mu)/kT)+1)
>> KeyboardInterrupt
>>
>>
>> Any helps and hints for this problem will be highly appreciated?
>>
>> Regards,
>> --
>> Hongyi Zhao <hongyi.zhao@gmail.com>
>> _______________________________________________
>> NumPy-Discussion mailing list
>> NumPy-Discussion@python.org
>> https://mail.python.org/mailman/listinfo/numpy-discussion
>
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion@python.org
> https://mail.python.org/mailman/listinfo/numpy-discussion
--
Hongyi Zhao <hongyi.zhao@gmail.com>
_______________________________________________
NumPy-Discussion mailing list
NumPy-Discussion@python.org
https://mail.python.org/mailman/listinfo/numpy-discussion