@@ -21,9 +21,11 @@ def load_query(qnum, fn):
2121 return mod .main
2222
2323
24- dask_qnums = [str (i ).zfill (2 ) for i in range (1 , 31 )]
25- sql_qnums = [str (i ).zfill (2 ) for i in range (1 , 31 )]
24+ dask_qnums = [str (i ).zfill (2 ) for i in map ( int , os . getenv ( "DASK_QNUMS" , " " . join ( map ( str , range (1 , 31 )))). split () )]
25+ sql_qnums = [str (i ).zfill (2 ) for i in map ( int , os . getenv ( "BSQL_QNUMS" , " " . join ( map ( str , range (1 , 31 )))). split () )]
2626
27+ from random import shuffle
28+ shuffle (dask_qnums )
2729
2830if __name__ == "__main__" :
2931 from bdb_tools .cluster_startup import attach_to_cluster , import_query_libs
@@ -32,6 +34,7 @@ def load_query(qnum, fn):
3234 import_query_libs ()
3335 config = gpubdb_argparser ()
3436 config ["run_id" ] = uuid .uuid4 ().hex
37+
3538 include_sql = config .get ("benchmark_runner_include_sql" )
3639
3740 dask_queries = {
@@ -44,13 +47,38 @@ def load_query(qnum, fn):
4447 qnum : load_query (qnum , f"queries/q{ qnum } /gpu_bdb_query_{ qnum } _dask_sql.py" )
4548 for qnum in sql_qnums
4649 }
50+ else :
51+ dask_queries = {
52+ qnum : load_query (qnum , f"queries/q{ qnum } /gpu_bdb_query_{ qnum } .py" )
53+ for qnum in dask_qnums
54+ }
4755
4856 client , c = attach_to_cluster (config , create_sql_context = include_sql )
4957 # Preload required libraries for queries on all workers
5058 client .run (import_query_libs )
5159
5260 base_path = os .getcwd ()
5361
62+ if config .get ('benchmark_runner_log_rmm' , False ) or config .get ('benchmark_runner_log_tasks' , False ):
63+
64+ from bdb_tools import RMMResourceMonitor
65+ from bdb_tools import DaskTaskLogger
66+
67+ rmm_analyzer = RMMResourceMonitor (client = client ,
68+ outputdir = os .getenv ('OUTPUT_DIR' , '/tmp' ))
69+ dasktasklog = DaskTaskLogger ( client = client ,
70+ outputdir = os .getenv ('OUTPUT_DIR' , '/tmp' ))
71+
72+ orig_run_query = run_query
73+ def logged_run_query ( * args , ** kwargs ):
74+ rmm_analyzer .begin_logging ( prefix = f"rmmlog{ qnum } " )
75+ dasktasklog .mark_begin ()
76+ orig_run_query ( * args , ** kwargs )
77+ rmm_analyzer .stop_logging ()
78+ dasktasklog .save_tasks ( prefix = f"dasktasklog{ qnum } " )
79+
80+ run_query = logged_run_query
81+
5482 # Run Dask SQL Queries
5583 if include_sql and len (sql_qnums ) > 0 :
5684 print ("Dask SQL Queries" )
@@ -95,3 +123,5 @@ def load_query(qnum, fn):
95123 client .run_on_scheduler (gc .collect )
96124 gc .collect ()
97125 time .sleep (3 )
126+
127+
0 commit comments