GTAP Resource 3405

advertisement
Using GEMPACK
effectively with GTAP
Michael Jerie
Centre of Policy Studies, Monash University.
Presented at the GTAP 13th annual conference,
Penang, Malaysia, June 9-11, 2010.
1
Faster GTAP with GEMPACK 10.0
Example: Solving standard GTAP, 30 regions and 30 sectors, Gragg 3-57 solution method (on a PC with an Intel Q9550 – 2.83 GHz CPU).
Using GEMPACK Release 9.0-003 (August 2006) with Lahey Fortran
LF95, solution time is 322 seconds.
Using GEMPACK Release 10.0-001 (April 2009) with Intel Fortran,
solution time is 101 seconds (less than 1/3 of the 2006 time)
Time saving improvements come from
- more effective pivot reuse
- Intel Fortran optimized GP libraries and model exe
Using parallelization introduced with GEMPACK 10.0 [servants=1],
solution time is 78 seconds (less than 1/4 of the 2006 time).
2
64-bit computing with GEMPACK
64-bit operating systems and cheap memory allow desktop
computing with large amounts of available RAM.
(Modellers are freed from the old limits: maximum 4 GB memory for
32-bit Windows, and, maximum 2 GB limit for a single program.)
Since GEMPACK 10.0 (May 2008), the Intel Visual Fortran compiler
can be used with Source-code GP.
On 64-bit Windows, using GEMPACK and the Intel Fortran compiler
you can
• make and run 64-bit models, or,
• make and run 32-bit models.
Both have greater memory access compared to the 32-bit Windows
environment.
Note: 64-bit programs are not ‘faster’ than 32-bit programs.
3
64-bit computing with GEMPACK
Using 64-bit Windows and GEMPACK 10.0 (May 2008) or later
• A 64-bit Tablo-generated program allows use of up to about
(24+8) = 32 GB of memory. Fully disaggregated GTAP can be
solved (6 GB).
Using 64-bit Windows and GEMPACK 10.0-002 (April 2010)
• A 32-bit Tablo-generated program allows use of up to 4 GB of
memory (using large address aware exe’s).
• ViewHAR, ViewSOL and AnalysGE can use up to 4 GB
memory. This allows large data or solution files to be opened.
4
LTG Optimization with Intel Fortran
Since GEMPACK 10.0 compiling with fast /O1 Intel Fortran optimization
has been available during the LTG step (after TABLO code generation).
Since GEMPACK 10.0-001 fast /O1 compiler optimization is used by
default when you run LTG. The effect of this is
• LTG takes longer, but
• Model exe runs faster
During model development, the LTG – run – debug – LTG cycle can mean
frequent LTG’ing. We provide BAT files to change LTG optimization level.
Run LTGfigo0.BAT to use no optimization during LTG, then
• LTG is faster, but
• Model exe runs slower
Run LTGfigo1.BAT to use /O1 optimization during LTG, to return to the
new default.
5
Condensation
! tms(i,r,s) # source-spec. change in tax on imports of i from r into s #!
Set NONAGR = TRAD_COMM - AGRCOM;
Equation
E_tmsA (all,i,AGRCOM)(all,r,REG)(all,s,REG) tms(i,r,s) = tmA(i,r);
E_tmsB (all,i,NONAGR)(all,r,REG)(all,s,REG) tms(i,r,s) = tmB(r);
! problem: tms can NOT be substituted out !
Coefficient (all,i,TRAD_COMM) ISAGR(i);
Formula
(all,i,TRAD_COMM) ISAGR(i)=0;
Formula
(all,i,AGRCOM)
ISAGR(i)=1;
Equation ! Now tms CAN be substituted out !
E_tms3 (all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
tms(i,r,s) = ISAGR(i)*tmA(i,r) + [1-ISAGR(i)]*tmB(r);
Equation ! Now tms CAN be substituted out !
E_tms (all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
tms(i,r,s) = sum{ii,AGRCOM:ii=i, tmA(ii,r)}
+ sum{j,NONAGR:j=i,
tmB(r)};
Equation ! Coming soon .. GEMPACK 11 !
E_tms2 (all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
tms(i,r,s) = if{i in AGRCOM, tmA(i,r)} + if{i in NONAGR, tmB(r)};
6
Shock from Coefficient
New in GEMPACK 10.0-002 (April 2010)
TAB (TABLO INPUT) FILE
Coefficient
(all,i,TRAD_COMM)(all,r,REG)(all,s,REG) TMS0(i,r,s) # initial power #;
(all,i,TRAD_COMM)(all,r,REG)(all,s,REG) TMS1(i,r,s) # new power #;
(all,i,TRAD_COMM)(all,r,REG)(all,s,REG) shkTMS(i,r,s) # % change in tms #;
Zerodivide default 1;
Formula
(all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
TMS0(i,r,s) = VIMS(i,r,s)/VIWS(i,r,s);
(all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
TMS1(i,r,s) = min[1.5,TMS0(i,r,s)]; ! cap at 50% ad valorem rate !
(all,i,TRAD_COMM)(all,r,REG)(all,s,REG)
shkTMS(i,r,s) = 100*[TMS1(i,r,s)-TMS0(i,r,s)]/TMS0(i,r,s);
CMF (SIMULATION COMMAND) FILE
! CMF: shock tms from coefficient shkTMS;!
shock tms(AGRCOM,LDCREG,DEVREG) = select from coefficient shkTMS;
7
Set Expressions
New in GEMPACK 10.0-002 (April 2010)
Set ! From gtapsam.tab !
SAMAC1 # dummy set # = MCOM union DCOM ;
SAMAC2 # dummy set # = SAMAC1 union ACT ;
SAMAC3 # dummy set # = SAMAC2 union ENDW_COMM ;
SAMAC4 # dummy set # = SAMAC3 union TMM ;
SAMAC5 # dummy set # = SAMAC4 union TEE ;
SAMAC6 # dummy set # = SAMAC5 union TSSM ;
SAMAC7 # dummy set # = SAMAC6 union TSSD ;
SAMAC8 # dummy set # = SAMAC7 union TFF ;
SAMAC9 # dummy set # = SAMAC8 union TRMM ;
SAMAC10 # dummy set # = SAMAC9 union TRXM ;
SAMAC11 # dummy set # = SAMAC10 union WW ;
SAMAC12 # dummy set # = SAMAC11 union REGHOUS ;
SAMAC13 # dummy set # = SAMAC12 union HOUS ;
SAMAC14 # dummy set # = SAMAC13 union PRODTAX ;
SAMAC15 # dummy set # = SAMAC14 union DIRTAX ;
SAMAC16 # dummy set # = SAMAC15 union GOVT ;
SAMAC # Social Accounting Matrix Accounts # = SAMAC16 union CGDS_COMM ;
! (GP 10.0-002) Now
Set SAMAC # Social
+ ENDW_COMM + TMM
+ HOUS + PRODTAX +
8
becomes !
Accounting Matrix Accounts # = MCOM + DCOM + ACT
+ TEE + TSSM + TSSD + TFF + TRMM + TRXM + WW + REGHOUS
"DIRTAX" + GOVT + CGDS_COMM;
ViewHAR can display solution
(SL4) files
• Since Nov 2009, ViewHAR now displays SL4 solution files in a more
user-friendly way. Unlike in ViewSOL, you can see values for variables
with 4 or more dimensions.
• Since Nov 2009, ViewHAR is 'Large-Address-Aware' – it can use up to
4GB of memory, if run under 64-bit Windows. Under 32-bit Windows, it
can still use only 2GB.
RunDynam
Now improved (Feb 2010): “Save ingredients, except Model files, as Zip
archive”. RunDynam zip archives need not include model.exe file
• reduces Zip file size
• easier to email
• anyone with Source-code GEMPACK can rebuild the model.exe, and
run your simulations
9
Sparse storage in HAR files
• By default, GEMPACK programs when writing HAR files now store
mainly-zero real arrays in sparse form. This can save considerable
hard disk space.
All GEMPACK programs released since 2006 can read the sparse
format: older programs might complain.
• Can dramatically reduce size of very sparse huge arrays.
• Not much effect on zipped HAR size.
• Programs from GEMPACK version 9.0 (2005) or earlier cannot read
sparse format HAR files (see online help for workarounds).
10
Download