Dear Statalisters,
I am working with Stata SE 13.1 on a large dataset (15 gigabyte) on a Windows 64 machine with 32gb RAM. Because of the datasets' size some tasks take a little while. To increase performance I downloaded George Vega's and Brian Quistorff's parallel from ssc (ssc install parallel). From my understanding, what this package does is to split the dataset up, performs a task on the splitted datasets and then appends the individual datasets. That's what I wanted to do. I typed:
Unfortunately, this resulted in the following error messages:
Since dividing a 15gb dataset into four datasets should not exceed the 32gb memory limit I assume that memory cannot be the problem. I also tried parallel setclusters 2 and changing the called do-file so that all it does is a simple task:
giving the same error again.
Does someone have a hint for me where this problem might come from? I am grateful for any advice. For completeness I copy the text from the logfile:
I am working with Stata SE 13.1 on a large dataset (15 gigabyte) on a Windows 64 machine with 32gb RAM. Because of the datasets' size some tasks take a little while. To increase performance I downloaded George Vega's and Brian Quistorff's parallel from ssc (ssc install parallel). From my understanding, what this package does is to split the dataset up, performs a task on the splitted datasets and then appends the individual datasets. That's what I wanted to do. I typed:
Code:
parallel setclusters 4 parallel do "C:\Users\wwa594\Documents\Promotion\Projects\Dualholding\Work\Do-Files\dh_holdings_03_1_bowadd.do", by(managerdum)
Code:
-------------------------------------------------------------------------------- Parallel Computing with Stata (by GVY) Clusters : 4 pll_id : 2uctinfg15 Running at : C:\Users\wwa594\Documents\Promotion\Projects\Dualholding\Work\Do-Files Randtype : datetime Waiting for the clusters to finish... cluster 0004 Exited with error -198- while setting memory (view log)... cluster 0001 Exited with error -198- while setting memory (view log)... cluster 0002 Exited with error -198- while setting memory (view log)... cluster 0003 Exited with error -198- while setting memory (view log)... -------------------------------------------------------------------------------- Enter -parallel printlog #- to checkout logfiles. --------------------------------------------------------------------------------
Code:
forvalues i=1/5 {
gen newvar`i' = .
}
Does someone have a hint for me where this problem might come from? I am grateful for any advice. For completeness I copy the text from the logfile:
Code:
. parallel printlog 1, e(2uctinfg15)
--------------------------------------------------------------------------------
beginning of file -C:\Users\wwa594\AppData\Local\Temp/__pll2uctinfg15_do0001.log-
--------------------------------------------------------------------------------
. capture {
--------------------------------------------------------------------------------
Parallel computing with stata (by GVY)
--------------------------------------------------------------------------------
cmd/dofile : "dh_holdings_03_1_bowadd.do"
pll_id : 2uctinfg15
pll_instance : 1/4
tmpdir : C:\Users\wwa594\AppData\Local\Temp/__pll2uctinfg15_tmpdir0001/
date-time : 10:55:58 5 Aug 2016
seed : X25c52044c43f462544a474abacbdd93d00040fa3
--------------------------------------------------------------------------------
. local result = _rc
. if (c(rc)) {
. cd "C:\Users\wwa594\Documents\Promotion\Projects\Dualholding\Work\Do-Files/"
C:\Users\wwa594\Documents\Promotion\Projects\Dualholding\Work\Do-Files
. mata: parallel_write_diagnosis(strofreal(c("rc")),"C:\Users\wwa594\Documents\Promotion\Projects\Dualholding\Work\Do-Files/__pll2uctinfg15
> _finito0001","while setting memory")
. clear
. exit
end of do-file
--------------------------------------------------------------------------------
end of file -C:\Users\wwa594\AppData\Local\Temp/__pll2uctinfg15_do0001.log-
--------------------------------------------------------------------------------

less memory than requested and in the above process Stata (seems like) doesn't verify whether it will be able to allocate the indicated amount, so it can't fail on set mem. The write_diagnosis procedure will just write the error, but the key should be inspecting the _rc.
Comment