def main():
    jobs_dir = os.path.join(SCRIPT_DIR, 'jobs')
    seed_rng = random.SystemRandom()

    if os.path.exists(jobs_dir):
        sys.stderr.write('{} already exists; aborting.\n'.format(jobs_dir))
        sys.exit(1)

    if not os.path.exists(SIM_DB_PATH):
        sys.stderr.write('simulations DB not present; aborting.\n')
        sys.exit(1)

    # Make sure uzal costfunc binary has been built
    sys.stderr.write('Ensuring costfunc binary has been built...\n')
    uzalcost.set_up_uzal_costfunc()

    with sqlite3.connect(SIM_DB_PATH) as db:
        for job_id, job_subdir, eps, beta00, sigma01, sd_proc, replicate_id, random_seed in db.execute(
                'SELECT * FROM job_info WHERE replicate_id < ?',
            [N_REPLICATES]):
            job_dir = os.path.join(SCRIPT_DIR, job_subdir)
            sys.stderr.write('{0}\n'.format(job_dir))
            os.makedirs(job_dir)

            runmany_info = OrderedDict(RUNMANY_INFO_TEMPLATE)
            runmany_info['simulation_job_id'] = job_id
            runmany_info['job_info'] = OrderedDict([
                ('eps', eps), ('beta00', beta00), ('sigma01', sigma01),
                ('sd_proc', sd_proc), ('replicate_id', replicate_id),
                ('random_seed', seed_rng.randint(1, 2**31 - 1))
            ])

            dump_json(runmany_info, os.path.join(job_dir, 'runmany_info.json'))
Beispiel #2
0
def main():
    jobs_dir = os.path.join(SCRIPT_DIR, 'jobs')
    seed_rng = random.SystemRandom()
    
    if os.path.exists(jobs_dir):
        sys.stderr.write('{} already exists; aborting.\n'.format(jobs_dir))
        sys.exit(1)
    
    if not os.path.exists(SIM_DB_PATH):
        sys.stderr.write('simulations DB not present; aborting.\n')
        sys.exit(1)
    
    # Make sure uzal costfunc binary has been built
    sys.stderr.write('Ensuring costfunc binary has been built...\n')
    uzalcost.set_up_uzal_costfunc()
    
    with sqlite3.connect(SIM_DB_PATH) as db:
        for job_id, job_subdir, eps, beta00, sigma01, sd_proc, replicate_id, random_seed in db.execute(
            'SELECT * FROM job_info WHERE replicate_id < ?', [N_REPLICATES]
        ):
            job_dir = os.path.join(SCRIPT_DIR, job_subdir)
            sys.stderr.write('{0}\n'.format(job_dir))
            os.makedirs(job_dir)
            
            runmany_info = OrderedDict(RUNMANY_INFO_TEMPLATE)
            runmany_info['simulation_job_id'] = job_id
            runmany_info['job_info'] = OrderedDict([
                ('eps', eps),
                ('beta00', beta00),
                ('sigma01', sigma01),
                ('sd_proc', sd_proc),
                ('replicate_id', replicate_id),
                ('random_seed', seed_rng.randint(1, 2**31-1))
            ])

            dump_json(runmany_info, os.path.join(job_dir, 'runmany_info.json'))