Version 1.5 of Toolkit (Warning: Not backwards compatible!)

Three major but basic changes to make VFI Toolkit much easier to use, but which are not backward compatible, so will break all your existing codes. Hopefully they will make the VFI Toolkit much easier to use going forwards and be worth the change! The changes are all around making it easier to use VFI Toolkit on different hardware, and having to declare options.

The first major change is that VFI Toolkit now detects whether you have a GPU (graphics card) and sets defaults accordingly. This means that the same code runs on computers with a GPU, and on computers without a GPU (albeit very slowly). A further advantage of this is that users will need to do way less setting up of technical options and can focus on their Economic models. Have mainly done this so that users can write codes on laptop with no GPU (with small grids), and then run same codes (with bigger grids) on Desktop or Server with a GPU. Note that this does not mean all codes can run with just CPUs, some remain GPU only (specifically almost anything with value function in finite horizon or OLG). It remains possible to set specific parallelization options exactly as before, e.g., vfoptions.parallel=2.

Second major change is that an initial guess for the value function is no longer required by ‘ValueFnIter‘ commands. All existing codes must therefore change any calls of these commands to remove the initial guess; change, e.g., ValueFnIter_Case1(V0, n_d,…) to ValueFnIter_Case1(n_d,…). This was done as initial guesses are not widely used and it makes switching between GPU and CPU implementations much easier. You can still set initial guesses using new vfoptions.V0 (default is an initial guess of zeros). This also means that the ‘HeteroAgentStationaryEqm‘ also no longer require initial guess for value function.

Third major change is that for ‘HeteroAgentStationaryEqm‘ commands the inputs and outputs for equilibrium prices are now structures rather than vectors. This makes them easier to use as can add/remove conditions/prices without having to worry about causing errors elsewhere in codes due to reordering. Likewise for all ‘TransitionPath‘ commands the input and output price (and parameter) paths are now structures.

These changes are reflected in all examples. I will be rolling them out to all replications over the coming weeks.

As this version is anyway breaking backwards compatibility I have taken the opportunity to remove the SSvalues commands. Their functionality was earlier replaced with the EvaluateFnOnAgentDist commands. I had intended to keep them around longer as legacy code to avoid breaking backward compatibility but since version 1.5 breaks most backward compatibility why not just break everything? 🙂

Because this does break backwards compatibility an archived copy of the last v1.4 is available as a zip-file.

As ever, if you find something that does not work, or there is a feature you think would really help improve the VFI Toolkit, please don’t hesitate to either send me an email or post on the forum.

© 2024 A MarketPress.com Theme