On Sun, Oct 11, 2020 at 1:33 PM Andrea Gavana <andrea.gav...@gmail.com> wrote: > > > > On Sun, 11 Oct 2020 at 07.14, Andrea Gavana <andrea.gav...@gmail.com> wrote: >> >> Hi, >> >> On Sun, 11 Oct 2020 at 00.27, Hongyi Zhao <hongyi.z...@gmail.com> wrote: >>> >>> On Sun, Oct 11, 2020 at 1:48 AM Robert Kern <robert.k...@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. > > > > I’m sorry, scratch that: I’ve seen a ghost white space in front of your > column_stack call and made me think you were stacking your results very many > times, which is not the case.
Still not so clear on your solutions for this problem. Could you please post here the corresponding snippet of your enhancement? Regards, HY > >> >> >>> >>> >>> Regards, >>> HY >>> >>> > >>> > On Sat, Oct 10, 2020, 8:23 AM Hongyi Zhao <hongyi.z...@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.z...@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.z...@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.z...@gmail.com> _______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@python.org https://mail.python.org/mailman/listinfo/numpy-discussion