@@ -2055,9 +2055,15 @@ def jarPath(self, benchmark):
20552055 def dataLocation (self ):
20562056 if self .version () == "23.11-MR2-chopin" :
20572057 basePath = self .daCapoPath ()
2058- return os .path .join (basePath , "dacapo-23.11-MR2-chopin" )
2058+ subdir = "dacapo-23.11-MR2-chopin"
2059+ if self .minimalArchive ():
2060+ subdir += "-minimal"
2061+ return os .path .join (basePath , subdir )
20592062 else :
2060- raise "data location is only supported for version 23.11-MR2-chopin"
2063+ raise f"data location is not supported for suite version '{ self .version ()} '"
2064+
2065+ def minimalArchive (self ):
2066+ return False
20612067
20622068 def createCommandLineArgs (self , benchmarks , bmSuiteArgs ):
20632069 if benchmarks is None :
@@ -2227,17 +2233,24 @@ def workloadSize(self):
22272233 def daCapoClasspathEnvVarName (self ):
22282234 return "DACAPO_CP"
22292235
2236+ def minimalArchive (self ):
2237+ # DaCapo Chopin archive is huge. A stripped version without large and huge sizes exists
2238+ # See dacapobench/dacapobench issue #345 on GitHub
2239+ return self .version () in ["23.11-MR2-chopin" ] and self .workloadSize () in ["default" , "tiny" , "small" ]
2240+
22302241 def daCapoLibraryName (self ):
2242+ library = None
22312243 if self .version () == "9.12-bach" : # 2009 release
2232- return "DACAPO"
2244+ library = "DACAPO"
22332245 elif self .version () == "9.12-MR1-bach" : # 2018 maintenance release (January 2018)
2234- return "DACAPO_MR1_BACH"
2246+ library = "DACAPO_MR1_BACH"
22352247 elif self .version () == "9.12-MR1-git+2baec49" : # commit from July 2018
2236- return "DACAPO_MR1_2baec49"
2248+ library = "DACAPO_MR1_2baec49"
22372249 elif self .version () == "23.11-MR2-chopin" :
2238- return "DACAPO_23.11_MR2_chopin"
2239- else :
2240- return None
2250+ library = "DACAPO_23.11_MR2_chopin"
2251+ if library and self .minimalArchive ():
2252+ library += "_minimal"
2253+ return library
22412254
22422255 def daCapoIterations (self ):
22432256 iterations = _daCapoIterations .copy ()
0 commit comments