1. 08 Dec, 2015 1 commit
  2. 07 Dec, 2015 3 commits
  3. 25 Oct, 2015 1 commit
  4. 14 Oct, 2015 1 commit
  5. 13 Oct, 2015 1 commit
  6. 12 Oct, 2015 2 commits
  7. 11 Oct, 2015 2 commits
    • Médéric Boquien's avatar
      Rather than computing the scaling factor and the χ² in one block over the... · 4e89eb42
      Médéric Boquien authored
      Rather than computing the scaling factor and the χ² in one block over the entire grid of models, let's compute them band by band. The main advantage is that we avoid the creation of temporary arrays that can be as large is the model fluxes array, which can be very large. Because we loop on the bands rather than on the models, the impact on the performance should remain very limited.
      4e89eb42
    • Médéric Boquien's avatar
      Magic values are a bit of a pain to handle and are not safe. This patch... · 08068e8c
      Médéric Boquien authored
      Magic values are a bit of a pain to handle and are not safe. This patch removes the use of magic values and rather replaces them with NaN whenever appropriate. The logic of the input file stays the same but the magic values are converted internally after reading it so that the rest of the code does not have to deal with that.
      08068e8c
  8. 08 Oct, 2015 1 commit
    • Médéric Boquien's avatar
      Computing the parameters and their uncertainties through the histogram of the... · e57cb6e6
      Médéric Boquien authored
      Computing the parameters and their uncertainties through the histogram of the PDF makes the code more complex and can introduce biases in some cases. This patch moves the computation of the histograms to the function that saves them onto the disk. In parallel the estimated value of the parameters and the corresponding uncertainties are simply computed from the weighted mean and standard deviation of the models that are at least 0.1% as likely as the best model to reproduce the observations.
      e57cb6e6
  9. 06 Oct, 2015 1 commit
  10. 05 Oct, 2015 1 commit
  11. 20 Sep, 2015 1 commit
  12. 01 Sep, 2015 2 commits
  13. 30 Aug, 2015 2 commits
  14. 28 Aug, 2015 1 commit
    • Médéric Boquien's avatar
      We rely on OrderedDict to keep the order of the parameters. However given the... · 14b34462
      Médéric Boquien authored
      We rely on OrderedDict to keep the order of the parameters. However given the way the code is structured currently, there is really no reason for this. So let's just switch to the standard dictionary. This has two advantages. First the standard dictionary is much faster than OrderedDict (implemented in C rather than in pure python). Then, standard dictionaries are marshalable, which makes them usable as keys for other dictionaries.
      14b34462
  15. 24 May, 2015 1 commit
  16. 20 Jul, 2014 1 commit
  17. 02 Jul, 2014 1 commit
  18. 19 Jun, 2014 1 commit
  19. 06 Jun, 2014 1 commit
  20. 14 May, 2014 1 commit
  21. 07 May, 2014 2 commits
  22. 06 May, 2014 1 commit
  23. 21 Apr, 2014 1 commit
  24. 14 Apr, 2014 1 commit
  25. 29 Mar, 2014 4 commits
  26. 28 Mar, 2014 1 commit
  27. 23 Mar, 2014 1 commit
    • Médéric Boquien's avatar
      Improve memory management. Several techniques are used. First, we use arrays... · 83e13558
      Médéric Boquien authored
      Improve memory management. Several techniques are used. First, we use arrays in shared memory when computing the SEDs (this should also be done for the analysis later). This avoids using temporary objects that have to be sent back into a list from pool.starmap. Second, we do not save the sed.info data until the best sed has been computed. Only then we recompute the SED to get the info. Third, the list of changed parameters for cache cleaning was too big. It contained the key and the value of the changed parameter to identify models to be discarded. Now we simply return an array of integers giving the index of the module to be discarded. Much simpler, much smaller. There are also some small improvements here and there that I probably forget. The main culprit now is by far the list of parameters. It gets horribly big. 3.5 GB for 30M models. Anyway, now pcigale runs with 30M models.
      83e13558
  28. 20 Mar, 2014 1 commit
  29. 11 Mar, 2014 2 commits
    • Médéric Boquien's avatar
      The initial implementation of the parallel analysis ended up grinding pcigale... · 31c30672
      Médéric Boquien authored
      The initial implementation of the parallel analysis ended up grinding pcigale to a halt. This was due to the numerous array transfers between the main process and subprocesses. To solve this problem, we now share arrays through a module. This has the advantage
      that thanks to copy-on-write, we almost never need to actually copy arrays. Now all the subprocessing run at full speed. Quite a few changes for a patch that only starting with the activation of cache clearing.
      31c30672
    • Médéric Boquien's avatar
      Make pdf_analysis parallel. This required important changes. Functions saving... · 3a44b65a
      Médéric Boquien authored
      Make pdf_analysis parallel. This required important changes. Functions saving data have been moved to the utils.py file. Workers for the parallel processes have been put in workers.py. To make sure we eliminate models incompatible with the age of the universe now the latter is indicated in sed.info for easy access. Ditto for the redshift.
      3a44b65a