#集群 #阳光 #并行性 #线程 #SGE

son_of_grid_engine

与子网格引擎(前身为阳光网格引擎)接口,以便在集群上运行 Rust 程序

3 个版本 (重大变更)

使用旧的 Rust 2015

0.2.0 2018 年 2 月 16 日
0.1.0 2017 年 12 月 27 日
0.0.1 2017 年 12 月 26 日

#1021 in 并发

MIT/Apache

18KB
394

子网格引擎 (SGE)

Travis Build Status

示例

交互模式(测试)

$ cargo run --example print

SystemInfo {
    cpus: [],
    scratch_path: "/tmp",
    queue_name: "",
    job_type: Interactive
}

使用 -pe multicore 16 的批处理模式

$ qsub -pe multicore 16 -l h_vmem=25G ~/sge_example_print.sh

SystemInfo {
    cpus: [
        0,
        1,
        2,
        3,
        4,
        5,
        6,
        7,
        8,
        9,
        10,
        11,
        12,
        13,
        14,
        15,
        20,
        21,
        22,
        23,
        24,
        25,
        26,
        27,
        28,
        29,
        30,
        31,
        32,
        33,
        34,
        35
    ],
    scratch_path: "/scratch/sge/tmp/184868.1.hmem.q/mcr_cache",
    queue_name: "hmem.q",
    job_type: Batch
}

使用 -t 97-128 的数组模式

$ qsub -t 97-128 -l h_vmem=2G ~/sge_example_print.sh

SystemInfo {
    cpus: [
        15,
        31
    ],
    scratch_path: "/scratch/sge/tmp/184858.100.array.q/mcr_cache",
    queue_name: "array.q",
    job_type: Array {
        id: 100,
        first: 97,
        last: 128,
        step_size: 1
    }
}

测试

测试数组模式

RUST_BACKTRACE=1 ENVIRONMENT=BATCH SGE_TASK_ID=42 SGE_TASK_FIRST=42 SGE_TASK_LAST=46 SGE_TASK_STEPSIZE=1 cargo run --example print

依赖关系

~390–630KB