def METHOD_NAME(n, n_gpu):
    assert os.path.exists(student_files_dir+'/user_info.json')
    user_info = js.load(open(student_files_dir+'/user_info.json', 'r'))
    for i in range(len(user_info)):
        id = i % n
        ids = ''
        for j in range(n_gpu):
            if j > 0:
                ids+=','
            ids += str((i * n_gpu + j) % n)
        u = user_info[i]
        print('START', i, '/', len(user_info))
        assert 0 == run_cmd(f'docker run -itd --shm-size=8g --network host --name {u["name"]} -v {u["path"]}:/root --gpus \'"device={ids}"\' jittor/jittor-cuda bash')
        # assert 0 == run_cmd(f'docker exec -it {u["name"]} bash -c \'apt update && apt install openssh-server -y\'')
        assert 0 == run_cmd(f'docker cp {cwd}/setup.py {u["name"]}:/etc/ssh/setup.py')
        assert 0 == run_cmd(f'docker cp {cwd}/motd {u["name"]}:/etc/motd')
        assert 0 == run_cmd(f'docker exec -it {u["name"]} python3.7 /etc/ssh/setup.py passwd {u["passwd"]}')
        assert 0 == run_cmd(f'docker exec -it {u["name"]} python3.7 /etc/ssh/setup.py ssh {u["port"]}')
        assert 0 == run_cmd(f'docker exec -it {u["name"]} python3.7 -m pip install jittor -U')
        assert 0 == run_cmd(f'docker exec -it {u["name"]} python3.7 -m jittor.test.test_example')