From f70e57ca72e983f27c4fdf53001f6da44e8be90b Mon Sep 17 00:00:00 2001 From: shaohuaz Date: Thu, 9 Aug 2018 16:18:00 +0800 Subject: [PATCH 1/2] Add interface to pass inter and intra parameters Signed-off-by: shaohuaz --- a3c.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/a3c.py b/a3c.py index 81b4c0b..504d91b 100644 --- a/a3c.py +++ b/a3c.py @@ -26,7 +26,13 @@ from constants import GRAD_NORM_CLIP from constants import USE_GPU from constants import USE_LSTM +from argparse import ArgumentParser +arg_parser = ArgumentParser(description='The launchpad for all performance scripts.') +arg_parser.add_argument('-ia', "--num_intra_threads", help='The intra size', type=int, dest="intra", default=56) +arg_parser.add_argument('-ie', "--num_inter_threads", help='The inter size', type=int, dest="inter", default=2) +intra = arg_parser.parse_args().intra +inter = arg_parser.parse_args().inter def log_uniform(lo, hi, rate): log_lo = math.log(lo) @@ -72,7 +78,8 @@ def log_uniform(lo, hi, rate): # prepare session sess = tf.Session(config=tf.ConfigProto(log_device_placement=False, - allow_soft_placement=True)) + allow_soft_placement=True, + intra_op_parallelism_threads=int(intra/PARALLEL_SIZE/2), inter_op_parallelism_threads=inter)) init = tf.global_variables_initializer() sess.run(init) From 191a1d110fba13c71fe3b88211f2df81690bbc5e Mon Sep 17 00:00:00 2001 From: shaohuaz Date: Thu, 9 Aug 2018 17:29:04 +0800 Subject: [PATCH 2/2] Make inter and intra default value 0 Signed-off-by: shaohuaz --- a3c.py | 4 ++-- a3c_display.py | 13 +++++++++++-- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/a3c.py b/a3c.py index 504d91b..0d25f9c 100644 --- a/a3c.py +++ b/a3c.py @@ -29,8 +29,8 @@ from argparse import ArgumentParser arg_parser = ArgumentParser(description='The launchpad for all performance scripts.') -arg_parser.add_argument('-ia', "--num_intra_threads", help='The intra size', type=int, dest="intra", default=56) -arg_parser.add_argument('-ie', "--num_inter_threads", help='The inter size', type=int, dest="inter", default=2) +arg_parser.add_argument('-ia', "--num_intra_threads", help='The intra size', type=int, dest="intra", default=0) +arg_parser.add_argument('-ie', "--num_inter_threads", help='The inter size', type=int, dest="inter", default=0) intra = arg_parser.parse_args().intra inter = arg_parser.parse_args().inter diff --git a/a3c_display.py b/a3c_display.py index f296762..46ce6e4 100644 --- a/a3c_display.py +++ b/a3c_display.py @@ -16,6 +16,13 @@ from constants import GRAD_NORM_CLIP from constants import USE_GPU from constants import USE_LSTM +from argparse import ArgumentParser + +arg_parser = ArgumentParser(description='The launchpad for all performance scripts.') +arg_parser.add_argument('-ia', "--num_intra_threads", help='The intra size', type=int, dest="intra", default=0) +arg_parser.add_argument('-ie', "--num_inter_threads", help='The inter size', type=int, dest="inter", default=0) +intra = arg_parser.parse_args().intra +inter = arg_parser.parse_args().inter def choose_action(pi_values): return np.random.choice(range(len(pi_values)), p=pi_values) @@ -36,8 +43,10 @@ def choose_action(pi_values): epsilon = RMSP_EPSILON, clip_norm = GRAD_NORM_CLIP, device = device) - -sess = tf.Session() +config = tf.ConfigProto(allow_soft_placement=True, + intra_op_parallelism_threads=intra,inter_op_parallelism_threads=inter) +sess = tf.Session(config=config) +# sess = tf.Session() init = tf.global_variables_initializer() sess.run(init)