Skip to content

Commit cffa7f5

Browse files
committed
minor
1 parent fabfcce commit cffa7f5

File tree

4 files changed

+538
-15
lines changed

4 files changed

+538
-15
lines changed

EvaluateFnOnAgentDist/EvalFnOnAgentDist_AggVars_Case1.m

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,11 @@
3737
a_gridvals=CreateGridvals(n_a,a_grid,1);
3838
% Switch to z_gridvals
3939
if simoptions.alreadygridvals==0
40-
[z_gridvals, ~, simoptions]=ExogShockSetup(n_z,z_grid,[],Parameters,simoptions,1);
40+
if simoptions.parallel<2
41+
z_gridvals=z_grid; % On cpu, only basics are allowed. No e.
42+
else
43+
[z_gridvals, ~, simoptions]=ExogShockSetup(n_z,z_grid,[],Parameters,simoptions,1);
44+
end
4145
elseif simoptions.alreadygridvals==1
4246
z_gridvals=z_grid;
4347
end

HeterogeneousAgent/HeteroAgentStationaryEqm_Case1.m

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -176,13 +176,18 @@
176176
heteroagentoptions.gridsinGE=1;
177177
end
178178
end
179-
% If z (and e) are not determined in GE, then compute z_gridvals_J and pi_z_J now (and e_gridvals_J and pi_e_J)
179+
% If z (and e) are not determined in GE, then compute z_gridvals and pi_z now (and e_gridvals and pi_e)
180180
if heteroagentoptions.gridsinGE==0
181-
% Some of the shock grids depend on parameters that are determined in general eqm
182-
[z_grid, pi_z, vfoptions]=ExogShockSetup(n_z,z_grid,pi_z,Parameters,vfoptions,3);
183-
% Note: these are actually z_gridvals and pi_z
184-
simoptions.e_gridvals=vfoptions.e_gridvals; % Note, will be [] if no e
185-
simoptions.pi_e=vfoptions.pi_e; % Note, will be [] if no e
181+
if vfoptions.parallel<2 % If on cpu, only allowed to use the very basics
182+
% z_grid and pi_z are just simple, so leave as is.
183+
% e is not supported for cpu
184+
else
185+
% Some of the shock grids depend on parameters that are determined in general eqm
186+
[z_grid, pi_z, vfoptions]=ExogShockSetup(n_z,z_grid,pi_z,Parameters,vfoptions,3);
187+
% Note: these are actually z_gridvals and pi_z
188+
simoptions.e_gridvals=vfoptions.e_gridvals; % Note, will be [] if no e
189+
simoptions.pi_e=vfoptions.pi_e; % Note, will be [] if no e
190+
end
186191
end
187192
% Regardless of whether they are done here of in _subfn, they will be
188193
% precomputed by the time we get to the value fn, staty dist, etc. So

SubCodes/ExoShocks/ExogShockSetup.m

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,6 @@
4848
elseif gridpiboth==2 % For agent dist, we don't use grid
4949
z_gridvals=[];
5050
% Now just do pi_z_J
51-
pi_z=zeros(prod(n_z),prod(n_z),'gpuArray');
5251
if isfield(options,'ExogShockFn')
5352
ExogShockFnParamsVec=CreateVectorFromParams(Parameters, options.ExogShockFnParamNames);
5453
ExogShockFnParamsCell=cell(length(ExogShockFnParamsVec),1);
@@ -60,7 +59,6 @@
6059
elseif gridpiboth==3
6160
% For value fn, both z_gridvals_J and pi_z_J
6261
z_gridvals=zeros(prod(n_z),length(n_z),'gpuArray');
63-
pi_z=zeros(prod(n_z),prod(n_z),'gpuArray');
6462
if isfield(options,'ExogShockFn')
6563
ExogShockFnParamsVec=CreateVectorFromParams(Parameters, options.ExogShockFnParamNames);
6664
ExogShockFnParamsCell=cell(length(ExogShockFnParamsVec),1);
@@ -71,10 +69,8 @@
7169
end
7270
if all(size(z_grid)==[prod(n_z),length(n_z)]) % joint grid
7371
z_gridvals=z_grid;
74-
pi_z=pi_z;
7572
elseif all(size(z_grid)==[sum(n_z),1]) % basic grid
7673
z_gridvals=CreateGridvals(n_z,z_grid,1);
77-
pi_z=pi_z;
7874
end
7975
end
8076
end
@@ -112,7 +108,6 @@
112108
elseif gridpiboth==2 % For agent dist, we don't use grid
113109
options.e_gridvals=[];
114110
% Now just do pi_e_J
115-
options.pi_e=zeros(prod(options.n_e),prod(options.n_e),'gpuArray');
116111
if isfield(options,'EiidShockFn')
117112
EiidShockFnParamsVec=CreateVectorFromParams(Parameters, options.EiidShockFnParamNames);
118113
EiidShockFnParamsCell=cell(length(EiidShockFnParamsVec),1);
@@ -124,8 +119,6 @@
124119
elseif gridpiboth==3
125120
% For value fn, both e_gridvals_J and pi_e_J
126121
options.e_gridvals=zeros(prod(options.n_e),length(options.n_e),'gpuArray');
127-
options.pi_e=zeros(prod(options.n_e),prod(options.n_e),'gpuArray');
128-
129122
if isfield(options,'EiidShockFn')
130123
EiidShockFnParamsVec=CreateVectorFromParams(Parameters, options.EiidShockFnParamNames);
131124
EiidShockFnParamsCell=cell(length(EiidShockFnParamsVec),1);
@@ -158,5 +151,4 @@
158151
end
159152

160153

161-
162154
end

0 commit comments

Comments
 (0)