1. 08 Dec, 2015 1 commit
  2. 07 Dec, 2015 3 commits
  3. 04 Dec, 2015 1 commit
  4. 03 Dec, 2015 2 commits
  5. 27 Nov, 2015 1 commit
  6. 18 Nov, 2015 1 commit
  7. 11 Oct, 2015 2 commits
  8. 05 Oct, 2015 1 commit
  9. 04 Oct, 2015 1 commit
  10. 20 Sep, 2015 1 commit
  11. 30 Aug, 2015 1 commit
  12. 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
  13. 26 Aug, 2015 1 commit
    • Médéric Boquien's avatar
      Replace the SED.info OrderedDict() with a very light weight and speficically... · 8bd942a9
      Médéric Boquien authored
      Replace the SED.info OrderedDict() with a very light weight and speficically tailored reimplementation of an OrderedDict(). The reason is that an OrderedDict() takes an inordinate amount to time to copy. In the end this could amount to a very significant fraction of the total runtime. Do not use this new implementation anywhere or it will break your code. It makes very strong assumptions on how it is to be used.
      8bd942a9
  14. 24 May, 2015 1 commit
  15. 21 May, 2015 1 commit
    • Médéric Boquien's avatar
      Implement a cache for the filters to compute the fluxes. Rather than passing... · 38e7f35b
      Médéric Boquien authored
      Implement a cache for the filters to compute the fluxes. Rather than passing the transmission table as an argument to compute_fnu(), which makes caching difficult and/or slow to compute the hash, we rather pass the filter name. Then the SED object fetches the filter from the database and resamples it on the optimal wavelength grid. The result is stored in cache to avoid carrying out this operation repeatedly.
      38e7f35b
  16. 20 May, 2015 1 commit
  17. 24 Apr, 2015 1 commit
  18. 02 Jul, 2014 3 commits
  19. 19 Jun, 2014 1 commit
  20. 24 May, 2014 1 commit
  21. 16 Apr, 2014 2 commits
  22. 09 Apr, 2014 1 commit
  23. 01 Apr, 2014 1 commit
  24. 29 Mar, 2014 5 commits
  25. 27 Mar, 2014 1 commit
  26. 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
  27. 21 Mar, 2014 1 commit
  28. 20 Mar, 2014 1 commit
  29. 11 Mar, 2014 1 commit
    • 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