California-Planet-Search / rvsearch

RV Planet Search Pipeline Based on RadVel
http://california-planet-search.github.io/rvsearch/
MIT License
10 stars 5 forks source link

Cannot perform parallel processing on WSL for Windows 11 #209

Open SilencePhyxion opened 5 months ago

SilencePhyxion commented 5 months ago

Hi there, I am getting a parallel processing issues when blindly searching for RV periods in my data. I get up to 3 candidate planets (the limit I have set) and then I get the following error:

AttributeError                            Traceback (most recent call last)
Cell In[3], [line 19](vscode-notebook-cell:?execution_count=3&line=19)
     [16](vscode-notebook-cell:?execution_count=3&line=16) data = utils.read_from_csv('data.csv')
     [17](vscode-notebook-cell:?execution_count=3&line=17) searcher = search.Search(data, starname='STARNAME', max_planets=3,max_per = 1000,
     [18](vscode-notebook-cell:?execution_count=3&line=18)                          workers=2, mcmc=True, verbose=True)
---> [19](vscode-notebook-cell:?execution_count=3&line=19) searcher.run_search()

File [~/anaconda3/envs/RV/lib/python3.11/site-packages/rvsearch/search.py:535](https://vscode-remote+wsl-002bubuntu-002d22-002e04.vscode-resource.vscode-cdn.net/home/justv/Exoplanet/lightkurve%20and%20exoplanet/~/anaconda3/envs/RV/lib/python3.11/site-packages/rvsearch/search.py:535), in Search.run_search(self, fixed_threshold, outdir, mkoutdir, running)
    [532](https://vscode-remote+wsl-002bubuntu-002d22-002e04.vscode-resource.vscode-cdn.net/home/justv/Exoplanet/lightkurve%20and%20exoplanet/~/anaconda3/envs/RV/lib/python3.11/site-packages/rvsearch/search.py:532) logpost = utils.initialize_post(self.data, params=logparams)
    [534](https://vscode-remote+wsl-002bubuntu-002d22-002e04.vscode-resource.vscode-cdn.net/home/justv/Exoplanet/lightkurve%20and%20exoplanet/~/anaconda3/envs/RV/lib/python3.11/site-packages/rvsearch/search.py:534) # Run MCMC. #self.post #logpost
--> [535](https://vscode-remote+wsl-002bubuntu-002d22-002e04.vscode-resource.vscode-cdn.net/home/justv/Exoplanet/lightkurve%20and%20exoplanet/~/anaconda3/envs/RV/lib/python3.11/site-packages/rvsearch/search.py:535) chains = radvel.mcmc(logpost, nwalkers=50, nrun=25000, burnGR=1.03,
    [536](https://vscode-remote+wsl-002bubuntu-002d22-002e04.vscode-resource.vscode-cdn.net/home/justv/Exoplanet/lightkurve%20and%20exoplanet/~/anaconda3/envs/RV/lib/python3.11/site-packages/rvsearch/search.py:536)                      maxGR=1.0075, minTz=2000, minAfactor=15,
    [537](https://vscode-remote+wsl-002bubuntu-002d22-002e04.vscode-resource.vscode-cdn.net/home/justv/Exoplanet/lightkurve%20and%20exoplanet/~/anaconda3/envs/RV/lib/python3.11/site-packages/rvsearch/search.py:537)                      maxArchange=0.07, burnAfactor=15,
    [538](https://vscode-remote+wsl-002bubuntu-002d22-002e04.vscode-resource.vscode-cdn.net/home/justv/Exoplanet/lightkurve%20and%20exoplanet/~/anaconda3/envs/RV/lib/python3.11/site-packages/rvsearch/search.py:538)                      minsteps=12500, minpercent=50, thin=5,
    [539](https://vscode-remote+wsl-002bubuntu-002d22-002e04.vscode-resource.vscode-cdn.net/home/justv/Exoplanet/lightkurve%20and%20exoplanet/~/anaconda3/envs/RV/lib/python3.11/site-packages/rvsearch/search.py:539)                      save=False, ensembles=nensembles)
    [541](https://vscode-remote+wsl-002bubuntu-002d22-002e04.vscode-resource.vscode-cdn.net/home/justv/Exoplanet/lightkurve%20and%20exoplanet/~/anaconda3/envs/RV/lib/python3.11/site-packages/rvsearch/search.py:541) # Convert chains to per, e, w basis.
    [542](https://vscode-remote+wsl-002bubuntu-002d22-002e04.vscode-resource.vscode-cdn.net/home/justv/Exoplanet/lightkurve%20and%20exoplanet/~/anaconda3/envs/RV/lib/python3.11/site-packages/rvsearch/search.py:542) synthchains = logpost.params.basis.to_synth(chains)

File [~/anaconda3/envs/RV/lib/python3.11/site-packages/radvel/mcmc.py:262](https://vscode-remote+wsl-002bubuntu-002d22-002e04.vscode-resource.vscode-cdn.net/home/justv/Exoplanet/lightkurve%20and%20exoplanet/~/anaconda3/envs/RV/lib/python3.11/site-packages/radvel/mcmc.py:262), in mcmc(post, nwalkers, nrun, ensembles, checkinterval, minAfactor, maxArchange, burnAfactor, burnGR, maxGR, minTz, minsteps, minpercent, thin, serial, save, savename, proceed, proceedname)
    [259](https://vscode-remote+wsl-002bubuntu-002d22-002e04.vscode-resource.vscode-cdn.net/home/justv/Exoplanet/lightkurve%20and%20exoplanet/~/anaconda3/envs/RV/lib/python3.11/site-packages/radvel/mcmc.py:259) else:
    [260](https://vscode-remote+wsl-002bubuntu-002d22-002e04.vscode-resource.vscode-cdn.net/home/justv/Exoplanet/lightkurve%20and%20exoplanet/~/anaconda3/envs/RV/lib/python3.11/site-packages/radvel/mcmc.py:260)     check_gp = isinstance(post.likelihood, radvel.likelihood.GPLikelihood)
--> [262](https://vscode-remote+wsl-002bubuntu-002d22-002e04.vscode-resource.vscode-cdn.net/home/justv/Exoplanet/lightkurve%20and%20exoplanet/~/anaconda3/envs/RV/lib/python3.11/site-packages/radvel/mcmc.py:262) np_info = np.__config__.blas_opt_info
    [263](https://vscode-remote+wsl-002bubuntu-002d22-002e04.vscode-resource.vscode-cdn.net/home/justv/Exoplanet/lightkurve%20and%20exoplanet/~/anaconda3/envs/RV/lib/python3.11/site-packages/radvel/mcmc.py:263) if 'extra_link_args' in np_info.keys() \
    [264](https://vscode-remote+wsl-002bubuntu-002d22-002e04.vscode-resource.vscode-cdn.net/home/justv/Exoplanet/lightkurve%20and%20exoplanet/~/anaconda3/envs/RV/lib/python3.11/site-packages/radvel/mcmc.py:264)  and check_gp \
    [265](https://vscode-remote+wsl-002bubuntu-002d22-002e04.vscode-resource.vscode-cdn.net/home/justv/Exoplanet/lightkurve%20and%20exoplanet/~/anaconda3/envs/RV/lib/python3.11/site-packages/radvel/mcmc.py:265)  and ('-Wl,Accelerate' in np_info['extra_link_args']) \
    [266](https://vscode-remote+wsl-002bubuntu-002d22-002e04.vscode-resource.vscode-cdn.net/home/justv/Exoplanet/lightkurve%20and%20exoplanet/~/anaconda3/envs/RV/lib/python3.11/site-packages/radvel/mcmc.py:266)  and serial == False:
    [267](https://vscode-remote+wsl-002bubuntu-002d22-002e04.vscode-resource.vscode-cdn.net/home/justv/Exoplanet/lightkurve%20and%20exoplanet/~/anaconda3/envs/RV/lib/python3.11/site-packages/radvel/mcmc.py:267)     print("WARNING: Parallel processing with Gaussian Processes will not work with your current"
    [268](https://vscode-remote+wsl-002bubuntu-002d22-002e04.vscode-resource.vscode-cdn.net/home/justv/Exoplanet/lightkurve%20and%20exoplanet/~/anaconda3/envs/RV/lib/python3.11/site-packages/radvel/mcmc.py:268)                 + " numpy installation. See radvel.readthedocs.io/en/latest/OSX-multiprocessing.html"
    [269](https://vscode-remote+wsl-002bubuntu-002d22-002e04.vscode-resource.vscode-cdn.net/home/justv/Exoplanet/lightkurve%20and%20exoplanet/~/anaconda3/envs/RV/lib/python3.11/site-packages/radvel/mcmc.py:269)                 + " for more details. Running in serial with " + str(ensembles) + " ensembles.")

AttributeError: module 'numpy.__config__' has no attribute 'blas_opt_info'

I have tried reinstalling numpy, radvel, rvsearch, the lot. I still get this issue even though it's meant to be an OSX problem and not a Windows/Linux problem (from radvel.readthedocs.io/en/latest/OSX-multiprocessing.html). Is there anything I can do to perform this parallel processing?

Package versions: Numpy=1.24.3 Radvel=1.3.8 Rvsearch=0.3.3 (I should not that this was the most out-of-the box stable patch I've used, the most recent throws the error: Cannot import 'search' form 'rvsearch')

Any help is gratefully appreciated!