Release Notes

main

Oct. 24, 2024 don la dieu (nega at icecube.umd.edu)

IceTray Release v1.12.0

  • Update majority of tests to I3MTRandomService (#3658)

  • Clean up doxygen warnings (#3640)

  • add pre-commit for executable bit for shebangs (#3627)

  • Update tooling and code to use ruff v0.6.4 (#3624)

  • specify CL2.0 build option flag (#3616)

  • remove usage of trapz in clsim and ice-models (#3611)

  • remove execute bit from a few C++ source files

  • [CLSim] Fix copyright and license statements (#3542)

  • fix of hardcoded 0, replaced with more general iterator (#3514)

  • Cosmetic improvements to stubs (#3494)

  • [clsim] Fix double precision (#3506)

  • Non-spherical OMs data structures for clsim (#3520)

  • Update simprod-scripts to I3MTRandomService and fix shell script tests so failures are caught (#3631)

June 18, 2024 don la dieu (nega at icecube.umd.edu)

IceTray Release v1.11.0

  • Run mypy in CI (#3480)

  • mypy cleanup for simulation projects (#3417)

  • mypy cleanup for core projects (#3414)

  • Add stubs for even more pybindings (#3413)

  • Fix the photon path example (#3460)

Feb. 20, 2024 don la dieu (nega at icecube.umd.edu)

IceTray Release v1.9.2

  • Respect device UseNativeMath setting

  • Delete mailinglist files (#3357)

  • Fix extension for various files (#3330)

  • Add upgrade rules to ruff (#3316)

  • Remove all tab characters used for indentation from python files (#3300)

Dec. 14, 2023 don la dieu (nega at icecube.umd.edu)

IceTray Release v1.9.0

  • Remove Uber Header (I3.h) (#3151)

  • Remove naive datetime() objects (#3304)

  • Clean up invalid escape sequences for python3.12 (#3286)

  • Fix E731 lambda-assignment (#3271)

  • general python cleanups (ruff/E712) (#3268)

  • general python cleanups (ruff/E713) (#3269)

  • fix E703 useless-semicolon (#3266)

  • fix B028 no-explicit-stacklevel (#3265)

  • fix E714 not-is-test (#3270)

  • python ruff cleanup fix EXE001 (#3289)

  • Fix a number of issues identified by ruff (#3262)

  • remove unnecessary __future__ imports (#3243)

  • conform to newer versions of numpy slicing

  • general python cleanups

Oct. 12, 2023 don la dieu (nega at icecube.umd.edu)

IceTray Release v1.8.2

  • support for multiple modes of BFR scattering length correction (#3190)

    • add default PPC scattering length BFR correction

    • init version 10 support in python

    • include bfr scaling correction as last element of bfrParas

    • fix bug in concatenation

    • remove extraneous comment

June 22, 2023 don la dieu (nega at icecube.umd.edu)

IceTray Release v1.7.0

  • Make I3Tray.I3Tray and icecube.icetray.I3Tray the same thing. (#3102)

  • Remove all references to load_pybindings (#3086)

Dec. 12, 2022 don la dieu (nega AT icecube.umd.edu)

IceTray Release v1.5.0

  • Improve script for tilt map plot

  • Pull in version files and read in for clsim. (#2977)

  • Support for full-tilt parametrization (#2974)

  • Clsim - disable failing assert in testCableShadow and log results

  • Add optional hole-ice argument

  • Documentation cleanups

Jul. 27, 2022 don la dieu (nega AT icecube.umd.edu)

IceTray Release v1.4.0

  • Drop support for Python 2

  • Clean up python bindings / modules

  • Move SimServer/Client from CLSim to sim-services (#2799)

  • bfr-v2 implementation (#2841)

  • Clean up tests

  • Update opencl.hpp

  • Make OpenCL optional

Feb. 21, 2022 Tianlu Yuan

IceTray Release v1.3.0

  • Split off UnshadowedFraction into two parameters: UnshadowedFraction and DOMEfficiency. Users should only need to change the UnshadowedFraction argument to DOMEfficiency for the same behavior, leaving UnshadowedFraction to its default (#2809).

  • Restore functionality to save photon histories when PhotonHistoryEntries > 0

  • Working I3CLSimTabulatorModule (#2791)

  • Reimplement I3CLSimMakeHitsFromPhotons in terms of I3CLSimPhotonToMCPEConverterForDOMs. This makes it possible to use I3CLSimMakeHitsFromPhotons with photons generated by I3CLSimClientModule, at the expense of no longer being able to use it with photons generated with previous versions.

  • Tolerate weight*acceptance of up to 1+1e-4

  • Hobo-SnowStorm support:

    • I3CLSimFunction can be multiplied by a scalar and stored in I3Frame

    • setupDetector’s GCDFile takes either a file path or a tuple of (G,C) frames

    • I3CLSimLightSourceToStepConverters can be re-initialialized

    • I3CLSimMediumProperties can vary aniostropy strength

Feb. 5, 2020 Alex Olivas (aolivas@umd.edu)

Combo Release V00-00-01

  • Finalize frame cache in the edge case where no frames contained work (prevents crashes in edge cases) Fixes #2402. -jvs

  • Minor changes to the shadowed photon remover -amedina

  • Correct typo. Fixes #2404 -jvs

  • Gracefully shut down if photon->PE conversion raises an exception -jvs

  • Tolerate weight*acceptance of up to 1+1e-6 -jvs

  • Fix a bug that double-counted DeepCore DOM efficiency. In combo release V00-00-00, all high-QE DOMs detected 35% too many photons. -jvs

Dec. 20, 2019 Alex Olivas (aolivas@umd.edu)

Combo Release V00-00-00

  • Merge multiprocess-server branch. This is a major restructuring of clsim.

    • I3CLSimServer accepts steps over a ZMQ socket and distributes them to instances of I3CLSimStepToPhotonConverter. Multiple clients can share a server, allowing M:N CPU:GPU ratios rather than only 1:N.

    • I3CLSimModule is replaced by I3CLSimClientModule. I3CLSimClientModule only emits I3CompressedPhotons, so no pretty photon histories.

    • MaxParallelEvents and MaxEnergyToProcess options are gone; internal queues are filled dynamically to create complete propagator kernel invocations.

    • I3CLSimLightSourceToStepConverterGeant4 is factored into I3CLSimLightSourceToStepConverterAsync and I3CLSimLightSourcePropagatorGeant4. The latter is truly optional, making it possible to use clsim without initializing Geant4.

    • I3CLSimLightSourcePropagatorFromI3PropagatorService allows e.g. PROPOSAL to be run in a thread in I3CLSimClientModule. This can be used to save memory by discarding stochastic losses as soon as their light yield has been simulated.

    • Both I3CLSimLightSourcePropagatorGeant4 and I3CLSimLightSourcePropagatorFromI3PropagatorService can optionally record the secondaries they produce in an MCTree.

    • I3CompressedPhoton positions are relative to the module they hit, and have oversizing removed.

    • Photons are converted directly to (coalesced) I3MCPE in the collector thread of I3CLSimClientModule. This can save significant memory for high-energy events.

  • Merge spe-template branch.

  • I3CLSimLightSourcePropagatorGeant4 can be reinitialized, making it possible to change the wavelength bias without starting a new process. This is useful for implementing a hobo SnowStorm simulaton where systematic parameters change every N frames.

  • Removed MMCTrackListName option from I3CLSimMakePhotons. PROPOSAL now emits muon track segments directly, and they do not need to be reverse-engineered by I3MuonSlicer.

  • Direct, in-kernel cable shadow simulation can be enabled by setting the CableOrientation parameter in I3CLSimMakePhotons. This reduces isotropic efficiency by ~10%, but in a directionally specific way.

Nov. 12, 2018 Juan Carlos Diaz-Velez (juancarlos@icecube.wisc.edu)

Release V04-04-00

  • Individual SPE template correction factors and RDE

  • Reads DOMefficiency from icemodel cfg.

  • Unshadowed fraction parameter multiplies by IceModel DOMefficiency

June 22, 2018 Juan Carlos Diaz-Velez (juancarlos@icecube.umd.edu)

Release V04-03-02

  • Changes default hole-ice model to

  • Changes Summary service to XML agnostic version

Dec 7, 2017 Juan Carlos Diaz-Velez (juancarlos@icecube.wisc.edu)

Release V04-03-01

  • update geant4 detection script for py2-v3 support

Nov 3, 2017 Juan Carlos Diaz-Velez (juancarlos@icecube.wisc.edu)

Release V04-03-00

  • trac:r157950/IceCube GPU optimization: Fix double buffering in TotalEnergyToProcess mode Resetting maxNumParallelEvents_ and maxNumParallelEventsSecondFlush_ Fixes bug trac:#1461

August 22, 2017 Juan Carlos Diaz-Velez (juancarlos@icecube.wisc.edu)

Release V04-02-02

  • generation of compressed MCPEs.

June 26, 2017 Alex Olivas (olivas@icecube.umd.edu)

Release V04-02-01

  • clsim now works with Geant4 versions >= 4.10.x

  • Emit I3CompressedPhotons if PhotonHistoryEntries == 0

  • fixed benchmark.py and tray segment parameters

March 24, 2017 Juan Carlos Diaz-Velez (juancarlos@icecube.wisc.edu)

Release V04-02-00

Major bug fixes are marked with “***”. Do not use older versions of clsim without these for anything!

  • r153861 + r153865: Make thread unpinning to work around stupid cluster managers also work on Ubuntu, and make the tabulator raise an error if no CPU OpenCL devices are found.

  • r153710: I3CLSimMakePhotons can now take a wavelength acceptance directly. The user is responsible for getting all the scaling factors right.

  • r149069 + r150508: new parameterizations for hadronic and EM showers are used (thanks andrii.terliuk) -> now re-factored into CMC (thanks jvs!)

  • *** r148636: fixed the hadronic shower parametrization by using the correct radiation length (thanks musner!)

  • *** r149250: clsim/Geant4 does no longer use seawater when simulating glacial ice. This mostly affects late pulses from neutrons. (thanks asteuer!)

  • r149878: hole ice parameterizations can now be configured when setting up clsim (thanks sebastian.sanchez)

  • several minor improvements to support mDOMs better (such as optional oversizing [r148281])

  • *** r147029 and r150787: Make clsim run efficiently on GTX 1080* cards and on TITAN X GPUs. Do NOT use older versions of clsim on these cards or you will waste a ton of GPU cycles.

  • r143614: Moved I3Photon and I3CompressedPhoton to simclasses

  • *** r140057: Fixed a bug where in rare cases the last few frames would not be processed by clsim. (Thanks dschultz!)

  • r131448: The cutoff distance for sources further away from any DOM than a certain distance is now configurable using the I3CLSimModule option “ClosestDOMDistanceCutoff”. It used to be hard-coded to 300m.

  • r130869: New “TotalEnergyToProcess” option to keep collecting input events as long as the total energy to be propagated is below a threshold. (Instead of just processing a fixed number of events in parallel.) Using this option should reduce fluctuations in the memory requirements of clsim jobs. This cannot currently be used with flasher simulations. If unset, the previous behavior is used.

  • various tablemaker fixes

December 22, 2014 Alex Olivas (olivas@icecube.umd.edu)

Release V04-00-05

  • Loading safeprimes files (without the .txt extension).

November 24, 2014 Alex Olivas (olivas@icecube.umd.edu)

Release V04-00-04

  • Builds without OpenGL and with Intel i7.

  • Newer, tighter safeprimes.

  • Switch to default value of numberOfPhotonsAtMaxBrightness.

  • Incorporate hybrid mode between GEANT4 and parametrization.

  • Get all devices, even those that are neither CPUs nor GPUs, like the Xeon Phi.

July 11, 2014 Claudio Kopper (ckopper@icecube.wisc.edu)

Release V04-00-03

  • some code cleanup: removed the dataclasses header backports

    Warning

    this version will not work with outdated dataclasses

  • minor OpenCL cleanups to make some implementations happy

  • added a benchmark script which can be used to check the GPU/CPU performance by propagating a couple of photons

  • safeprimes file will now be taken from I3_DATA if it exists

February 03, 2013, Alex Olivas (olivas@icecube.umd.edu)

  • more cleanups to move from I3MCPulse to I3MCPE

  • fixed a bug where the MCTree chopping would ignore secondary losses leading to light from muon stochastic losses to be ignored when looking at data pre-processed with CMC

January 29, 2013 Claudio Kopper (ckopper@icecube.wisc.edu)

Release V03-00-00

  • support for ice tilt and anisotropy

  • tuned when running on AMD cards (Radeon 7970 on cobaltamdgpu)

June 14, 2012 Claudio Kopper (ckopper@icecube.wisc.edu)

Release V00-02-01

  • replaces the OpenCL 1.1 version of the cl.hpp OpenCL C++ bindings with the 1.2 version. This currently breaks compatibility with some older OpenCL 1.0 implementations (notably Mac OS X 10.6 Snow Leopard), but allows clsim to be compiled with newer versions of the AMD APP SDK.

May 31, 2012 Claudio Kopper (ckopper@icecube.wisc.edu)

Release V00-02-00

  • fixes a bug where particles that fall below the Cherenkov threshold are immediately killed in Geant4

  • allows “device fission” to be used to make the photon propagator only use a fixed number of cores

  • can send statistics to a I3SummaryService

  • includes a new propagation mode where absorption is ignored (for generating photon-tables)

  • comes with a preliminary version of photon-tabulation code

  • flashers now have the appropriate time delay distributions

  • allows Standard Candle simulation

  • I3PhotonSeriesMap is now based on ModuleKey instead of OMKey (if available)

  • support mDOM simulations when compatible dataclasses are available

  • the safeprimes auto-downloader should be compatible with more systems now

  • oversized DOMs are compressed to ellipsoids to get better timing distributions

April 18, 2012 Claudio Kopper (ckopper@icecube.wisc.edu)

Release V00-01-05

This is a minor release that should improve compatibility with older nVidia cards (such as GTX 295) that do not have as much GPU memory as newer cards. The maximum amount of memory will now only be used on nVidia cards that have either “Tesla”, “GTX 580” or “GTX 680” in their names.

Performance for large I3MCTrees should be significantly improved in this release.