diff --git a/LTA_openwebtext_dualt/logs/lm1b_len128_lognormal_atoms_sde_watch/infer_lta_lm1b_classic_c1024_len128_lognormalatoms_gbs512_4gpu_20260522_step_0037000_logistic_normal_t1p45.log b/LTA_openwebtext_dualt/logs/lm1b_len128_lognormal_atoms_sde_watch/infer_lta_lm1b_classic_c1024_len128_lognormalatoms_gbs512_4gpu_20260522_step_0037000_logistic_normal_t1p45.log new file mode 100644 index 0000000000000000000000000000000000000000..3c07c25cc927adf16ce2de9f25177d78ded2a2cc --- /dev/null +++ b/LTA_openwebtext_dualt/logs/lm1b_len128_lognormal_atoms_sde_watch/infer_lta_lm1b_classic_c1024_len128_lognormalatoms_gbs512_4gpu_20260522_step_0037000_logistic_normal_t1p45.log @@ -0,0 +1,76 @@ +[watch-lognormal-sde] 2026-05-23_02:01:03 infer runs/lta_lm1b_classic_c1024_len128_lognormalatoms_gbs512_4gpu_20260522/step_0037000.pt -> docs/lta_samples/metrics_20260522/lm1b_len128_lognormal_atoms_every1k_logistic_normal_sde_t1p45_steps128_n256/lta_lm1b_classic_c1024_len128_lognormalatoms_gbs512_4gpu_20260522/step_0037000 +[load] runs/lta_lm1b_classic_c1024_len128_lognormalatoms_gbs512_4gpu_20260522/step_0037000.pt +[ckpt] step=37000 +[sde] generated 16/256 +[sde] generated 32/256 +[sde] generated 48/256 +[sde] generated 64/256 +[sde] generated 80/256 +[sde] generated 96/256 +[sde] generated 112/256 +[sde] generated 128/256 +[sde] generated 144/256 +[sde] generated 160/256 +[sde] generated 176/256 +[sde] generated 192/256 +[sde] generated 208/256 +[sde] generated 224/256 +[sde] generated 240/256 +[sde] generated 256/256 +[score] loading scorer: /e2e-data/evad-tech-vla/wanghan58/models/flowtext_scorers/gpt2-large-standard +[summary] { + "type": "summary", + "checkpoint": "runs/lta_lm1b_classic_c1024_len128_lognormalatoms_gbs512_4gpu_20260522/step_0037000.pt", + "step": 37000, + "decode": { + "decode_rule": "logistic_normal_resample_sde", + "steps": 128, + "model_t_mode": "const0.5", + "mean_mode": "anchor_semantic", + "endpoint_floor": 0.0, + "concentration_min": 1.0, + "concentration_max": 1024.0, + "endpoint_temp": 1.45, + "support_power": 1.0, + "semantic_power": 1.0, + "noise_init": "logistic_normal", + "noise_sigma": 3.0, + "noise_dirichlet_concentration": 1.0, + "sde_resample": "logistic_normal", + "logistic_normal_sigma_min": 0.18, + "logistic_normal_sigma_max": 3.0, + "logistic_normal_tau_min": 0.65, + "logistic_normal_tau_max": 1.0, + "final_from": "blend_0.5", + "n_samples": 256, + "seed": 20260522 + }, + "raw_genppl": { + "ppl": 37.067606022965414, + "nll_per_token": 3.6127434351734498, + "tokens": 30524, + "kept_samples": 256, + "total_samples": 256, + "empty_rate": 0.0, + "skipped_samples": 0 + }, + "stripped_genppl": { + "ppl": 48.49552325374488, + "nll_per_token": 3.8814714896366596, + "tokens": 25687, + "kept_samples": 256, + "total_samples": 256, + "empty_rate": 0.0, + "skipped_samples": 0 + }, + "diversity": { + "sample_entropy": 3.1397080459572364, + "unique_tokens": 1860, + "token_count": 32768, + "distinct_1": 0.0567626953125, + "distinct_2": 0.2785740649606299, + "top_token_mass": 0.2530517578125 + } +} +[done] docs/lta_samples/metrics_20260522/lm1b_len128_lognormal_atoms_every1k_logistic_normal_sde_t1p45_steps128_n256/lta_lm1b_classic_c1024_len128_lognormalatoms_gbs512_4gpu_20260522/step_0037000/sde_steps128_samples256_scored.jsonl +[watch-lognormal-sde] 2026-05-23_02:02:31 done step_0037000 diff --git a/LTA_openwebtext_dualt/logs/lm1b_len128_lognormal_atoms_sde_watch/infer_lta_lm1b_classic_c1024_len128_lognormalatoms_gbs512_4gpu_20260522_step_0055000_logistic_normal_t1p45.log b/LTA_openwebtext_dualt/logs/lm1b_len128_lognormal_atoms_sde_watch/infer_lta_lm1b_classic_c1024_len128_lognormalatoms_gbs512_4gpu_20260522_step_0055000_logistic_normal_t1p45.log new file mode 100644 index 0000000000000000000000000000000000000000..ff0467e72aa47eedcd3f86c42bde000a899d8a11 --- /dev/null +++ b/LTA_openwebtext_dualt/logs/lm1b_len128_lognormal_atoms_sde_watch/infer_lta_lm1b_classic_c1024_len128_lognormalatoms_gbs512_4gpu_20260522_step_0055000_logistic_normal_t1p45.log @@ -0,0 +1,76 @@ +[watch-lognormal-sde] 2026-05-23_03:41:01 infer runs/lta_lm1b_classic_c1024_len128_lognormalatoms_gbs512_4gpu_20260522/step_0055000.pt -> docs/lta_samples/metrics_20260522/lm1b_len128_lognormal_atoms_every1k_logistic_normal_sde_t1p45_steps128_n256/lta_lm1b_classic_c1024_len128_lognormalatoms_gbs512_4gpu_20260522/step_0055000 +[load] runs/lta_lm1b_classic_c1024_len128_lognormalatoms_gbs512_4gpu_20260522/step_0055000.pt +[ckpt] step=55000 +[sde] generated 16/256 +[sde] generated 32/256 +[sde] generated 48/256 +[sde] generated 64/256 +[sde] generated 80/256 +[sde] generated 96/256 +[sde] generated 112/256 +[sde] generated 128/256 +[sde] generated 144/256 +[sde] generated 160/256 +[sde] generated 176/256 +[sde] generated 192/256 +[sde] generated 208/256 +[sde] generated 224/256 +[sde] generated 240/256 +[sde] generated 256/256 +[score] loading scorer: /e2e-data/evad-tech-vla/wanghan58/models/flowtext_scorers/gpt2-large-standard +[summary] { + "type": "summary", + "checkpoint": "runs/lta_lm1b_classic_c1024_len128_lognormalatoms_gbs512_4gpu_20260522/step_0055000.pt", + "step": 55000, + "decode": { + "decode_rule": "logistic_normal_resample_sde", + "steps": 128, + "model_t_mode": "const0.5", + "mean_mode": "anchor_semantic", + "endpoint_floor": 0.0, + "concentration_min": 1.0, + "concentration_max": 1024.0, + "endpoint_temp": 1.45, + "support_power": 1.0, + "semantic_power": 1.0, + "noise_init": "logistic_normal", + "noise_sigma": 3.0, + "noise_dirichlet_concentration": 1.0, + "sde_resample": "logistic_normal", + "logistic_normal_sigma_min": 0.18, + "logistic_normal_sigma_max": 3.0, + "logistic_normal_tau_min": 0.65, + "logistic_normal_tau_max": 1.0, + "final_from": "blend_0.5", + "n_samples": 256, + "seed": 20260522 + }, + "raw_genppl": { + "ppl": 20.48864099827913, + "nll_per_token": 3.0198706349306113, + "tokens": 31075, + "kept_samples": 256, + "total_samples": 256, + "empty_rate": 0.0, + "skipped_samples": 0 + }, + "stripped_genppl": { + "ppl": 20.39658888593573, + "nll_per_token": 3.015367675395035, + "tokens": 27814, + "kept_samples": 256, + "total_samples": 256, + "empty_rate": 0.0, + "skipped_samples": 0 + }, + "diversity": { + "sample_entropy": 2.5694837759949234, + "unique_tokens": 1321, + "token_count": 32768, + "distinct_1": 0.040313720703125, + "distinct_2": 0.19725024606299213, + "top_token_mass": 0.27593994140625 + } +} +[done] docs/lta_samples/metrics_20260522/lm1b_len128_lognormal_atoms_every1k_logistic_normal_sde_t1p45_steps128_n256/lta_lm1b_classic_c1024_len128_lognormalatoms_gbs512_4gpu_20260522/step_0055000/sde_steps128_samples256_scored.jsonl +[watch-lognormal-sde] 2026-05-23_03:42:28 done step_0055000 diff --git a/LTA_openwebtext_dualt/mini_owt_fit/logs/mini_owt_fit_bert_len1024_C1_to_1024_absrope_time4_d768_l12_h12_full_gbs512_8gpu_20260526_151837.log b/LTA_openwebtext_dualt/mini_owt_fit/logs/mini_owt_fit_bert_len1024_C1_to_1024_absrope_time4_d768_l12_h12_full_gbs512_8gpu_20260526_151837.log new file mode 100644 index 0000000000000000000000000000000000000000..49d82a294ee0f10a8d010ac7b03267a9a5ba7adc --- /dev/null +++ b/LTA_openwebtext_dualt/mini_owt_fit/logs/mini_owt_fit_bert_len1024_C1_to_1024_absrope_time4_d768_l12_h12_full_gbs512_8gpu_20260526_151837.log @@ -0,0 +1,48 @@ +W0526 15:18:38.686000 10232 torch/distributed/run.py:792] +W0526 15:18:38.686000 10232 torch/distributed/run.py:792] ***************************************** +W0526 15:18:38.686000 10232 torch/distributed/run.py:792] Setting OMP_NUM_THREADS environment variable for each process to be 1 in default, to avoid your system being overloaded, please further tune the variable for optimal performance in your application as needed. +W0526 15:18:38.686000 10232 torch/distributed/run.py:792] ***************************************** +skipping len=623 text='WHAT?!??! I know. That’s what you’re saying right ' +skipping len=767 text='A notorious protester convicted of wilfully promot' +skipping len=476 text='× Some Seattle businesses closed for ‘A Day Withou' +skipping len=610 text='Today, Toyota announced changes in executives’ are' +skipping len=844 text='North Korean leader Kim Jong Un. AP Images / Busin' +skipping len=1015 text='We’ve always pictured Scandinavia as the home of g' +skipping len=177 text="Story highlights Tyka Nelson says her brother's fa" +skipping len=250 text='There’s measuring the drapes, and then there’s mea' +skipping len=530 text='Attention! This news was published on the old vers' +skipping len=591 text='Ad blockers are often painted as the enemy of onli' +skipping len=362 text='Get cool in-game extras with amiibo accessories! J' +skipping len=254 text='Stanley “Boom” Williams decided to enter the 2017 ' +skipping len=566 text='About This Game Casino Blackjack 21 with a TWIST!!' +skipping len=589 text='F ancy cars have always been an important element ' +skipping len=386 text='Refined mansion tax proposal being fed into debate' +skipping len=826 text='CHICAGO (STMW) — Three people were killed and at l' +skipping len=980 text='SAN FRANCISCO – A new edition of an international ' +skipping len=311 text="Winter isn't done with us yet.\\n\\nOttawa can expect " +skipping len=943 text='The Ice Light is “a portable, dimmable, daylight b' +skipping len=188 text='A Wall Street sign is displayed in front of the Ne' +[data] seen=10000 kept=3124 dropped=6876 +[data] seen=20000 kept=6318 dropped=13682 +[data] seen=30000 kept=9522 dropped=20478 +[data] seen=40000 kept=12678 dropped=27322 +[data] seen=50000 kept=15884 dropped=34116 +[data] seen=60000 kept=19035 dropped=40965 +[data] seen=70000 kept=22161 dropped=47839 +[data] seen=80000 kept=25353 dropped=54647 +[data] seen=90000 kept=28533 dropped=61467 +[data] seen=100000 kept=31656 dropped=68344 +[data] seen=110000 kept=34893 dropped=75107 +[data] seen=120000 kept=38138 dropped=81862 +[data] seen=130000 kept=41380 dropped=88620 +[data] seen=140000 kept=44554 dropped=95446 +[data] seen=150000 kept=47806 dropped=102194 +[data] seen=160000 kept=51016 dropped=108984 +[data] seen=170000 kept=54156 dropped=115844 +[data] seen=180000 kept=57380 dropped=122620 +[data] seen=190000 kept=60576 dropped=129424 +[data] seen=200000 kept=63722 dropped=136278 +[data] seen=210000 kept=66866 dropped=143134 +[data] seen=220000 kept=70014 dropped=149986 +[data] seen=230000 kept=73202 dropped=156798 +[data] seen=240000 kept=76353 dropped=163647 diff --git a/LTA_openwebtext_dualt/mini_owt_fit/logs/mini_owt_fit_t5_bernoulliwrong_len1024_bos_eos_C1_to_1024_absrope_time4_d768_l12_h12_native_nofloor_full_gbs512_8gpu_20260527_081554.log b/LTA_openwebtext_dualt/mini_owt_fit/logs/mini_owt_fit_t5_bernoulliwrong_len1024_bos_eos_C1_to_1024_absrope_time4_d768_l12_h12_native_nofloor_full_gbs512_8gpu_20260527_081554.log new file mode 100644 index 0000000000000000000000000000000000000000..343415dbea1968d0a43a93a4154be7a3b0a6790d --- /dev/null +++ b/LTA_openwebtext_dualt/mini_owt_fit/logs/mini_owt_fit_t5_bernoulliwrong_len1024_bos_eos_C1_to_1024_absrope_time4_d768_l12_h12_native_nofloor_full_gbs512_8gpu_20260527_081554.log @@ -0,0 +1,955 @@ +W0527 08:15:55.471000 35465 torch/distributed/run.py:792] +W0527 08:15:55.471000 35465 torch/distributed/run.py:792] ***************************************** +W0527 08:15:55.471000 35465 torch/distributed/run.py:792] Setting OMP_NUM_THREADS environment variable for each process to be 1 in default, to avoid your system being overloaded, please further tune the variable for optimal performance in your application as needed. +W0527 08:15:55.471000 35465 torch/distributed/run.py:792] ***************************************** +[W527 08:15:59.342922244 socket.cpp:202] [c10d] The hostname of the client socket cannot be retrieved. err=-3 +[W527 08:16:00.628679405 socket.cpp:202] [c10d] The hostname of the client socket cannot be retrieved. err=-3 +[W527 08:16:00.632219160 socket.cpp:202] [c10d] The hostname of the client socket cannot be retrieved. err=-3 +[W527 08:16:00.691334349 socket.cpp:202] [c10d] The hostname of the client socket cannot be retrieved. err=-3 +[W527 08:16:00.696153684 socket.cpp:202] [c10d] The hostname of the client socket cannot be retrieved. err=-3 +[W527 08:16:00.703716675 socket.cpp:202] [c10d] The hostname of the client socket cannot be retrieved. err=-3 +[W527 08:16:00.767517930 socket.cpp:202] [c10d] The hostname of the client socket cannot be retrieved. err=-3 +[W527 08:16:00.863056916 socket.cpp:202] [c10d] The hostname of the client socket cannot be retrieved. err=-3 +[W527 08:16:00.873800944 socket.cpp:202] [c10d] The hostname of the client socket cannot be retrieved. err=-3 +[rank3]:[W527 08:16:03.193162427 ProcessGroupNCCL.cpp:4571] [PG ID 0 PG GUID 0 Rank 3] using GPU 3 to perform barrier as devices used by this process are currently unknown. This can potentially cause a hang if this rank to GPU mapping is incorrect. Specify device_ids in barrier() to force use of a particular device, or call init_process_group() with a device_id. +[rank1]:[W527 08:16:03.224339663 ProcessGroupNCCL.cpp:4571] [PG ID 0 PG GUID 0 Rank 1] using GPU 1 to perform barrier as devices used by this process are currently unknown. This can potentially cause a hang if this rank to GPU mapping is incorrect. Specify device_ids in barrier() to force use of a particular device, or call init_process_group() with a device_id. +[rank6]:[W527 08:16:03.245566741 ProcessGroupNCCL.cpp:4571] [PG ID 0 PG GUID 0 Rank 6] using GPU 6 to perform barrier as devices used by this process are currently unknown. This can potentially cause a hang if this rank to GPU mapping is incorrect. Specify device_ids in barrier() to force use of a particular device, or call init_process_group() with a device_id. +[rank4]:[W527 08:16:03.333757025 ProcessGroupNCCL.cpp:4571] [PG ID 0 PG GUID 0 Rank 4] using GPU 4 to perform barrier as devices used by this process are currently unknown. This can potentially cause a hang if this rank to GPU mapping is incorrect. Specify device_ids in barrier() to force use of a particular device, or call init_process_group() with a device_id. +[rank2]:[W527 08:16:03.361309743 ProcessGroupNCCL.cpp:4571] [PG ID 0 PG GUID 0 Rank 2] using GPU 2 to perform barrier as devices used by this process are currently unknown. This can potentially cause a hang if this rank to GPU mapping is incorrect. Specify device_ids in barrier() to force use of a particular device, or call init_process_group() with a device_id. +[rank7]:[W527 08:16:03.381217358 ProcessGroupNCCL.cpp:4571] [PG ID 0 PG GUID 0 Rank 7] using GPU 7 to perform barrier as devices used by this process are currently unknown. This can potentially cause a hang if this rank to GPU mapping is incorrect. Specify device_ids in barrier() to force use of a particular device, or call init_process_group() with a device_id. +[rank5]:[W527 08:16:03.382922072 ProcessGroupNCCL.cpp:4571] [PG ID 0 PG GUID 0 Rank 5] using GPU 5 to perform barrier as devices used by this process are currently unknown. This can potentially cause a hang if this rank to GPU mapping is incorrect. Specify device_ids in barrier() to force use of a particular device, or call init_process_group() with a device_id. +[data] loaded_cache=cache/owt_t5_payload1022_appendeos1.pt seen=8013769 kept=2860537 dropped=5153232 +[rank0]:[W527 08:16:08.630802188 ProcessGroupNCCL.cpp:4571] [PG ID 0 PG GUID 0 Rank 0] using GPU 0 to perform barrier as devices used by this process are currently unknown. This can potentially cause a hang if this rank to GPU mapping is incorrect. Specify device_ids in barrier() to force use of a particular device, or call init_process_group() with a device_id. +t-20260527143420-qx7hv-worker-0:35556:35556 [0] NCCL INFO NCCL_SOCKET_IFNAME set by environment to eth1 +t-20260527143420-qx7hv-worker-0:35556:35556 [0] NCCL INFO Bootstrap: Using eth1:10.82.32.87<0> +t-20260527143420-qx7hv-worker-0:35556:35556 [0] NCCL INFO cudaDriverVersion 12080 +t-20260527143420-qx7hv-worker-0:35556:35556 [0] NCCL INFO NCCL version 2.25.1+cuda12.8 +t-20260527143420-qx7hv-worker-0:35556:35556 [0] NCCL INFO Comm config Blocking set to 1 +t-20260527143420-qx7hv-worker-0:35557:35557 [1] NCCL INFO cudaDriverVersion 12080 +t-20260527143420-qx7hv-worker-0:35557:35557 [1] NCCL INFO NCCL_SOCKET_IFNAME set by environment to eth1 +t-20260527143420-qx7hv-worker-0:35557:35557 [1] NCCL INFO Bootstrap: Using eth1:10.82.32.87<0> +t-20260527143420-qx7hv-worker-0:35557:35557 [1] NCCL INFO NCCL version 2.25.1+cuda12.8 +t-20260527143420-qx7hv-worker-0:35557:35557 [1] NCCL INFO Comm config Blocking set to 1 +t-20260527143420-qx7hv-worker-0:35558:35558 [2] NCCL INFO cudaDriverVersion 12080 +t-20260527143420-qx7hv-worker-0:35558:35558 [2] NCCL INFO NCCL_SOCKET_IFNAME set by environment to eth1 +t-20260527143420-qx7hv-worker-0:35558:35558 [2] NCCL INFO Bootstrap: Using eth1:10.82.32.87<0> +t-20260527143420-qx7hv-worker-0:35558:35558 [2] NCCL INFO NCCL version 2.25.1+cuda12.8 +t-20260527143420-qx7hv-worker-0:35563:35563 [7] NCCL INFO cudaDriverVersion 12080 +t-20260527143420-qx7hv-worker-0:35563:35563 [7] NCCL INFO NCCL_SOCKET_IFNAME set by environment to eth1 +t-20260527143420-qx7hv-worker-0:35561:35561 [5] NCCL INFO cudaDriverVersion 12080 +t-20260527143420-qx7hv-worker-0:35561:35561 [5] NCCL INFO NCCL_SOCKET_IFNAME set by environment to eth1 +t-20260527143420-qx7hv-worker-0:35562:35562 [6] NCCL INFO cudaDriverVersion 12080 +t-20260527143420-qx7hv-worker-0:35562:35562 [6] NCCL INFO NCCL_SOCKET_IFNAME set by environment to eth1 +t-20260527143420-qx7hv-worker-0:35558:35558 [2] NCCL INFO Comm config Blocking set to 1 +t-20260527143420-qx7hv-worker-0:35560:35560 [4] NCCL INFO cudaDriverVersion 12080 +t-20260527143420-qx7hv-worker-0:35560:35560 [4] NCCL INFO NCCL_SOCKET_IFNAME set by environment to eth1 +t-20260527143420-qx7hv-worker-0:35563:35563 [7] NCCL INFO Bootstrap: Using eth1:10.82.32.87<0> +t-20260527143420-qx7hv-worker-0:35563:35563 [7] NCCL INFO NCCL version 2.25.1+cuda12.8 +t-20260527143420-qx7hv-worker-0:35561:35561 [5] NCCL INFO Bootstrap: Using eth1:10.82.32.87<0> +t-20260527143420-qx7hv-worker-0:35561:35561 [5] NCCL INFO NCCL version 2.25.1+cuda12.8 +t-20260527143420-qx7hv-worker-0:35562:35562 [6] NCCL INFO Bootstrap: Using eth1:10.82.32.87<0> +t-20260527143420-qx7hv-worker-0:35559:35559 [3] NCCL INFO cudaDriverVersion 12080 +t-20260527143420-qx7hv-worker-0:35562:35562 [6] NCCL INFO NCCL version 2.25.1+cuda12.8 +t-20260527143420-qx7hv-worker-0:35559:35559 [3] NCCL INFO NCCL_SOCKET_IFNAME set by environment to eth1 +t-20260527143420-qx7hv-worker-0:35560:35560 [4] NCCL INFO Bootstrap: Using eth1:10.82.32.87<0> +t-20260527143420-qx7hv-worker-0:35560:35560 [4] NCCL INFO NCCL version 2.25.1+cuda12.8 +t-20260527143420-qx7hv-worker-0:35559:35559 [3] NCCL INFO Bootstrap: Using eth1:10.82.32.87<0> +t-20260527143420-qx7hv-worker-0:35559:35559 [3] NCCL INFO NCCL version 2.25.1+cuda12.8 +t-20260527143420-qx7hv-worker-0:35563:35563 [7] NCCL INFO Comm config Blocking set to 1 +t-20260527143420-qx7hv-worker-0:35561:35561 [5] NCCL INFO Comm config Blocking set to 1 +t-20260527143420-qx7hv-worker-0:35562:35562 [6] NCCL INFO Comm config Blocking set to 1 +t-20260527143420-qx7hv-worker-0:35560:35560 [4] NCCL INFO Comm config Blocking set to 1 +t-20260527143420-qx7hv-worker-0:35559:35559 [3] NCCL INFO Comm config Blocking set to 1 +t-20260527143420-qx7hv-worker-0:35556:35652 [0] NCCL INFO NET/Plugin: Loaded net plugin NCCL RDMA Plugin v9 (v9) +t-20260527143420-qx7hv-worker-0:35556:35652 [0] NCCL INFO NET/Plugin: Loaded collnet plugin SHARP (v9) +t-20260527143420-qx7hv-worker-0:35556:35652 [0] NCCL INFO Plugin Path : /opt/hpcx/nccl_rdma_sharp_plugin/lib/libnccl-net.so +t-20260527143420-qx7hv-worker-0:35556:35652 [0] NCCL INFO P2P plugin v9 IBext_v9 +t-20260527143420-qx7hv-worker-0:35556:35652 [0] NCCL INFO NCCL_SOCKET_IFNAME set by environment to eth1 +t-20260527143420-qx7hv-worker-0:35557:35653 [1] NCCL INFO NET/Plugin: Loaded net plugin NCCL RDMA Plugin v9 (v9) +t-20260527143420-qx7hv-worker-0:35557:35653 [1] NCCL INFO NET/Plugin: Loaded collnet plugin SHARP (v9) +t-20260527143420-qx7hv-worker-0:35557:35653 [1] NCCL INFO Plugin Path : /opt/hpcx/nccl_rdma_sharp_plugin/lib/libnccl-net.so +t-20260527143420-qx7hv-worker-0:35557:35653 [1] NCCL INFO P2P plugin v9 IBext_v9 +t-20260527143420-qx7hv-worker-0:35557:35653 [1] NCCL INFO NCCL_SOCKET_IFNAME set by environment to eth1 +t-20260527143420-qx7hv-worker-0:35558:35654 [2] NCCL INFO NET/Plugin: Loaded net plugin NCCL RDMA Plugin v9 (v9) +t-20260527143420-qx7hv-worker-0:35558:35654 [2] NCCL INFO NET/Plugin: Loaded collnet plugin SHARP (v9) +t-20260527143420-qx7hv-worker-0:35558:35654 [2] NCCL INFO Plugin Path : /opt/hpcx/nccl_rdma_sharp_plugin/lib/libnccl-net.so +t-20260527143420-qx7hv-worker-0:35558:35654 [2] NCCL INFO P2P plugin v9 IBext_v9 +t-20260527143420-qx7hv-worker-0:35558:35654 [2] NCCL INFO NCCL_SOCKET_IFNAME set by environment to eth1 +t-20260527143420-qx7hv-worker-0:35559:35659 [3] NCCL INFO NET/Plugin: Loaded net plugin NCCL RDMA Plugin v9 (v9) +t-20260527143420-qx7hv-worker-0:35563:35655 [7] NCCL INFO NET/Plugin: Loaded net plugin NCCL RDMA Plugin v9 (v9) +t-20260527143420-qx7hv-worker-0:35563:35655 [7] NCCL INFO NET/Plugin: Loaded collnet plugin SHARP (v9) +t-20260527143420-qx7hv-worker-0:35559:35659 [3] NCCL INFO NET/Plugin: Loaded collnet plugin SHARP (v9) +t-20260527143420-qx7hv-worker-0:35559:35659 [3] NCCL INFO Plugin Path : /opt/hpcx/nccl_rdma_sharp_plugin/lib/libnccl-net.so +t-20260527143420-qx7hv-worker-0:35563:35655 [7] NCCL INFO Plugin Path : /opt/hpcx/nccl_rdma_sharp_plugin/lib/libnccl-net.so +t-20260527143420-qx7hv-worker-0:35559:35659 [3] NCCL INFO P2P plugin v9 IBext_v9 +t-20260527143420-qx7hv-worker-0:35563:35655 [7] NCCL INFO P2P plugin v9 IBext_v9 +t-20260527143420-qx7hv-worker-0:35559:35659 [3] NCCL INFO NCCL_SOCKET_IFNAME set by environment to eth1 +t-20260527143420-qx7hv-worker-0:35563:35655 [7] NCCL INFO NCCL_SOCKET_IFNAME set by environment to eth1 +t-20260527143420-qx7hv-worker-0:35560:35658 [4] NCCL INFO NET/Plugin: Loaded net plugin NCCL RDMA Plugin v9 (v9) +t-20260527143420-qx7hv-worker-0:35560:35658 [4] NCCL INFO NET/Plugin: Loaded collnet plugin SHARP (v9) +t-20260527143420-qx7hv-worker-0:35560:35658 [4] NCCL INFO Plugin Path : /opt/hpcx/nccl_rdma_sharp_plugin/lib/libnccl-net.so +t-20260527143420-qx7hv-worker-0:35560:35658 [4] NCCL INFO P2P plugin v9 IBext_v9 +t-20260527143420-qx7hv-worker-0:35560:35658 [4] NCCL INFO NCCL_SOCKET_IFNAME set by environment to eth1 +t-20260527143420-qx7hv-worker-0:35562:35657 [6] NCCL INFO NET/Plugin: Loaded net plugin NCCL RDMA Plugin v9 (v9) +t-20260527143420-qx7hv-worker-0:35562:35657 [6] NCCL INFO NET/Plugin: Loaded collnet plugin SHARP (v9) +t-20260527143420-qx7hv-worker-0:35562:35657 [6] NCCL INFO Plugin Path : /opt/hpcx/nccl_rdma_sharp_plugin/lib/libnccl-net.so +t-20260527143420-qx7hv-worker-0:35562:35657 [6] NCCL INFO P2P plugin v9 IBext_v9 +t-20260527143420-qx7hv-worker-0:35562:35657 [6] NCCL INFO NCCL_SOCKET_IFNAME set by environment to eth1 +t-20260527143420-qx7hv-worker-0:35561:35656 [5] NCCL INFO NET/Plugin: Loaded net plugin NCCL RDMA Plugin v9 (v9) +t-20260527143420-qx7hv-worker-0:35561:35656 [5] NCCL INFO NET/Plugin: Loaded collnet plugin SHARP (v9) +t-20260527143420-qx7hv-worker-0:35561:35656 [5] NCCL INFO Plugin Path : /opt/hpcx/nccl_rdma_sharp_plugin/lib/libnccl-net.so +t-20260527143420-qx7hv-worker-0:35561:35656 [5] NCCL INFO P2P plugin v9 IBext_v9 +t-20260527143420-qx7hv-worker-0:35561:35656 [5] NCCL INFO NCCL_SOCKET_IFNAME set by environment to eth1 +t-20260527143420-qx7hv-worker-0:35556:35652 [0] NCCL INFO NCCL_IB_PCI_RELAXED_ORDERING set by environment to 1. +t-20260527143420-qx7hv-worker-0:35556:35652 [0] NCCL INFO NET/IB : Using [0]mlx5_1:1/RoCE [1]mlx5_4:1/RoCE [2]mlx5_5:1/RoCE [3]mlx5_6:1/RoCE [4]mlx5_7:1/RoCE [5]mlx5_8:1/RoCE [6]mlx5_9:1/RoCE [7]mlx5_10:1/RoCE [RO]; OOB eth1:10.82.32.87<0> +t-20260527143420-qx7hv-worker-0:35556:35652 [0] NCCL INFO PROFILER/Plugin: Could not find: libnccl-profiler.so. +t-20260527143420-qx7hv-worker-0:35556:35652 [0] NCCL INFO Using network IBext_v9 +t-20260527143420-qx7hv-worker-0:35557:35653 [1] NCCL INFO NCCL_IB_PCI_RELAXED_ORDERING set by environment to 1. +t-20260527143420-qx7hv-worker-0:35557:35653 [1] NCCL INFO NET/IB : Using [0]mlx5_1:1/RoCE [1]mlx5_4:1/RoCE [2]mlx5_5:1/RoCE [3]mlx5_6:1/RoCE [4]mlx5_7:1/RoCE [5]mlx5_8:1/RoCE [6]mlx5_9:1/RoCE [7]mlx5_10:1/RoCE [RO]; OOB eth1:10.82.32.87<0> +t-20260527143420-qx7hv-worker-0:35557:35653 [1] NCCL INFO PROFILER/Plugin: Could not find: libnccl-profiler.so. +t-20260527143420-qx7hv-worker-0:35557:35653 [1] NCCL INFO Using network IBext_v9 +t-20260527143420-qx7hv-worker-0:35558:35654 [2] NCCL INFO NCCL_IB_PCI_RELAXED_ORDERING set by environment to 1. +t-20260527143420-qx7hv-worker-0:35558:35654 [2] NCCL INFO NET/IB : Using [0]mlx5_1:1/RoCE [1]mlx5_4:1/RoCE [2]mlx5_5:1/RoCE [3]mlx5_6:1/RoCE [4]mlx5_7:1/RoCE [5]mlx5_8:1/RoCE [6]mlx5_9:1/RoCE [7]mlx5_10:1/RoCE [RO]; OOB eth1:10.82.32.87<0> +t-20260527143420-qx7hv-worker-0:35558:35654 [2] NCCL INFO PROFILER/Plugin: Could not find: libnccl-profiler.so. +t-20260527143420-qx7hv-worker-0:35558:35654 [2] NCCL INFO Using network IBext_v9 +t-20260527143420-qx7hv-worker-0:35560:35658 [4] NCCL INFO NCCL_IB_PCI_RELAXED_ORDERING set by environment to 1. +t-20260527143420-qx7hv-worker-0:35560:35658 [4] NCCL INFO NET/IB : Using [0]mlx5_1:1/RoCE [1]mlx5_4:1/RoCE [2]mlx5_5:1/RoCE [3]mlx5_6:1/RoCE [4]mlx5_7:1/RoCE [5]mlx5_8:1/RoCE [6]mlx5_9:1/RoCE [7]mlx5_10:1/RoCE [RO]; OOB eth1:10.82.32.87<0> +t-20260527143420-qx7hv-worker-0:35559:35659 [3] NCCL INFO NCCL_IB_PCI_RELAXED_ORDERING set by environment to 1. +t-20260527143420-qx7hv-worker-0:35559:35659 [3] NCCL INFO NET/IB : Using [0]mlx5_1:1/RoCE [1]mlx5_4:1/RoCE [2]mlx5_5:1/RoCE [3]mlx5_6:1/RoCE [4]mlx5_7:1/RoCE [5]mlx5_8:1/RoCE [6]mlx5_9:1/RoCE [7]mlx5_10:1/RoCE [RO]; OOB eth1:10.82.32.87<0> +t-20260527143420-qx7hv-worker-0:35562:35657 [6] NCCL INFO NCCL_IB_PCI_RELAXED_ORDERING set by environment to 1. +t-20260527143420-qx7hv-worker-0:35562:35657 [6] NCCL INFO NET/IB : Using [0]mlx5_1:1/RoCE [1]mlx5_4:1/RoCE [2]mlx5_5:1/RoCE [3]mlx5_6:1/RoCE [4]mlx5_7:1/RoCE [5]mlx5_8:1/RoCE [6]mlx5_9:1/RoCE [7]mlx5_10:1/RoCE [RO]; OOB eth1:10.82.32.87<0> +t-20260527143420-qx7hv-worker-0:35563:35655 [7] NCCL INFO NCCL_IB_PCI_RELAXED_ORDERING set by environment to 1. +t-20260527143420-qx7hv-worker-0:35563:35655 [7] NCCL INFO NET/IB : Using [0]mlx5_1:1/RoCE [1]mlx5_4:1/RoCE [2]mlx5_5:1/RoCE [3]mlx5_6:1/RoCE [4]mlx5_7:1/RoCE [5]mlx5_8:1/RoCE [6]mlx5_9:1/RoCE [7]mlx5_10:1/RoCE [RO]; OOB eth1:10.82.32.87<0> +t-20260527143420-qx7hv-worker-0:35559:35659 [3] NCCL INFO PROFILER/Plugin: Could not find: libnccl-profiler.so. +t-20260527143420-qx7hv-worker-0:35560:35658 [4] NCCL INFO PROFILER/Plugin: Could not find: libnccl-profiler.so. +t-20260527143420-qx7hv-worker-0:35559:35659 [3] NCCL INFO Using network IBext_v9 +t-20260527143420-qx7hv-worker-0:35560:35658 [4] NCCL INFO Using network IBext_v9 +t-20260527143420-qx7hv-worker-0:35562:35657 [6] NCCL INFO PROFILER/Plugin: Could not find: libnccl-profiler.so. +t-20260527143420-qx7hv-worker-0:35562:35657 [6] NCCL INFO Using network IBext_v9 +t-20260527143420-qx7hv-worker-0:35563:35655 [7] NCCL INFO PROFILER/Plugin: Could not find: libnccl-profiler.so. +t-20260527143420-qx7hv-worker-0:35563:35655 [7] NCCL INFO Using network IBext_v9 +t-20260527143420-qx7hv-worker-0:35561:35656 [5] NCCL INFO NCCL_IB_PCI_RELAXED_ORDERING set by environment to 1. +t-20260527143420-qx7hv-worker-0:35561:35656 [5] NCCL INFO NET/IB : Using [0]mlx5_1:1/RoCE [1]mlx5_4:1/RoCE [2]mlx5_5:1/RoCE [3]mlx5_6:1/RoCE [4]mlx5_7:1/RoCE [5]mlx5_8:1/RoCE [6]mlx5_9:1/RoCE [7]mlx5_10:1/RoCE [RO]; OOB eth1:10.82.32.87<0> +t-20260527143420-qx7hv-worker-0:35561:35656 [5] NCCL INFO PROFILER/Plugin: Could not find: libnccl-profiler.so. +t-20260527143420-qx7hv-worker-0:35561:35656 [5] NCCL INFO Using network IBext_v9 +t-20260527143420-qx7hv-worker-0:35556:35652 [0] NCCL INFO ncclCommInitRankConfig comm 0xb6e0e70 rank 0 nranks 16 cudaDev 0 nvmlDev 0 busId 65040 commId 0x8f495340a6a4ea93 - Init START +t-20260527143420-qx7hv-worker-0:35557:35653 [1] NCCL INFO ncclCommInitRankConfig comm 0x9338960 rank 1 nranks 16 cudaDev 1 nvmlDev 1 busId 67020 commId 0x8f495340a6a4ea93 - Init START +t-20260527143420-qx7hv-worker-0:35558:35654 [2] NCCL INFO ncclCommInitRankConfig comm 0x94399e0 rank 2 nranks 16 cudaDev 2 nvmlDev 2 busId 69020 commId 0x8f495340a6a4ea93 - Init START +t-20260527143420-qx7hv-worker-0:35557:35653 [1] NCCL INFO RAS client listening socket at ::1<28028> +t-20260527143420-qx7hv-worker-0:35559:35659 [3] NCCL INFO ncclCommInitRankConfig comm 0xad58700 rank 3 nranks 16 cudaDev 3 nvmlDev 3 busId 6b020 commId 0x8f495340a6a4ea93 - Init START +t-20260527143420-qx7hv-worker-0:35558:35654 [2] NCCL INFO RAS client listening socket at ::1<28028> +t-20260527143420-qx7hv-worker-0:35560:35658 [4] NCCL INFO ncclCommInitRankConfig comm 0xa847400 rank 4 nranks 16 cudaDev 4 nvmlDev 4 busId 6f020 commId 0x8f495340a6a4ea93 - Init START +t-20260527143420-qx7hv-worker-0:35559:35659 [3] NCCL INFO RAS client listening socket at ::1<28028> +t-20260527143420-qx7hv-worker-0:35562:35657 [6] NCCL INFO ncclCommInitRankConfig comm 0xa8656d0 rank 6 nranks 16 cudaDev 6 nvmlDev 6 busId 73020 commId 0x8f495340a6a4ea93 - Init START +t-20260527143420-qx7hv-worker-0:35563:35655 [7] NCCL INFO ncclCommInitRankConfig comm 0x94c87d0 rank 7 nranks 16 cudaDev 7 nvmlDev 7 busId 75020 commId 0x8f495340a6a4ea93 - Init START +t-20260527143420-qx7hv-worker-0:35561:35656 [5] NCCL INFO ncclCommInitRankConfig comm 0x95d4d30 rank 5 nranks 16 cudaDev 5 nvmlDev 5 busId 71020 commId 0x8f495340a6a4ea93 - Init START +t-20260527143420-qx7hv-worker-0:35562:35657 [6] NCCL INFO RAS client listening socket at ::1<28028> +t-20260527143420-qx7hv-worker-0:35560:35658 [4] NCCL INFO RAS client listening socket at ::1<28028> +t-20260527143420-qx7hv-worker-0:35561:35656 [5] NCCL INFO RAS client listening socket at ::1<28028> +t-20260527143420-qx7hv-worker-0:35563:35655 [7] NCCL INFO RAS client listening socket at ::1<28028> +t-20260527143420-qx7hv-worker-0:35556:35652 [0] NCCL INFO RAS client listening socket at ::1<28028> +t-20260527143420-qx7hv-worker-0:35557:35653 [1] NCCL INFO Bootstrap timings total 0.101323 (create 0.000022, send 0.000063, recv 0.017928, ring 0.082968, delay 0.000001) +t-20260527143420-qx7hv-worker-0:35556:35652 [0] NCCL INFO Bootstrap timings total 0.189456 (create 0.000025, send 0.000078, recv 0.088226, ring 0.014977, delay 0.000001) +t-20260527143420-qx7hv-worker-0:35561:35656 [5] NCCL INFO Bootstrap timings total 0.051541 (create 0.000021, send 0.000074, recv 0.000069, ring 0.051079, delay 0.000001) +t-20260527143420-qx7hv-worker-0:35562:35657 [6] NCCL INFO Bootstrap timings total 0.052722 (create 0.000021, send 0.000066, recv 0.000660, ring 0.051077, delay 0.000001) +t-20260527143420-qx7hv-worker-0:35559:35659 [3] NCCL INFO Bootstrap timings total 0.053973 (create 0.000024, send 0.000076, recv 0.000653, ring 0.052920, delay 0.000001) +t-20260527143420-qx7hv-worker-0:35563:35655 [7] NCCL INFO Bootstrap timings total 0.052099 (create 0.000021, send 0.000069, recv 0.027890, ring 0.023612, delay 0.000001) +t-20260527143420-qx7hv-worker-0:35560:35658 [4] NCCL INFO Bootstrap timings total 0.053378 (create 0.000023, send 0.000083, recv 0.001853, ring 0.051079, delay 0.000001) +t-20260527143420-qx7hv-worker-0:35558:35654 [2] NCCL INFO Bootstrap timings total 0.083489 (create 0.000021, send 0.000067, recv 0.029635, ring 0.053461, delay 0.000001) +t-20260527143420-qx7hv-worker-0:35561:35656 [5] NCCL INFO MNNVL busId 0x71020 fabric UUID 0.0 cliqueId 0x0 state 3 healthMask 0x0 +t-20260527143420-qx7hv-worker-0:35557:35653 [1] NCCL INFO MNNVL busId 0x67020 fabric UUID 0.0 cliqueId 0x0 state 3 healthMask 0x0 +t-20260527143420-qx7hv-worker-0:35559:35659 [3] NCCL INFO MNNVL busId 0x6b020 fabric UUID 0.0 cliqueId 0x0 state 3 healthMask 0x0 +t-20260527143420-qx7hv-worker-0:35556:35652 [0] NCCL INFO MNNVL busId 0x65040 fabric UUID 0.0 cliqueId 0x0 state 3 healthMask 0x0 +t-20260527143420-qx7hv-worker-0:35562:35657 [6] NCCL INFO MNNVL busId 0x73020 fabric UUID 0.0 cliqueId 0x0 state 3 healthMask 0x0 +t-20260527143420-qx7hv-worker-0:35563:35655 [7] NCCL INFO MNNVL busId 0x75020 fabric UUID 0.0 cliqueId 0x0 state 3 healthMask 0x0 +t-20260527143420-qx7hv-worker-0:35560:35658 [4] NCCL INFO MNNVL busId 0x6f020 fabric UUID 0.0 cliqueId 0x0 state 3 healthMask 0x0 +t-20260527143420-qx7hv-worker-0:35558:35654 [2] NCCL INFO MNNVL busId 0x69020 fabric UUID 0.0 cliqueId 0x0 state 3 healthMask 0x0 +t-20260527143420-qx7hv-worker-0:35557:35653 [1] NCCL INFO NCCL_TOPO_FILE set by environment to /var/run/nvidia-topologyd/virtualTopology.xml +t-20260527143420-qx7hv-worker-0:35562:35657 [6] NCCL INFO NCCL_TOPO_FILE set by environment to /var/run/nvidia-topologyd/virtualTopology.xml +t-20260527143420-qx7hv-worker-0:35558:35654 [2] NCCL INFO NCCL_TOPO_FILE set by environment to /var/run/nvidia-topologyd/virtualTopology.xml +t-20260527143420-qx7hv-worker-0:35563:35655 [7] NCCL INFO NCCL_TOPO_FILE set by environment to /var/run/nvidia-topologyd/virtualTopology.xml +t-20260527143420-qx7hv-worker-0:35556:35652 [0] NCCL INFO NCCL_TOPO_FILE set by environment to /var/run/nvidia-topologyd/virtualTopology.xml +t-20260527143420-qx7hv-worker-0:35561:35656 [5] NCCL INFO NCCL_TOPO_FILE set by environment to /var/run/nvidia-topologyd/virtualTopology.xml +t-20260527143420-qx7hv-worker-0:35559:35659 [3] NCCL INFO NCCL_TOPO_FILE set by environment to /var/run/nvidia-topologyd/virtualTopology.xml +t-20260527143420-qx7hv-worker-0:35560:35658 [4] NCCL INFO NCCL_TOPO_FILE set by environment to /var/run/nvidia-topologyd/virtualTopology.xml +t-20260527143420-qx7hv-worker-0:35558:35654 [2] NCCL INFO Setting affinity for GPU 2 to 03ffffff,ffffffff,ffffffff +t-20260527143420-qx7hv-worker-0:35558:35654 [2] NCCL INFO NVLS multicast support is available on dev 2 +t-20260527143420-qx7hv-worker-0:35557:35653 [1] NCCL INFO Setting affinity for GPU 1 to 03ffffff,ffffffff,ffffffff +t-20260527143420-qx7hv-worker-0:35556:35652 [0] NCCL INFO Setting affinity for GPU 0 to 03ffffff,ffffffff,ffffffff +t-20260527143420-qx7hv-worker-0:35563:35655 [7] NCCL INFO Setting affinity for GPU 7 to 0fffff,ffffffff,ffffffff,fc000000,00000000,00000000 +t-20260527143420-qx7hv-worker-0:35562:35657 [6] NCCL INFO Setting affinity for GPU 6 to 0fffff,ffffffff,ffffffff,fc000000,00000000,00000000 +t-20260527143420-qx7hv-worker-0:35563:35655 [7] NCCL INFO NVLS multicast support is available on dev 7 +t-20260527143420-qx7hv-worker-0:35562:35657 [6] NCCL INFO NVLS multicast support is available on dev 6 +t-20260527143420-qx7hv-worker-0:35561:35656 [5] NCCL INFO Setting affinity for GPU 5 to 0fffff,ffffffff,ffffffff,fc000000,00000000,00000000 +t-20260527143420-qx7hv-worker-0:35561:35656 [5] NCCL INFO NVLS multicast support is available on dev 5 +t-20260527143420-qx7hv-worker-0:35560:35658 [4] NCCL INFO Setting affinity for GPU 4 to 0fffff,ffffffff,ffffffff,fc000000,00000000,00000000 +t-20260527143420-qx7hv-worker-0:35560:35658 [4] NCCL INFO NVLS multicast support is available on dev 4 +t-20260527143420-qx7hv-worker-0:35559:35659 [3] NCCL INFO Setting affinity for GPU 3 to 03ffffff,ffffffff,ffffffff +t-20260527143420-qx7hv-worker-0:35559:35659 [3] NCCL INFO NVLS multicast support is available on dev 3 +t-20260527143420-qx7hv-worker-0:35557:35653 [1] NCCL INFO NVLS multicast support is available on dev 1 +t-20260527143420-qx7hv-worker-0:35556:35652 [0] NCCL INFO NVLS multicast support is available on dev 0 +t-20260527143420-qx7hv-worker-0:35563:35655 [7] NCCL INFO comm 0x94c87d0 rank 7 nRanks 16 nNodes 2 localRanks 8 localRank 7 MNNVL 0 +t-20260527143420-qx7hv-worker-0:35562:35657 [6] NCCL INFO comm 0xa8656d0 rank 6 nRanks 16 nNodes 2 localRanks 8 localRank 6 MNNVL 0 +t-20260527143420-qx7hv-worker-0:35561:35656 [5] NCCL INFO comm 0x95d4d30 rank 5 nRanks 16 nNodes 2 localRanks 8 localRank 5 MNNVL 0 +t-20260527143420-qx7hv-worker-0:35556:35652 [0] NCCL INFO comm 0xb6e0e70 rank 0 nRanks 16 nNodes 2 localRanks 8 localRank 0 MNNVL 0 +t-20260527143420-qx7hv-worker-0:35557:35653 [1] NCCL INFO comm 0x9338960 rank 1 nRanks 16 nNodes 2 localRanks 8 localRank 1 MNNVL 0 +t-20260527143420-qx7hv-worker-0:35558:35654 [2] NCCL INFO comm 0x94399e0 rank 2 nRanks 16 nNodes 2 localRanks 8 localRank 2 MNNVL 0 +t-20260527143420-qx7hv-worker-0:35562:35657 [6] NCCL INFO NVLS Head 0: 0 8 +t-20260527143420-qx7hv-worker-0:35560:35658 [4] NCCL INFO comm 0xa847400 rank 4 nRanks 16 nNodes 2 localRanks 8 localRank 4 MNNVL 0 +t-20260527143420-qx7hv-worker-0:35563:35655 [7] NCCL INFO NVLS Head 0: 0 8 +t-20260527143420-qx7hv-worker-0:35562:35657 [6] NCCL INFO NVLS Head 1: 1 9 +t-20260527143420-qx7hv-worker-0:35559:35659 [3] NCCL INFO comm 0xad58700 rank 3 nRanks 16 nNodes 2 localRanks 8 localRank 3 MNNVL 0 +t-20260527143420-qx7hv-worker-0:35561:35656 [5] NCCL INFO NVLS Head 0: 0 8 +t-20260527143420-qx7hv-worker-0:35563:35655 [7] NCCL INFO NVLS Head 1: 1 9 +t-20260527143420-qx7hv-worker-0:35562:35657 [6] NCCL INFO NVLS Head 2: 2 10 +t-20260527143420-qx7hv-worker-0:35561:35656 [5] NCCL INFO NVLS Head 1: 1 9 +t-20260527143420-qx7hv-worker-0:35562:35657 [6] NCCL INFO NVLS Head 3: 3 11 +t-20260527143420-qx7hv-worker-0:35561:35656 [5] NCCL INFO NVLS Head 2: 2 10 +t-20260527143420-qx7hv-worker-0:35563:35655 [7] NCCL INFO NVLS Head 2: 2 10 +t-20260527143420-qx7hv-worker-0:35562:35657 [6] NCCL INFO NVLS Head 4: 4 12 +t-20260527143420-qx7hv-worker-0:35561:35656 [5] NCCL INFO NVLS Head 3: 3 11 +t-20260527143420-qx7hv-worker-0:35556:35652 [0] NCCL INFO NVLS Head 0: 0 8 +t-20260527143420-qx7hv-worker-0:35562:35657 [6] NCCL INFO NVLS Head 5: 5 13 +t-20260527143420-qx7hv-worker-0:35563:35655 [7] NCCL INFO NVLS Head 3: 3 11 +t-20260527143420-qx7hv-worker-0:35556:35652 [0] NCCL INFO NVLS Head 1: 1 9 +t-20260527143420-qx7hv-worker-0:35562:35657 [6] NCCL INFO NVLS Head 6: 6 14 +t-20260527143420-qx7hv-worker-0:35561:35656 [5] NCCL INFO NVLS Head 4: 4 12 +t-20260527143420-qx7hv-worker-0:35562:35657 [6] NCCL INFO NVLS Head 7: 7 15 +t-20260527143420-qx7hv-worker-0:35556:35652 [0] NCCL INFO NVLS Head 2: 2 10 +t-20260527143420-qx7hv-worker-0:35560:35658 [4] NCCL INFO NVLS Head 0: 0 8 +t-20260527143420-qx7hv-worker-0:35561:35656 [5] NCCL INFO NVLS Head 5: 5 13 +t-20260527143420-qx7hv-worker-0:35563:35655 [7] NCCL INFO NVLS Head 4: 4 12 +t-20260527143420-qx7hv-worker-0:35560:35658 [4] NCCL INFO NVLS Head 1: 1 9 +t-20260527143420-qx7hv-worker-0:35558:35654 [2] NCCL INFO NVLS Head 0: 0 8 +t-20260527143420-qx7hv-worker-0:35556:35652 [0] NCCL INFO NVLS Head 3: 3 11 +t-20260527143420-qx7hv-worker-0:35557:35653 [1] NCCL INFO NVLS Head 0: 0 8 +t-20260527143420-qx7hv-worker-0:35558:35654 [2] NCCL INFO NVLS Head 1: 1 9 +t-20260527143420-qx7hv-worker-0:35560:35658 [4] NCCL INFO NVLS Head 2: 2 10 +t-20260527143420-qx7hv-worker-0:35558:35654 [2] NCCL INFO NVLS Head 2: 2 10 +t-20260527143420-qx7hv-worker-0:35561:35656 [5] NCCL INFO NVLS Head 6: 6 14 +t-20260527143420-qx7hv-worker-0:35558:35654 [2] NCCL INFO NVLS Head 3: 3 11 +t-20260527143420-qx7hv-worker-0:35562:35657 [6] NCCL INFO Trees [0] 7/-1/-1->6->5 [1] 7/-1/-1->6->5 [2] 7/-1/-1->6->5 [3] 7/-1/-1->6->5 [4] 7/-1/-1->6->5 [5] 7/-1/-1->6->5 [6] 7/14/-1->6->-1 [7] -1/-1/-1->6->5 [8] 7/-1/-1->6->5 [9] 7/-1/-1->6->5 [10] 7/-1/-1->6->5 [11] 7/-1/-1->6->5 [12] 7/-1/-1->6->5 [13] 7/-1/-1->6->5 [14] 7/-1/-1->6->14 [15] -1/-1/-1->6->5 +t-20260527143420-qx7hv-worker-0:35563:35655 [7] NCCL INFO NVLS Head 5: 5 13 +t-20260527143420-qx7hv-worker-0:35559:35659 [3] NCCL INFO NVLS Head 0: 0 8 +t-20260527143420-qx7hv-worker-0:35558:35654 [2] NCCL INFO NVLS Head 4: 4 12 +t-20260527143420-qx7hv-worker-0:35562:35657 [6] NCCL INFO P2P Chunksize set to 131072 +t-20260527143420-qx7hv-worker-0:35563:35655 [7] NCCL INFO NVLS Head 6: 6 14 +t-20260527143420-qx7hv-worker-0:35558:35654 [2] NCCL INFO NVLS Head 5: 5 13 +t-20260527143420-qx7hv-worker-0:35556:35652 [0] NCCL INFO NVLS Head 4: 4 12 +t-20260527143420-qx7hv-worker-0:35557:35653 [1] NCCL INFO NVLS Head 1: 1 9 +t-20260527143420-qx7hv-worker-0:35558:35654 [2] NCCL INFO NVLS Head 6: 6 14 +t-20260527143420-qx7hv-worker-0:35560:35658 [4] NCCL INFO NVLS Head 3: 3 11 +t-20260527143420-qx7hv-worker-0:35561:35656 [5] NCCL INFO NVLS Head 7: 7 15 +t-20260527143420-qx7hv-worker-0:35556:35652 [0] NCCL INFO NVLS Head 5: 5 13 +t-20260527143420-qx7hv-worker-0:35559:35659 [3] NCCL INFO NVLS Head 1: 1 9 +t-20260527143420-qx7hv-worker-0:35563:35655 [7] NCCL INFO NVLS Head 7: 7 15 +t-20260527143420-qx7hv-worker-0:35557:35653 [1] NCCL INFO NVLS Head 2: 2 10 +t-20260527143420-qx7hv-worker-0:35558:35654 [2] NCCL INFO NVLS Head 7: 7 15 +t-20260527143420-qx7hv-worker-0:35559:35659 [3] NCCL INFO NVLS Head 2: 2 10 +t-20260527143420-qx7hv-worker-0:35560:35658 [4] NCCL INFO NVLS Head 4: 4 12 +t-20260527143420-qx7hv-worker-0:35556:35652 [0] NCCL INFO NVLS Head 6: 6 14 +t-20260527143420-qx7hv-worker-0:35557:35653 [1] NCCL INFO NVLS Head 3: 3 11 +t-20260527143420-qx7hv-worker-0:35559:35659 [3] NCCL INFO NVLS Head 3: 3 11 +t-20260527143420-qx7hv-worker-0:35556:35652 [0] NCCL INFO NVLS Head 7: 7 15 +t-20260527143420-qx7hv-worker-0:35560:35658 [4] NCCL INFO NVLS Head 5: 5 13 +t-20260527143420-qx7hv-worker-0:35559:35659 [3] NCCL INFO NVLS Head 4: 4 12 +t-20260527143420-qx7hv-worker-0:35557:35653 [1] NCCL INFO NVLS Head 4: 4 12 +t-20260527143420-qx7hv-worker-0:35556:35652 [0] NCCL INFO Channel 00/16 : 0 7 6 5 4 3 2 1 9 10 11 12 13 14 15 8 +t-20260527143420-qx7hv-worker-0:35559:35659 [3] NCCL INFO NVLS Head 5: 5 13 +t-20260527143420-qx7hv-worker-0:35560:35658 [4] NCCL INFO NVLS Head 6: 6 14 +t-20260527143420-qx7hv-worker-0:35561:35656 [5] NCCL INFO Trees [0] 6/-1/-1->5->4 [1] 6/-1/-1->5->4 [2] 6/-1/-1->5->4 [3] 6/-1/-1->5->4 [4] 6/-1/-1->5->4 [5] 6/13/-1->5->-1 [6] -1/-1/-1->5->4 [7] 6/-1/-1->5->4 [8] 6/-1/-1->5->4 [9] 6/-1/-1->5->4 [10] 6/-1/-1->5->4 [11] 6/-1/-1->5->4 [12] 6/-1/-1->5->4 [13] 6/-1/-1->5->13 [14] -1/-1/-1->5->4 [15] 6/-1/-1->5->4 +t-20260527143420-qx7hv-worker-0:35557:35653 [1] NCCL INFO NVLS Head 5: 5 13 +t-20260527143420-qx7hv-worker-0:35556:35652 [0] NCCL INFO Channel 01/16 : 0 8 15 14 13 12 11 10 9 1 2 3 4 5 6 7 +t-20260527143420-qx7hv-worker-0:35559:35659 [3] NCCL INFO NVLS Head 6: 6 14 +t-20260527143420-qx7hv-worker-0:35560:35658 [4] NCCL INFO NVLS Head 7: 7 15 +t-20260527143420-qx7hv-worker-0:35563:35655 [7] NCCL INFO Trees [0] -1/-1/-1->7->6 [1] 0/-1/-1->7->6 [2] 0/-1/-1->7->6 [3] 0/-1/-1->7->6 [4] 0/-1/-1->7->6 [5] 0/-1/-1->7->6 [6] 0/-1/-1->7->6 [7] 0/15/-1->7->-1 [8] -1/-1/-1->7->6 [9] 0/-1/-1->7->6 [10] 0/-1/-1->7->6 [11] 0/-1/-1->7->6 [12] 0/-1/-1->7->6 [13] 0/-1/-1->7->6 [14] 0/-1/-1->7->6 [15] 0/-1/-1->7->15 +t-20260527143420-qx7hv-worker-0:35557:35653 [1] NCCL INFO NVLS Head 6: 6 14 +t-20260527143420-qx7hv-worker-0:35561:35656 [5] NCCL INFO P2P Chunksize set to 131072 +t-20260527143420-qx7hv-worker-0:35559:35659 [3] NCCL INFO NVLS Head 7: 7 15 +t-20260527143420-qx7hv-worker-0:35557:35653 [1] NCCL INFO NVLS Head 7: 7 15 +t-20260527143420-qx7hv-worker-0:35556:35652 [0] NCCL INFO Channel 02/16 : 0 7 6 5 4 3 11 12 13 14 15 8 9 10 2 1 +t-20260527143420-qx7hv-worker-0:35558:35654 [2] NCCL INFO Trees [0] 3/-1/-1->2->1 [1] 3/-1/-1->2->1 [2] 3/10/-1->2->-1 [3] -1/-1/-1->2->1 [4] 3/-1/-1->2->1 [5] 3/-1/-1->2->1 [6] 3/-1/-1->2->1 [7] 3/-1/-1->2->1 [8] 3/-1/-1->2->1 [9] 3/-1/-1->2->1 [10] 3/-1/-1->2->10 [11] -1/-1/-1->2->1 [12] 3/-1/-1->2->1 [13] 3/-1/-1->2->1 [14] 3/-1/-1->2->1 [15] 3/-1/-1->2->1 +t-20260527143420-qx7hv-worker-0:35563:35655 [7] NCCL INFO P2P Chunksize set to 131072 +t-20260527143420-qx7hv-worker-0:35556:35652 [0] NCCL INFO Channel 03/16 : 0 1 2 10 9 8 15 14 13 12 11 3 4 5 6 7 +t-20260527143420-qx7hv-worker-0:35558:35654 [2] NCCL INFO P2P Chunksize set to 131072 +t-20260527143420-qx7hv-worker-0:35556:35652 [0] NCCL INFO Channel 04/16 : 0 7 6 5 13 14 15 8 9 10 11 12 4 3 2 1 +t-20260527143420-qx7hv-worker-0:35556:35652 [0] NCCL INFO Channel 05/16 : 0 1 2 3 4 12 11 10 9 8 15 14 13 5 6 7 +t-20260527143420-qx7hv-worker-0:35556:35652 [0] NCCL INFO Channel 06/16 : 0 7 15 8 9 10 11 12 13 14 6 5 4 3 2 1 +t-20260527143420-qx7hv-worker-0:35560:35658 [4] NCCL INFO Trees [0] 5/-1/-1->4->3 [1] 5/-1/-1->4->3 [2] 5/-1/-1->4->3 [3] 5/-1/-1->4->3 [4] 5/12/-1->4->-1 [5] -1/-1/-1->4->3 [6] 5/-1/-1->4->3 [7] 5/-1/-1->4->3 [8] 5/-1/-1->4->3 [9] 5/-1/-1->4->3 [10] 5/-1/-1->4->3 [11] 5/-1/-1->4->3 [12] 5/-1/-1->4->12 [13] -1/-1/-1->4->3 [14] 5/-1/-1->4->3 [15] 5/-1/-1->4->3 +t-20260527143420-qx7hv-worker-0:35556:35652 [0] NCCL INFO Channel 07/16 : 0 1 2 3 4 5 6 14 13 12 11 10 9 8 15 7 +t-20260527143420-qx7hv-worker-0:35560:35658 [4] NCCL INFO P2P Chunksize set to 131072 +t-20260527143420-qx7hv-worker-0:35556:35652 [0] NCCL INFO Channel 08/16 : 0 7 6 5 4 3 2 1 9 10 11 12 13 14 15 8 +t-20260527143420-qx7hv-worker-0:35557:35653 [1] NCCL INFO Trees [0] 2/-1/-1->1->0 [1] 2/9/-1->1->-1 [2] -1/-1/-1->1->0 [3] 2/-1/-1->1->0 [4] 2/-1/-1->1->0 [5] 2/-1/-1->1->0 [6] 2/-1/-1->1->0 [7] 2/-1/-1->1->0 [8] 2/-1/-1->1->0 [9] 2/-1/-1->1->9 [10] -1/-1/-1->1->0 [11] 2/-1/-1->1->0 [12] 2/-1/-1->1->0 [13] 2/-1/-1->1->0 [14] 2/-1/-1->1->0 [15] 2/-1/-1->1->0 +t-20260527143420-qx7hv-worker-0:35556:35652 [0] NCCL INFO Channel 09/16 : 0 8 15 14 13 12 11 10 9 1 2 3 4 5 6 7 +t-20260527143420-qx7hv-worker-0:35559:35659 [3] NCCL INFO Trees [0] 4/-1/-1->3->2 [1] 4/-1/-1->3->2 [2] 4/-1/-1->3->2 [3] 4/11/-1->3->-1 [4] -1/-1/-1->3->2 [5] 4/-1/-1->3->2 [6] 4/-1/-1->3->2 [7] 4/-1/-1->3->2 [8] 4/-1/-1->3->2 [9] 4/-1/-1->3->2 [10] 4/-1/-1->3->2 [11] 4/-1/-1->3->11 [12] -1/-1/-1->3->2 [13] 4/-1/-1->3->2 [14] 4/-1/-1->3->2 [15] 4/-1/-1->3->2 +t-20260527143420-qx7hv-worker-0:35557:35653 [1] NCCL INFO P2P Chunksize set to 131072 +t-20260527143420-qx7hv-worker-0:35556:35652 [0] NCCL INFO Channel 10/16 : 0 7 6 5 4 3 11 12 13 14 15 8 9 10 2 1 +t-20260527143420-qx7hv-worker-0:35556:35652 [0] NCCL INFO Channel 11/16 : 0 1 2 10 9 8 15 14 13 12 11 3 4 5 6 7 +t-20260527143420-qx7hv-worker-0:35559:35659 [3] NCCL INFO P2P Chunksize set to 131072 +t-20260527143420-qx7hv-worker-0:35556:35652 [0] NCCL INFO Channel 12/16 : 0 7 6 5 13 14 15 8 9 10 11 12 4 3 2 1 +t-20260527143420-qx7hv-worker-0:35556:35652 [0] NCCL INFO Channel 13/16 : 0 1 2 3 4 12 11 10 9 8 15 14 13 5 6 7 +t-20260527143420-qx7hv-worker-0:35556:35652 [0] NCCL INFO Channel 14/16 : 0 7 15 8 9 10 11 12 13 14 6 5 4 3 2 1 +t-20260527143420-qx7hv-worker-0:35556:35652 [0] NCCL INFO Channel 15/16 : 0 1 2 3 4 5 6 14 13 12 11 10 9 8 15 7 +t-20260527143420-qx7hv-worker-0:35556:35652 [0] NCCL INFO Trees [0] 1/8/-1->0->-1 [1] -1/-1/-1->0->7 [2] 1/-1/-1->0->7 [3] 1/-1/-1->0->7 [4] 1/-1/-1->0->7 [5] 1/-1/-1->0->7 [6] 1/-1/-1->0->7 [7] 1/-1/-1->0->7 [8] 1/-1/-1->0->8 [9] -1/-1/-1->0->7 [10] 1/-1/-1->0->7 [11] 1/-1/-1->0->7 [12] 1/-1/-1->0->7 [13] 1/-1/-1->0->7 [14] 1/-1/-1->0->7 [15] 1/-1/-1->0->7 +t-20260527143420-qx7hv-worker-0:35556:35652 [0] NCCL INFO P2P Chunksize set to 131072 +t-20260527143420-qx7hv-worker-0:35556:35652 [0] NCCL INFO Check P2P Type intraNodeP2pSupport 1 directMode 0 +t-20260527143420-qx7hv-worker-0:35562:35732 [6] NCCL INFO [Proxy Service] Device 6 CPU core 176 +t-20260527143420-qx7hv-worker-0:35561:35733 [5] NCCL INFO [Proxy Service] Device 5 CPU core 179 +t-20260527143420-qx7hv-worker-0:35561:35735 [5] NCCL INFO [Proxy Service UDS] Device 5 CPU core 94 +t-20260527143420-qx7hv-worker-0:35556:35736 [0] NCCL INFO [Proxy Service] Device 0 CPU core 48 +t-20260527143420-qx7hv-worker-0:35562:35734 [6] NCCL INFO [Proxy Service UDS] Device 6 CPU core 92 +t-20260527143420-qx7hv-worker-0:35556:35741 [0] NCCL INFO [Proxy Service UDS] Device 0 CPU core 50 +t-20260527143420-qx7hv-worker-0:35563:35738 [7] NCCL INFO [Proxy Service] Device 7 CPU core 97 +t-20260527143420-qx7hv-worker-0:35560:35743 [4] NCCL INFO [Proxy Service UDS] Device 4 CPU core 98 +t-20260527143420-qx7hv-worker-0:35563:35745 [7] NCCL INFO [Proxy Service UDS] Device 7 CPU core 99 +t-20260527143420-qx7hv-worker-0:35558:35740 [2] NCCL INFO [Proxy Service] Device 2 CPU core 2 +t-20260527143420-qx7hv-worker-0:35558:35744 [2] NCCL INFO [Proxy Service UDS] Device 2 CPU core 4 +t-20260527143420-qx7hv-worker-0:35559:35742 [3] NCCL INFO [Proxy Service] Device 3 CPU core 52 +t-20260527143420-qx7hv-worker-0:35557:35746 [1] NCCL INFO [Proxy Service UDS] Device 1 CPU core 5 +t-20260527143420-qx7hv-worker-0:35560:35737 [4] NCCL INFO [Proxy Service] Device 4 CPU core 97 +t-20260527143420-qx7hv-worker-0:35559:35747 [3] NCCL INFO [Proxy Service UDS] Device 3 CPU core 54 +t-20260527143420-qx7hv-worker-0:35557:35739 [1] NCCL INFO [Proxy Service] Device 1 CPU core 2 +t-20260527143420-qx7hv-worker-0:35557:35653 [1] NCCL INFO threadThresholds 8/8/64 | 128/8/64 | 512 | 512 +t-20260527143420-qx7hv-worker-0:35557:35653 [1] NCCL INFO 16 coll channels, 16 collnet channels, 16 nvls channels, 16 p2p channels, 2 p2p channels per peer +t-20260527143420-qx7hv-worker-0:35558:35654 [2] NCCL INFO threadThresholds 8/8/64 | 128/8/64 | 512 | 512 +t-20260527143420-qx7hv-worker-0:35558:35654 [2] NCCL INFO 16 coll channels, 16 collnet channels, 16 nvls channels, 16 p2p channels, 2 p2p channels per peer +t-20260527143420-qx7hv-worker-0:35559:35659 [3] NCCL INFO threadThresholds 8/8/64 | 128/8/64 | 512 | 512 +t-20260527143420-qx7hv-worker-0:35559:35659 [3] NCCL INFO 16 coll channels, 16 collnet channels, 16 nvls channels, 16 p2p channels, 2 p2p channels per peer +t-20260527143420-qx7hv-worker-0:35560:35658 [4] NCCL INFO threadThresholds 8/8/64 | 128/8/64 | 512 | 512 +t-20260527143420-qx7hv-worker-0:35560:35658 [4] NCCL INFO 16 coll channels, 16 collnet channels, 16 nvls channels, 16 p2p channels, 2 p2p channels per peer +t-20260527143420-qx7hv-worker-0:35561:35656 [5] NCCL INFO threadThresholds 8/8/64 | 128/8/64 | 512 | 512 +t-20260527143420-qx7hv-worker-0:35561:35656 [5] NCCL INFO 16 coll channels, 16 collnet channels, 16 nvls channels, 16 p2p channels, 2 p2p channels per peer +t-20260527143420-qx7hv-worker-0:35562:35657 [6] NCCL INFO threadThresholds 8/8/64 | 128/8/64 | 512 | 512 +t-20260527143420-qx7hv-worker-0:35562:35657 [6] NCCL INFO 16 coll channels, 16 collnet channels, 16 nvls channels, 16 p2p channels, 2 p2p channels per peer +t-20260527143420-qx7hv-worker-0:35556:35652 [0] NCCL INFO threadThresholds 8/8/64 | 128/8/64 | 512 | 512 +t-20260527143420-qx7hv-worker-0:35563:35655 [7] NCCL INFO threadThresholds 8/8/64 | 128/8/64 | 512 | 512 +t-20260527143420-qx7hv-worker-0:35563:35655 [7] NCCL INFO 16 coll channels, 16 collnet channels, 16 nvls channels, 16 p2p channels, 2 p2p channels per peer +t-20260527143420-qx7hv-worker-0:35556:35652 [0] NCCL INFO 16 coll channels, 16 collnet channels, 16 nvls channels, 16 p2p channels, 2 p2p channels per peer +t-20260527143420-qx7hv-worker-0:35556:35652 [0] NCCL INFO CC Off, workFifoBytes 1048576 +t-20260527143420-qx7hv-worker-0:35556:35652 [0] NCCL INFO TUNER/Plugin: Failed to find ncclTunerPlugin_v4 symbol. +t-20260527143420-qx7hv-worker-0:35556:35652 [0] NCCL INFO TUNER/Plugin: Failed to find ncclTunerPlugin_v3 symbol. +t-20260527143420-qx7hv-worker-0:35563:35655 [7] NCCL INFO TUNER/Plugin: Failed to find ncclTunerPlugin_v4 symbol. +t-20260527143420-qx7hv-worker-0:35561:35656 [5] NCCL INFO TUNER/Plugin: Failed to find ncclTunerPlugin_v4 symbol. +t-20260527143420-qx7hv-worker-0:35562:35657 [6] NCCL INFO TUNER/Plugin: Failed to find ncclTunerPlugin_v4 symbol. +t-20260527143420-qx7hv-worker-0:35556:35652 [0] NCCL INFO TUNER/Plugin: Failed to find ncclTunerPlugin_v2 symbol, using internal tuner instead. +t-20260527143420-qx7hv-worker-0:35563:35655 [7] NCCL INFO TUNER/Plugin: Failed to find ncclTunerPlugin_v3 symbol. +t-20260527143420-qx7hv-worker-0:35561:35656 [5] NCCL INFO TUNER/Plugin: Failed to find ncclTunerPlugin_v3 symbol. +t-20260527143420-qx7hv-worker-0:35562:35657 [6] NCCL INFO TUNER/Plugin: Failed to find ncclTunerPlugin_v3 symbol. +t-20260527143420-qx7hv-worker-0:35557:35653 [1] NCCL INFO TUNER/Plugin: Failed to find ncclTunerPlugin_v4 symbol. +t-20260527143420-qx7hv-worker-0:35559:35659 [3] NCCL INFO TUNER/Plugin: Failed to find ncclTunerPlugin_v4 symbol. +t-20260527143420-qx7hv-worker-0:35558:35654 [2] NCCL INFO TUNER/Plugin: Failed to find ncclTunerPlugin_v4 symbol. +t-20260527143420-qx7hv-worker-0:35560:35658 [4] NCCL INFO TUNER/Plugin: Failed to find ncclTunerPlugin_v4 symbol. +t-20260527143420-qx7hv-worker-0:35559:35659 [3] NCCL INFO TUNER/Plugin: Failed to find ncclTunerPlugin_v3 symbol. +t-20260527143420-qx7hv-worker-0:35560:35658 [4] NCCL INFO TUNER/Plugin: Failed to find ncclTunerPlugin_v3 symbol. +t-20260527143420-qx7hv-worker-0:35559:35659 [3] NCCL INFO TUNER/Plugin: Failed to find ncclTunerPlugin_v2 symbol, using internal tuner instead. +t-20260527143420-qx7hv-worker-0:35563:35655 [7] NCCL INFO TUNER/Plugin: Failed to find ncclTunerPlugin_v2 symbol, using internal tuner instead. +t-20260527143420-qx7hv-worker-0:35561:35656 [5] NCCL INFO TUNER/Plugin: Failed to find ncclTunerPlugin_v2 symbol, using internal tuner instead. +t-20260527143420-qx7hv-worker-0:35556:35652 [0] NCCL INFO ncclCommInitRankConfig comm 0xb6e0e70 rank 0 nranks 16 cudaDev 0 nvmlDev 0 busId 65040 commId 0x8f495340a6a4ea93 - Init COMPLETE +t-20260527143420-qx7hv-worker-0:35562:35657 [6] NCCL INFO TUNER/Plugin: Failed to find ncclTunerPlugin_v2 symbol, using internal tuner instead. +t-20260527143420-qx7hv-worker-0:35557:35653 [1] NCCL INFO TUNER/Plugin: Failed to find ncclTunerPlugin_v3 symbol. +t-20260527143420-qx7hv-worker-0:35558:35654 [2] NCCL INFO TUNER/Plugin: Failed to find ncclTunerPlugin_v3 symbol. +t-20260527143420-qx7hv-worker-0:35561:35656 [5] NCCL INFO ncclCommInitRankConfig comm 0x95d4d30 rank 5 nranks 16 cudaDev 5 nvmlDev 5 busId 71020 commId 0x8f495340a6a4ea93 - Init COMPLETE +t-20260527143420-qx7hv-worker-0:35560:35658 [4] NCCL INFO TUNER/Plugin: Failed to find ncclTunerPlugin_v2 symbol, using internal tuner instead. +t-20260527143420-qx7hv-worker-0:35563:35655 [7] NCCL INFO ncclCommInitRankConfig comm 0x94c87d0 rank 7 nranks 16 cudaDev 7 nvmlDev 7 busId 75020 commId 0x8f495340a6a4ea93 - Init COMPLETE +t-20260527143420-qx7hv-worker-0:35559:35659 [3] NCCL INFO ncclCommInitRankConfig comm 0xad58700 rank 3 nranks 16 cudaDev 3 nvmlDev 3 busId 6b020 commId 0x8f495340a6a4ea93 - Init COMPLETE +t-20260527143420-qx7hv-worker-0:35557:35653 [1] NCCL INFO TUNER/Plugin: Failed to find ncclTunerPlugin_v2 symbol, using internal tuner instead. +t-20260527143420-qx7hv-worker-0:35562:35657 [6] NCCL INFO ncclCommInitRankConfig comm 0xa8656d0 rank 6 nranks 16 cudaDev 6 nvmlDev 6 busId 73020 commId 0x8f495340a6a4ea93 - Init COMPLETE +t-20260527143420-qx7hv-worker-0:35556:35652 [0] NCCL INFO Init timings - ncclCommInitRankConfig: rank 0 nranks 16 total 2.10 (kernels 0.18, alloc 0.90, bootstrap 0.19, allgathers 0.00, topo 0.53, graphs 0.01, connections 0.26, rest 0.02) +t-20260527143420-qx7hv-worker-0:35558:35654 [2] NCCL INFO TUNER/Plugin: Failed to find ncclTunerPlugin_v2 symbol, using internal tuner instead. +t-20260527143420-qx7hv-worker-0:35560:35658 [4] NCCL INFO ncclCommInitRankConfig comm 0xa847400 rank 4 nranks 16 cudaDev 4 nvmlDev 4 busId 6f020 commId 0x8f495340a6a4ea93 - Init COMPLETE +t-20260527143420-qx7hv-worker-0:35557:35653 [1] NCCL INFO ncclCommInitRankConfig comm 0x9338960 rank 1 nranks 16 cudaDev 1 nvmlDev 1 busId 67020 commId 0x8f495340a6a4ea93 - Init COMPLETE +t-20260527143420-qx7hv-worker-0:35561:35656 [5] NCCL INFO Init timings - ncclCommInitRankConfig: rank 5 nranks 16 total 2.08 (kernels 0.20, alloc 1.00, bootstrap 0.05, allgathers 0.01, topo 0.53, graphs 0.01, connections 0.27, rest 0.00) +t-20260527143420-qx7hv-worker-0:35563:35655 [7] NCCL INFO Init timings - ncclCommInitRankConfig: rank 7 nranks 16 total 2.08 (kernels 0.20, alloc 1.01, bootstrap 0.05, allgathers 0.01, topo 0.53, graphs 0.02, connections 0.26, rest 0.00) +t-20260527143420-qx7hv-worker-0:35558:35654 [2] NCCL INFO ncclCommInitRankConfig comm 0x94399e0 rank 2 nranks 16 cudaDev 2 nvmlDev 2 busId 69020 commId 0x8f495340a6a4ea93 - Init COMPLETE +t-20260527143420-qx7hv-worker-0:35559:35659 [3] NCCL INFO Init timings - ncclCommInitRankConfig: rank 3 nranks 16 total 2.08 (kernels 0.20, alloc 1.00, bootstrap 0.05, allgathers 0.00, topo 0.54, graphs 0.02, connections 0.26, rest 0.00) +t-20260527143420-qx7hv-worker-0:35562:35657 [6] NCCL INFO Init timings - ncclCommInitRankConfig: rank 6 nranks 16 total 2.08 (kernels 0.20, alloc 1.00, bootstrap 0.05, allgathers 0.01, topo 0.53, graphs 0.01, connections 0.26, rest 0.00) +t-20260527143420-qx7hv-worker-0:35560:35658 [4] NCCL INFO Init timings - ncclCommInitRankConfig: rank 4 nranks 16 total 2.08 (kernels 0.20, alloc 1.00, bootstrap 0.05, allgathers 0.00, topo 0.53, graphs 0.02, connections 0.26, rest 0.00) +t-20260527143420-qx7hv-worker-0:35557:35653 [1] NCCL INFO Init timings - ncclCommInitRankConfig: rank 1 nranks 16 total 2.09 (kernels 0.19, alloc 0.97, bootstrap 0.10, allgathers 0.00, topo 0.53, graphs 0.02, connections 0.27, rest 0.01) +t-20260527143420-qx7hv-worker-0:35558:35654 [2] NCCL INFO Init timings - ncclCommInitRankConfig: rank 2 nranks 16 total 2.08 (kernels 0.19, alloc 0.99, bootstrap 0.08, allgathers 0.01, topo 0.53, graphs 0.02, connections 0.26, rest 0.00) +t-20260527143420-qx7hv-worker-0:35556:35749 [0] NCCL INFO Channel 00/0 : 0[0] -> 1[1] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35556:35749 [0] NCCL INFO Channel 02/0 : 0[0] -> 1[1] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35556:35749 [0] NCCL INFO Channel 03/0 : 0[0] -> 1[1] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35556:35749 [0] NCCL INFO Channel 04/0 : 0[0] -> 1[1] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35556:35749 [0] NCCL INFO Channel 05/0 : 0[0] -> 1[1] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35556:35749 [0] NCCL INFO Channel 06/0 : 0[0] -> 1[1] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35556:35749 [0] NCCL INFO Channel 07/0 : 0[0] -> 1[1] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35556:35749 [0] NCCL INFO Channel 08/0 : 0[0] -> 1[1] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35556:35749 [0] NCCL INFO Channel 10/0 : 0[0] -> 1[1] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35556:35749 [0] NCCL INFO Channel 11/0 : 0[0] -> 1[1] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35556:35749 [0] NCCL INFO Channel 12/0 : 0[0] -> 1[1] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35556:35749 [0] NCCL INFO Channel 13/0 : 0[0] -> 1[1] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35556:35749 [0] NCCL INFO Channel 14/0 : 0[0] -> 1[1] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35556:35749 [0] NCCL INFO Channel 15/0 : 0[0] -> 1[1] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35557:35748 [1] NCCL INFO Channel 00/0 : 1[1] -> 2[2] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35562:35750 [6] NCCL INFO Channel 00/0 : 6[6] -> 7[7] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35557:35748 [1] NCCL INFO Channel 01/0 : 1[1] -> 2[2] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35562:35750 [6] NCCL INFO Channel 01/0 : 6[6] -> 7[7] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35557:35748 [1] NCCL INFO Channel 03/0 : 1[1] -> 2[2] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35562:35750 [6] NCCL INFO Channel 02/0 : 6[6] -> 7[7] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35562:35750 [6] NCCL INFO Channel 03/0 : 6[6] -> 7[7] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35562:35750 [6] NCCL INFO Channel 04/0 : 6[6] -> 7[7] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35562:35750 [6] NCCL INFO Channel 05/0 : 6[6] -> 7[7] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35562:35750 [6] NCCL INFO Channel 06/0 : 6[6] -> 7[7] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35557:35748 [1] NCCL INFO Channel 04/0 : 1[1] -> 2[2] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35562:35750 [6] NCCL INFO Channel 08/0 : 6[6] -> 7[7] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35557:35748 [1] NCCL INFO Channel 05/0 : 1[1] -> 2[2] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35562:35750 [6] NCCL INFO Channel 09/0 : 6[6] -> 7[7] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35557:35748 [1] NCCL INFO Channel 06/0 : 1[1] -> 2[2] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35562:35750 [6] NCCL INFO Channel 10/0 : 6[6] -> 7[7] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35557:35748 [1] NCCL INFO Channel 07/0 : 1[1] -> 2[2] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35562:35750 [6] NCCL INFO Channel 11/0 : 6[6] -> 7[7] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35557:35748 [1] NCCL INFO Channel 08/0 : 1[1] -> 2[2] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35562:35750 [6] NCCL INFO Channel 12/0 : 6[6] -> 7[7] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35557:35748 [1] NCCL INFO Channel 09/0 : 1[1] -> 2[2] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35562:35750 [6] NCCL INFO Channel 13/0 : 6[6] -> 7[7] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35557:35748 [1] NCCL INFO Channel 11/0 : 1[1] -> 2[2] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35562:35750 [6] NCCL INFO Channel 14/0 : 6[6] -> 7[7] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35557:35748 [1] NCCL INFO Channel 12/0 : 1[1] -> 2[2] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35557:35748 [1] NCCL INFO Channel 13/0 : 1[1] -> 2[2] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35560:35752 [4] NCCL INFO Channel 00/0 : 4[4] -> 5[5] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35557:35748 [1] NCCL INFO Channel 14/0 : 1[1] -> 2[2] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35560:35752 [4] NCCL INFO Channel 01/0 : 4[4] -> 5[5] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35557:35748 [1] NCCL INFO Channel 15/0 : 1[1] -> 2[2] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35560:35752 [4] NCCL INFO Channel 02/0 : 4[4] -> 5[5] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35556:35749 [0] NCCL INFO Channel 01/0 : 0[0] -> 7[7] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35560:35752 [4] NCCL INFO Channel 03/0 : 4[4] -> 5[5] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35556:35749 [0] NCCL INFO Channel 02/0 : 0[0] -> 7[7] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35560:35752 [4] NCCL INFO Channel 04/0 : 4[4] -> 5[5] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35558:35753 [2] NCCL INFO Channel 00/0 : 2[2] -> 3[3] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35556:35749 [0] NCCL INFO Channel 03/0 : 0[0] -> 7[7] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35559:35754 [3] NCCL INFO Channel 00/0 : 3[3] -> 4[4] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35560:35752 [4] NCCL INFO Channel 06/0 : 4[4] -> 5[5] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35561:35755 [5] NCCL INFO Channel 00/0 : 5[5] -> 6[6] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35558:35753 [2] NCCL INFO Channel 01/0 : 2[2] -> 3[3] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35556:35749 [0] NCCL INFO Channel 04/0 : 0[0] -> 7[7] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35559:35754 [3] NCCL INFO Channel 01/0 : 3[3] -> 4[4] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35560:35752 [4] NCCL INFO Channel 07/0 : 4[4] -> 5[5] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35561:35755 [5] NCCL INFO Channel 01/0 : 5[5] -> 6[6] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35558:35753 [2] NCCL INFO Channel 02/0 : 2[2] -> 3[3] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35556:35749 [0] NCCL INFO Channel 05/0 : 0[0] -> 7[7] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35559:35754 [3] NCCL INFO Channel 02/0 : 3[3] -> 4[4] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35560:35752 [4] NCCL INFO Channel 08/0 : 4[4] -> 5[5] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35561:35755 [5] NCCL INFO Channel 02/0 : 5[5] -> 6[6] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35558:35753 [2] NCCL INFO Channel 04/0 : 2[2] -> 3[3] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35556:35749 [0] NCCL INFO Channel 06/0 : 0[0] -> 7[7] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35559:35754 [3] NCCL INFO Channel 03/0 : 3[3] -> 4[4] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35560:35752 [4] NCCL INFO Channel 09/0 : 4[4] -> 5[5] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35561:35755 [5] NCCL INFO Channel 03/0 : 5[5] -> 6[6] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35558:35753 [2] NCCL INFO Channel 05/0 : 2[2] -> 3[3] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35556:35749 [0] NCCL INFO Channel 07/0 : 0[0] -> 7[7] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35559:35754 [3] NCCL INFO Channel 05/0 : 3[3] -> 4[4] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35560:35752 [4] NCCL INFO Channel 10/0 : 4[4] -> 5[5] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35561:35755 [5] NCCL INFO Channel 04/0 : 5[5] -> 6[6] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35558:35753 [2] NCCL INFO Channel 06/0 : 2[2] -> 3[3] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35556:35749 [0] NCCL INFO Channel 09/0 : 0[0] -> 7[7] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35559:35754 [3] NCCL INFO Channel 06/0 : 3[3] -> 4[4] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35560:35752 [4] NCCL INFO Channel 11/0 : 4[4] -> 5[5] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35561:35755 [5] NCCL INFO Channel 05/0 : 5[5] -> 6[6] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35558:35753 [2] NCCL INFO Channel 07/0 : 2[2] -> 3[3] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35556:35749 [0] NCCL INFO Channel 10/0 : 0[0] -> 7[7] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35559:35754 [3] NCCL INFO Channel 07/0 : 3[3] -> 4[4] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35560:35752 [4] NCCL INFO Channel 12/0 : 4[4] -> 5[5] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35561:35755 [5] NCCL INFO Channel 07/0 : 5[5] -> 6[6] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35558:35753 [2] NCCL INFO Channel 08/0 : 2[2] -> 3[3] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35556:35749 [0] NCCL INFO Channel 11/0 : 0[0] -> 7[7] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35559:35754 [3] NCCL INFO Channel 08/0 : 3[3] -> 4[4] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35560:35752 [4] NCCL INFO Channel 14/0 : 4[4] -> 5[5] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35561:35755 [5] NCCL INFO Channel 08/0 : 5[5] -> 6[6] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35558:35753 [2] NCCL INFO Channel 09/0 : 2[2] -> 3[3] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35556:35749 [0] NCCL INFO Channel 12/0 : 0[0] -> 7[7] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35559:35754 [3] NCCL INFO Channel 09/0 : 3[3] -> 4[4] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35560:35752 [4] NCCL INFO Channel 15/0 : 4[4] -> 5[5] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35561:35755 [5] NCCL INFO Channel 09/0 : 5[5] -> 6[6] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35558:35753 [2] NCCL INFO Channel 10/0 : 2[2] -> 3[3] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35556:35749 [0] NCCL INFO Channel 13/0 : 0[0] -> 7[7] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35559:35754 [3] NCCL INFO Channel 10/0 : 3[3] -> 4[4] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35561:35755 [5] NCCL INFO Channel 10/0 : 5[5] -> 6[6] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35558:35753 [2] NCCL INFO Channel 12/0 : 2[2] -> 3[3] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35556:35749 [0] NCCL INFO Channel 14/0 : 0[0] -> 7[7] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35559:35754 [3] NCCL INFO Channel 11/0 : 3[3] -> 4[4] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35561:35755 [5] NCCL INFO Channel 11/0 : 5[5] -> 6[6] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35558:35753 [2] NCCL INFO Channel 13/0 : 2[2] -> 3[3] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35556:35749 [0] NCCL INFO Channel 15/0 : 0[0] -> 7[7] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35559:35754 [3] NCCL INFO Channel 13/0 : 3[3] -> 4[4] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35561:35755 [5] NCCL INFO Channel 12/0 : 5[5] -> 6[6] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35558:35753 [2] NCCL INFO Channel 14/0 : 2[2] -> 3[3] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35559:35754 [3] NCCL INFO Channel 14/0 : 3[3] -> 4[4] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35561:35755 [5] NCCL INFO Channel 13/0 : 5[5] -> 6[6] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35558:35753 [2] NCCL INFO Channel 15/0 : 2[2] -> 3[3] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35559:35754 [3] NCCL INFO Channel 15/0 : 3[3] -> 4[4] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35561:35755 [5] NCCL INFO Channel 15/0 : 5[5] -> 6[6] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35563:35751 [7] NCCL INFO Channel 07/0 : 15[7] -> 7[7] [receive] via NET/IBext_v9/15/GDRDMA +t-20260527143420-qx7hv-worker-0:35563:35756 [7] NCCL INFO [Proxy Progress] Device 7 CPU core 98 +t-20260527143420-qx7hv-worker-0:35562:35750 [6] NCCL INFO Channel 06/0 : 14[6] -> 6[6] [receive] via NET/IBext_v9/14/GDRDMA +t-20260527143420-qx7hv-worker-0:35560:35752 [4] NCCL INFO Channel 04/0 : 12[4] -> 4[4] [receive] via NET/IBext_v9/12/GDRDMA +t-20260527143420-qx7hv-worker-0:35561:35755 [5] NCCL INFO Channel 05/0 : 13[5] -> 5[5] [receive] via NET/IBext_v9/13/GDRDMA +t-20260527143420-qx7hv-worker-0:35560:35758 [4] NCCL INFO [Proxy Progress] Device 4 CPU core 92 +t-20260527143420-qx7hv-worker-0:35562:35757 [6] NCCL INFO [Proxy Progress] Device 6 CPU core 175 +t-20260527143420-qx7hv-worker-0:35561:35759 [5] NCCL INFO [Proxy Progress] Device 5 CPU core 90 +t-20260527143420-qx7hv-worker-0:35556:35749 [0] NCCL INFO Channel 00/0 : 8[0] -> 0[0] [receive] via NET/IBext_v9/8/GDRDMA +t-20260527143420-qx7hv-worker-0:35556:35749 [0] NCCL INFO Channel 08/0 : 8[0] -> 0[0] [receive] via NET/IBext_v9/8/GDRDMA +t-20260527143420-qx7hv-worker-0:35556:35749 [0] NCCL INFO Channel 00/0 : 0[0] -> 8[0] [send] via NET/IBext_v9/8/GDRDMA +t-20260527143420-qx7hv-worker-0:35556:35749 [0] NCCL INFO Channel 08/0 : 0[0] -> 8[0] [send] via NET/IBext_v9/8/GDRDMA +t-20260527143420-qx7hv-worker-0:35556:35760 [0] NCCL INFO [Proxy Progress] Device 0 CPU core 48 +t-20260527143420-qx7hv-worker-0:35558:35753 [2] NCCL INFO Channel 02/0 : 10[2] -> 2[2] [receive] via NET/IBext_v9/10/GDRDMA +t-20260527143420-qx7hv-worker-0:35557:35748 [1] NCCL INFO Channel 01/0 : 9[1] -> 1[1] [receive] via NET/IBext_v9/9/GDRDMA +t-20260527143420-qx7hv-worker-0:35559:35754 [3] NCCL INFO Channel 03/0 : 11[3] -> 3[3] [receive] via NET/IBext_v9/11/GDRDMA +t-20260527143420-qx7hv-worker-0:35559:35763 [3] NCCL INFO [Proxy Progress] Device 3 CPU core 54 +t-20260527143420-qx7hv-worker-0:35558:35761 [2] NCCL INFO [Proxy Progress] Device 2 CPU core 8 +t-20260527143420-qx7hv-worker-0:35557:35762 [1] NCCL INFO [Proxy Progress] Device 1 CPU core 10 +t-20260527143420-qx7hv-worker-0:35559:35754 [3] NCCL INFO Channel 11/0 : 11[3] -> 3[3] [receive] via NET/IBext_v9/11/GDRDMA +t-20260527143420-qx7hv-worker-0:35558:35753 [2] NCCL INFO Channel 10/0 : 10[2] -> 2[2] [receive] via NET/IBext_v9/10/GDRDMA +t-20260527143420-qx7hv-worker-0:35563:35751 [7] NCCL INFO Channel 15/0 : 15[7] -> 7[7] [receive] via NET/IBext_v9/15/GDRDMA +t-20260527143420-qx7hv-worker-0:35559:35754 [3] NCCL INFO Channel 03/0 : 3[3] -> 11[3] [send] via NET/IBext_v9/11/GDRDMA +t-20260527143420-qx7hv-worker-0:35558:35753 [2] NCCL INFO Channel 02/0 : 2[2] -> 10[2] [send] via NET/IBext_v9/10/GDRDMA +t-20260527143420-qx7hv-worker-0:35563:35751 [7] NCCL INFO Channel 07/0 : 7[7] -> 15[7] [send] via NET/IBext_v9/15/GDRDMA +t-20260527143420-qx7hv-worker-0:35558:35753 [2] NCCL INFO Channel 10/0 : 2[2] -> 10[2] [send] via NET/IBext_v9/10/GDRDMA +t-20260527143420-qx7hv-worker-0:35559:35754 [3] NCCL INFO Channel 11/0 : 3[3] -> 11[3] [send] via NET/IBext_v9/11/GDRDMA +t-20260527143420-qx7hv-worker-0:35563:35751 [7] NCCL INFO Channel 15/0 : 7[7] -> 15[7] [send] via NET/IBext_v9/15/GDRDMA +t-20260527143420-qx7hv-worker-0:35563:35751 [7] NCCL INFO Channel 01/0 : 7[7] -> 0[0] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35563:35751 [7] NCCL INFO Channel 02/0 : 7[7] -> 0[0] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35561:35755 [5] NCCL INFO Channel 13/0 : 13[5] -> 5[5] [receive] via NET/IBext_v9/13/GDRDMA +t-20260527143420-qx7hv-worker-0:35560:35752 [4] NCCL INFO Channel 12/0 : 12[4] -> 4[4] [receive] via NET/IBext_v9/12/GDRDMA +t-20260527143420-qx7hv-worker-0:35560:35752 [4] NCCL INFO Channel 04/0 : 4[4] -> 12[4] [send] via NET/IBext_v9/12/GDRDMA +t-20260527143420-qx7hv-worker-0:35561:35755 [5] NCCL INFO Channel 05/0 : 5[5] -> 13[5] [send] via NET/IBext_v9/13/GDRDMA +t-20260527143420-qx7hv-worker-0:35560:35752 [4] NCCL INFO Channel 12/0 : 4[4] -> 12[4] [send] via NET/IBext_v9/12/GDRDMA +t-20260527143420-qx7hv-worker-0:35561:35755 [5] NCCL INFO Channel 13/0 : 5[5] -> 13[5] [send] via NET/IBext_v9/13/GDRDMA +t-20260527143420-qx7hv-worker-0:35563:35751 [7] NCCL INFO Channel 03/0 : 7[7] -> 0[0] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35563:35751 [7] NCCL INFO Channel 04/0 : 7[7] -> 0[0] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35563:35751 [7] NCCL INFO Channel 05/0 : 7[7] -> 0[0] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35563:35751 [7] NCCL INFO Channel 06/0 : 7[7] -> 0[0] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35563:35751 [7] NCCL INFO Channel 07/0 : 7[7] -> 0[0] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35563:35751 [7] NCCL INFO Channel 09/0 : 7[7] -> 0[0] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35563:35751 [7] NCCL INFO Channel 10/0 : 7[7] -> 0[0] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35563:35751 [7] NCCL INFO Channel 11/0 : 7[7] -> 0[0] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35562:35750 [6] NCCL INFO Channel 14/0 : 14[6] -> 6[6] [receive] via NET/IBext_v9/14/GDRDMA +t-20260527143420-qx7hv-worker-0:35557:35748 [1] NCCL INFO Channel 09/0 : 9[1] -> 1[1] [receive] via NET/IBext_v9/9/GDRDMA +t-20260527143420-qx7hv-worker-0:35562:35750 [6] NCCL INFO Channel 06/0 : 6[6] -> 14[6] [send] via NET/IBext_v9/14/GDRDMA +t-20260527143420-qx7hv-worker-0:35557:35748 [1] NCCL INFO Channel 01/0 : 1[1] -> 9[1] [send] via NET/IBext_v9/9/GDRDMA +t-20260527143420-qx7hv-worker-0:35563:35751 [7] NCCL INFO Channel 12/0 : 7[7] -> 0[0] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35562:35750 [6] NCCL INFO Channel 14/0 : 6[6] -> 14[6] [send] via NET/IBext_v9/14/GDRDMA +t-20260527143420-qx7hv-worker-0:35557:35748 [1] NCCL INFO Channel 09/0 : 1[1] -> 9[1] [send] via NET/IBext_v9/9/GDRDMA +t-20260527143420-qx7hv-worker-0:35563:35751 [7] NCCL INFO Channel 13/0 : 7[7] -> 0[0] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35563:35751 [7] NCCL INFO Channel 14/0 : 7[7] -> 0[0] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35563:35751 [7] NCCL INFO Channel 15/0 : 7[7] -> 0[0] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35563:35751 [7] NCCL INFO Channel 00/0 : 7[7] -> 6[6] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35563:35751 [7] NCCL INFO Channel 01/0 : 7[7] -> 6[6] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35563:35751 [7] NCCL INFO Channel 02/0 : 7[7] -> 6[6] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35560:35752 [4] NCCL INFO Channel 00/0 : 4[4] -> 3[3] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35563:35751 [7] NCCL INFO Channel 03/0 : 7[7] -> 6[6] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35560:35752 [4] NCCL INFO Channel 01/0 : 4[4] -> 3[3] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35563:35751 [7] NCCL INFO Channel 04/0 : 7[7] -> 6[6] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35560:35752 [4] NCCL INFO Channel 02/0 : 4[4] -> 3[3] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35563:35751 [7] NCCL INFO Channel 05/0 : 7[7] -> 6[6] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35560:35752 [4] NCCL INFO Channel 03/0 : 4[4] -> 3[3] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35563:35751 [7] NCCL INFO Channel 06/0 : 7[7] -> 6[6] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35560:35752 [4] NCCL INFO Channel 05/0 : 4[4] -> 3[3] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35563:35751 [7] NCCL INFO Channel 08/0 : 7[7] -> 6[6] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35560:35752 [4] NCCL INFO Channel 06/0 : 4[4] -> 3[3] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35563:35751 [7] NCCL INFO Channel 09/0 : 7[7] -> 6[6] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35560:35752 [4] NCCL INFO Channel 07/0 : 4[4] -> 3[3] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35563:35751 [7] NCCL INFO Channel 10/0 : 7[7] -> 6[6] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35560:35752 [4] NCCL INFO Channel 08/0 : 4[4] -> 3[3] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35563:35751 [7] NCCL INFO Channel 11/0 : 7[7] -> 6[6] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35560:35752 [4] NCCL INFO Channel 09/0 : 4[4] -> 3[3] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35563:35751 [7] NCCL INFO Channel 12/0 : 7[7] -> 6[6] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35560:35752 [4] NCCL INFO Channel 10/0 : 4[4] -> 3[3] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35563:35751 [7] NCCL INFO Channel 13/0 : 7[7] -> 6[6] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35560:35752 [4] NCCL INFO Channel 11/0 : 4[4] -> 3[3] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35563:35751 [7] NCCL INFO Channel 14/0 : 7[7] -> 6[6] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35560:35752 [4] NCCL INFO Channel 13/0 : 4[4] -> 3[3] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35560:35752 [4] NCCL INFO Channel 14/0 : 4[4] -> 3[3] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35560:35752 [4] NCCL INFO Channel 15/0 : 4[4] -> 3[3] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35559:35754 [3] NCCL INFO Channel 00/0 : 3[3] -> 2[2] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35558:35753 [2] NCCL INFO Channel 00/0 : 2[2] -> 1[1] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35561:35755 [5] NCCL INFO Channel 00/0 : 5[5] -> 4[4] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35562:35750 [6] NCCL INFO Channel 00/0 : 6[6] -> 5[5] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35557:35748 [1] NCCL INFO Channel 00/0 : 1[1] -> 0[0] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35559:35754 [3] NCCL INFO Channel 01/0 : 3[3] -> 2[2] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35558:35753 [2] NCCL INFO Channel 01/0 : 2[2] -> 1[1] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35561:35755 [5] NCCL INFO Channel 01/0 : 5[5] -> 4[4] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35562:35750 [6] NCCL INFO Channel 01/0 : 6[6] -> 5[5] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35557:35748 [1] NCCL INFO Channel 02/0 : 1[1] -> 0[0] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35559:35754 [3] NCCL INFO Channel 02/0 : 3[3] -> 2[2] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35558:35753 [2] NCCL INFO Channel 03/0 : 2[2] -> 1[1] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35561:35755 [5] NCCL INFO Channel 02/0 : 5[5] -> 4[4] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35562:35750 [6] NCCL INFO Channel 02/0 : 6[6] -> 5[5] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35557:35748 [1] NCCL INFO Channel 03/0 : 1[1] -> 0[0] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35559:35754 [3] NCCL INFO Channel 04/0 : 3[3] -> 2[2] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35558:35753 [2] NCCL INFO Channel 04/0 : 2[2] -> 1[1] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35561:35755 [5] NCCL INFO Channel 03/0 : 5[5] -> 4[4] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35562:35750 [6] NCCL INFO Channel 03/0 : 6[6] -> 5[5] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35557:35748 [1] NCCL INFO Channel 04/0 : 1[1] -> 0[0] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35559:35754 [3] NCCL INFO Channel 05/0 : 3[3] -> 2[2] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35558:35753 [2] NCCL INFO Channel 05/0 : 2[2] -> 1[1] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35561:35755 [5] NCCL INFO Channel 04/0 : 5[5] -> 4[4] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35562:35750 [6] NCCL INFO Channel 04/0 : 6[6] -> 5[5] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35557:35748 [1] NCCL INFO Channel 05/0 : 1[1] -> 0[0] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35559:35754 [3] NCCL INFO Channel 06/0 : 3[3] -> 2[2] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35558:35753 [2] NCCL INFO Channel 06/0 : 2[2] -> 1[1] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35561:35755 [5] NCCL INFO Channel 06/0 : 5[5] -> 4[4] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35562:35750 [6] NCCL INFO Channel 05/0 : 6[6] -> 5[5] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35557:35748 [1] NCCL INFO Channel 06/0 : 1[1] -> 0[0] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35559:35754 [3] NCCL INFO Channel 07/0 : 3[3] -> 2[2] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35558:35753 [2] NCCL INFO Channel 07/0 : 2[2] -> 1[1] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35561:35755 [5] NCCL INFO Channel 07/0 : 5[5] -> 4[4] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35562:35750 [6] NCCL INFO Channel 07/0 : 6[6] -> 5[5] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35557:35748 [1] NCCL INFO Channel 07/0 : 1[1] -> 0[0] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35559:35754 [3] NCCL INFO Channel 08/0 : 3[3] -> 2[2] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35558:35753 [2] NCCL INFO Channel 08/0 : 2[2] -> 1[1] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35561:35755 [5] NCCL INFO Channel 08/0 : 5[5] -> 4[4] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35562:35750 [6] NCCL INFO Channel 08/0 : 6[6] -> 5[5] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35557:35748 [1] NCCL INFO Channel 08/0 : 1[1] -> 0[0] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35559:35754 [3] NCCL INFO Channel 09/0 : 3[3] -> 2[2] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35558:35753 [2] NCCL INFO Channel 09/0 : 2[2] -> 1[1] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35561:35755 [5] NCCL INFO Channel 09/0 : 5[5] -> 4[4] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35562:35750 [6] NCCL INFO Channel 09/0 : 6[6] -> 5[5] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35557:35748 [1] NCCL INFO Channel 10/0 : 1[1] -> 0[0] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35559:35754 [3] NCCL INFO Channel 10/0 : 3[3] -> 2[2] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35558:35753 [2] NCCL INFO Channel 11/0 : 2[2] -> 1[1] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35561:35755 [5] NCCL INFO Channel 10/0 : 5[5] -> 4[4] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35562:35750 [6] NCCL INFO Channel 10/0 : 6[6] -> 5[5] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35557:35748 [1] NCCL INFO Channel 11/0 : 1[1] -> 0[0] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35559:35754 [3] NCCL INFO Channel 12/0 : 3[3] -> 2[2] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35558:35753 [2] NCCL INFO Channel 12/0 : 2[2] -> 1[1] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35561:35755 [5] NCCL INFO Channel 11/0 : 5[5] -> 4[4] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35562:35750 [6] NCCL INFO Channel 11/0 : 6[6] -> 5[5] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35557:35748 [1] NCCL INFO Channel 12/0 : 1[1] -> 0[0] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35557:35748 [1] NCCL INFO Channel 13/0 : 1[1] -> 0[0] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35562:35750 [6] NCCL INFO Channel 12/0 : 6[6] -> 5[5] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35561:35755 [5] NCCL INFO Channel 12/0 : 5[5] -> 4[4] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35557:35748 [1] NCCL INFO Channel 14/0 : 1[1] -> 0[0] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35559:35754 [3] NCCL INFO Channel 13/0 : 3[3] -> 2[2] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35562:35750 [6] NCCL INFO Channel 13/0 : 6[6] -> 5[5] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35561:35755 [5] NCCL INFO Channel 14/0 : 5[5] -> 4[4] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35557:35748 [1] NCCL INFO Channel 15/0 : 1[1] -> 0[0] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35562:35750 [6] NCCL INFO Channel 15/0 : 6[6] -> 5[5] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35559:35754 [3] NCCL INFO Channel 14/0 : 3[3] -> 2[2] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35561:35755 [5] NCCL INFO Channel 15/0 : 5[5] -> 4[4] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35559:35754 [3] NCCL INFO Channel 15/0 : 3[3] -> 2[2] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35558:35753 [2] NCCL INFO Channel 13/0 : 2[2] -> 1[1] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35558:35753 [2] NCCL INFO Channel 14/0 : 2[2] -> 1[1] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35558:35753 [2] NCCL INFO Channel 15/0 : 2[2] -> 1[1] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35557:35739 [1] NCCL INFO NCCL_IB_GID_INDEX set by environment to 7. +t-20260527143420-qx7hv-worker-0:35557:35739 [1] NCCL INFO NCCL_IB_TIMEOUT set by environment to 23. +t-20260527143420-qx7hv-worker-0:35557:35739 [1] NCCL INFO NCCL_IB_RETRY_CNT set by environment to 7. +t-20260527143420-qx7hv-worker-0:35559:35742 [3] NCCL INFO NCCL_IB_GID_INDEX set by environment to 7. +t-20260527143420-qx7hv-worker-0:35558:35740 [2] NCCL INFO NCCL_IB_GID_INDEX set by environment to 7. +t-20260527143420-qx7hv-worker-0:35559:35742 [3] NCCL INFO NCCL_IB_TIMEOUT set by environment to 23. +t-20260527143420-qx7hv-worker-0:35559:35742 [3] NCCL INFO NCCL_IB_RETRY_CNT set by environment to 7. +t-20260527143420-qx7hv-worker-0:35558:35740 [2] NCCL INFO NCCL_IB_TIMEOUT set by environment to 23. +t-20260527143420-qx7hv-worker-0:35558:35740 [2] NCCL INFO NCCL_IB_RETRY_CNT set by environment to 7. +t-20260527143420-qx7hv-worker-0:35563:35738 [7] NCCL INFO NCCL_IB_GID_INDEX set by environment to 7. +t-20260527143420-qx7hv-worker-0:35563:35738 [7] NCCL INFO NCCL_IB_TIMEOUT set by environment to 23. +t-20260527143420-qx7hv-worker-0:35563:35738 [7] NCCL INFO NCCL_IB_RETRY_CNT set by environment to 7. +t-20260527143420-qx7hv-worker-0:35560:35737 [4] NCCL INFO NCCL_IB_GID_INDEX set by environment to 7. +t-20260527143420-qx7hv-worker-0:35560:35737 [4] NCCL INFO NCCL_IB_TIMEOUT set by environment to 23. +t-20260527143420-qx7hv-worker-0:35560:35737 [4] NCCL INFO NCCL_IB_RETRY_CNT set by environment to 7. +t-20260527143420-qx7hv-worker-0:35562:35732 [6] NCCL INFO NCCL_IB_GID_INDEX set by environment to 7. +t-20260527143420-qx7hv-worker-0:35562:35732 [6] NCCL INFO NCCL_IB_TIMEOUT set by environment to 23. +t-20260527143420-qx7hv-worker-0:35562:35732 [6] NCCL INFO NCCL_IB_RETRY_CNT set by environment to 7. +t-20260527143420-qx7hv-worker-0:35561:35733 [5] NCCL INFO NCCL_IB_GID_INDEX set by environment to 7. +t-20260527143420-qx7hv-worker-0:35556:35736 [0] NCCL INFO NCCL_IB_GID_INDEX set by environment to 7. +t-20260527143420-qx7hv-worker-0:35561:35733 [5] NCCL INFO NCCL_IB_TIMEOUT set by environment to 23. +t-20260527143420-qx7hv-worker-0:35561:35733 [5] NCCL INFO NCCL_IB_RETRY_CNT set by environment to 7. +t-20260527143420-qx7hv-worker-0:35556:35736 [0] NCCL INFO NCCL_IB_TIMEOUT set by environment to 23. +t-20260527143420-qx7hv-worker-0:35556:35736 [0] NCCL INFO NCCL_IB_RETRY_CNT set by environment to 7. +t-20260527143420-qx7hv-worker-0:35558:35753 [2] NCCL INFO Connected all trees +t-20260527143420-qx7hv-worker-0:35556:35749 [0] NCCL INFO Connected all trees +t-20260527143420-qx7hv-worker-0:35557:35748 [1] NCCL INFO Connected all trees +t-20260527143420-qx7hv-worker-0:35563:35751 [7] NCCL INFO Connected all trees +t-20260527143420-qx7hv-worker-0:35562:35750 [6] NCCL INFO Connected all trees +t-20260527143420-qx7hv-worker-0:35559:35754 [3] NCCL INFO Connected all trees +t-20260527143420-qx7hv-worker-0:35561:35755 [5] NCCL INFO Connected all trees +t-20260527143420-qx7hv-worker-0:35560:35752 [4] NCCL INFO Connected all trees +t-20260527143420-qx7hv-worker-0:35556:35765 [0] NCCL INFO Channel 00/0 : 0[0] -> 7[7] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35556:35765 [0] NCCL INFO Channel 08/0 : 0[0] -> 7[7] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35562:35790 [6] NCCL INFO Channel 07/0 : 6[6] -> 14[6] [send] via NET/IBext_v9/14/GDRDMA +t-20260527143420-qx7hv-worker-0:35562:35790 [6] NCCL INFO Channel 15/0 : 6[6] -> 14[6] [send] via NET/IBext_v9/14/GDRDMA +t-20260527143420-qx7hv-worker-0:35559:35791 [3] NCCL INFO Channel 02/0 : 3[3] -> 11[3] [send] via NET/IBext_v9/11/GDRDMA +t-20260527143420-qx7hv-worker-0:35559:35791 [3] NCCL INFO Channel 10/0 : 3[3] -> 11[3] [send] via NET/IBext_v9/11/GDRDMA +t-20260527143420-qx7hv-worker-0:35561:35792 [5] NCCL INFO Channel 04/0 : 5[5] -> 13[5] [send] via NET/IBext_v9/13/GDRDMA +t-20260527143420-qx7hv-worker-0:35561:35792 [5] NCCL INFO Channel 12/0 : 5[5] -> 13[5] [send] via NET/IBext_v9/13/GDRDMA +t-20260527143420-qx7hv-worker-0:35560:35794 [4] NCCL INFO Channel 05/0 : 4[4] -> 12[4] [send] via NET/IBext_v9/12/GDRDMA +t-20260527143420-qx7hv-worker-0:35560:35794 [4] NCCL INFO Channel 13/0 : 4[4] -> 12[4] [send] via NET/IBext_v9/12/GDRDMA +t-20260527143420-qx7hv-worker-0:35563:35793 [7] NCCL INFO Channel 06/0 : 7[7] -> 15[7] [send] via NET/IBext_v9/15/GDRDMA +t-20260527143420-qx7hv-worker-0:35563:35793 [7] NCCL INFO Channel 14/0 : 7[7] -> 15[7] [send] via NET/IBext_v9/15/GDRDMA +t-20260527143420-qx7hv-worker-0:35556:35765 [0] NCCL INFO Channel 01/0 : 0[0] -> 8[0] [send] via NET/IBext_v9/8/GDRDMA +t-20260527143420-qx7hv-worker-0:35556:35765 [0] NCCL INFO Channel 09/0 : 0[0] -> 8[0] [send] via NET/IBext_v9/8/GDRDMA +t-20260527143420-qx7hv-worker-0:35560:35794 [4] NCCL INFO Channel 04/0 : 4[4] -> 3[3] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35560:35794 [4] NCCL INFO Channel 12/0 : 4[4] -> 3[3] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35558:35795 [2] NCCL INFO Channel 03/0 : 2[2] -> 10[2] [send] via NET/IBext_v9/10/GDRDMA +t-20260527143420-qx7hv-worker-0:35558:35795 [2] NCCL INFO Channel 11/0 : 2[2] -> 10[2] [send] via NET/IBext_v9/10/GDRDMA +t-20260527143420-qx7hv-worker-0:35558:35795 [2] NCCL INFO Channel 02/0 : 2[2] -> 1[1] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35558:35795 [2] NCCL INFO Channel 10/0 : 2[2] -> 1[1] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35562:35790 [6] NCCL INFO Channel 06/0 : 6[6] -> 5[5] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35562:35790 [6] NCCL INFO Channel 14/0 : 6[6] -> 5[5] via P2P/CUMEM +t-20260527143420-qx7hv-worker-0:35557:35796 [1] NCCL INFO Channel 00/0 : 1[1] -> 9[1] [send] via NET/IBext_v9/9/GDRDMA +t-20260527143420-qx7hv-worker-0:35557:35796 [1] NCCL INFO Channel 08/0 : 1[1] -> 9[1] [send] via NET/IBext_v9/9/GDRDMA +t-20260527143420-qx7hv-worker-0:35563:35793 [7] NCCL INFO Connected all rings, use ring PXN 0 GDR 1 +t-20260527143420-qx7hv-worker-0:35562:35790 [6] NCCL INFO Connected all rings, use ring PXN 0 GDR 1 +t-20260527143420-qx7hv-worker-0:35557:35796 [1] NCCL INFO Connected all rings, use ring PXN 0 GDR 1 +t-20260527143420-qx7hv-worker-0:35561:35792 [5] NCCL INFO Connected all rings, use ring PXN 0 GDR 1 +t-20260527143420-qx7hv-worker-0:35558:35795 [2] NCCL INFO Connected all rings, use ring PXN 0 GDR 1 +t-20260527143420-qx7hv-worker-0:35556:35765 [0] NCCL INFO Connected all rings, use ring PXN 0 GDR 1 +t-20260527143420-qx7hv-worker-0:35559:35791 [3] NCCL INFO Connected all rings, use ring PXN 0 GDR 1 +t-20260527143420-qx7hv-worker-0:35560:35794 [4] NCCL INFO Connected all rings, use ring PXN 0 GDR 1 +{ + "data_path": "/e2e-data/evad-tech-vla/wanghan58/data/small_benchmarks/langflow_2604_11748/openwebtext", + "tokenizer_path": "/e2e-data/evad-tech-vla/wanghan58/models/hf/t5-small/tokenizer.json", + "out_dir": "runs/mini_owt_fit_t5_bernoulliwrong_len1024_bos_eos_C1_to_1024_absrope_time4_d768_l12_h12_native_nofloor_full_gbs512_8gpu_20260527_081554", + "text_column": "text", + "subset_size": 0, + "payload_len": 1022, + "append_eos": 1, + "log_skips": 20, + "cache_path": "cache/owt_t5_payload1022_appendeos1.pt", + "rebuild_cache": 0, + "online_data": 0, + "online_buffer_size": 8192, + "steps": 1000000, + "batch_size": 32, + "grad_accum": 2, + "lr": 0.0003, + "log_every": 50, + "save_every": 1000, + "dim": 768, + "layers": 12, + "heads": 12, + "mlp_dim": 3072, + "time_tokens": 4, + "abs_pos": 1, + "rope": 1, + "c_min": 1.0, + "c_max": 1024.0, + "seed": 1234 +} +[data] rows=2860537 length=1024 vocab=32100 seen=8013769 dropped=5153232 kept=2860537 bos=1: eos=1: +[head] ['', '▁Port', '-', 'au', '-', 'Pri', 'nce', ',', '▁Haiti', '▁(', 'C', 'NN', ')', '▁--', '▁Earth', 'qua'] +[tail] ['▁magnitude', '▁earthquake', '▁flat', 't', 'ened', '▁Haiti', "'", 's', '▁capital', '▁city', '▁Tuesday', '▁afternoon', ',', '▁', 'affecting', ''] +t-20260527143420-qx7hv-worker-0:35558:35883 [2] NCCL INFO NVLS comm 0x94399e0 headRank 2 nHeads 8 buffSize 1048576 nvlsPerRankSize 33554432 nvlsTotalSize 268435456 +t-20260527143420-qx7hv-worker-0:35563:35884 [7] NCCL INFO NVLS comm 0x94c87d0 headRank 7 nHeads 8 buffSize 1048576 nvlsPerRankSize 33554432 nvlsTotalSize 268435456 +t-20260527143420-qx7hv-worker-0:35559:35885 [3] NCCL INFO NVLS comm 0xad58700 headRank 3 nHeads 8 buffSize 1048576 nvlsPerRankSize 33554432 nvlsTotalSize 268435456 +t-20260527143420-qx7hv-worker-0:35562:35886 [6] NCCL INFO NVLS comm 0xa8656d0 headRank 6 nHeads 8 buffSize 1048576 nvlsPerRankSize 33554432 nvlsTotalSize 268435456 +t-20260527143420-qx7hv-worker-0:35560:35887 [4] NCCL INFO NVLS comm 0xa847400 headRank 4 nHeads 8 buffSize 1048576 nvlsPerRankSize 33554432 nvlsTotalSize 268435456 +t-20260527143420-qx7hv-worker-0:35561:35888 [5] NCCL INFO NVLS comm 0x95d4d30 headRank 5 nHeads 8 buffSize 1048576 nvlsPerRankSize 33554432 nvlsTotalSize 268435456 +t-20260527143420-qx7hv-worker-0:35557:35889 [1] NCCL INFO NVLS comm 0x9338960 headRank 1 nHeads 8 buffSize 1048576 nvlsPerRankSize 33554432 nvlsTotalSize 268435456 +t-20260527143420-qx7hv-worker-0:35556:35890 [0] NCCL INFO NVLS comm 0xb6e0e70 headRank 0 nHeads 8 buffSize 1048576 nvlsPerRankSize 33554432 nvlsTotalSize 268435456 +t-20260527143420-qx7hv-worker-0:35557:35889 [1] NCCL INFO Channel 00/0 : 9[1] -> 1[1] [receive] via NET/IBext_v9/9/GDRDMA +t-20260527143420-qx7hv-worker-0:35562:35886 [6] NCCL INFO Channel 00/0 : 14[6] -> 6[6] [receive] via NET/IBext_v9/14/GDRDMA +t-20260527143420-qx7hv-worker-0:35560:35887 [4] NCCL INFO Channel 00/0 : 12[4] -> 4[4] [receive] via NET/IBext_v9/12/GDRDMA +t-20260527143420-qx7hv-worker-0:35559:35885 [3] NCCL INFO Channel 00/0 : 11[3] -> 3[3] [receive] via NET/IBext_v9/11/GDRDMA +t-20260527143420-qx7hv-worker-0:35556:35890 [0] NCCL INFO Channel 01/0 : 8[0] -> 0[0] [receive] via NET/IBext_v9/8/GDRDMA +t-20260527143420-qx7hv-worker-0:35563:35884 [7] NCCL INFO Channel 00/0 : 15[7] -> 7[7] [receive] via NET/IBext_v9/15/GDRDMA +t-20260527143420-qx7hv-worker-0:35558:35883 [2] NCCL INFO Channel 00/0 : 10[2] -> 2[2] [receive] via NET/IBext_v9/10/GDRDMA +t-20260527143420-qx7hv-worker-0:35561:35888 [5] NCCL INFO Channel 00/0 : 13[5] -> 5[5] [receive] via NET/IBext_v9/13/GDRDMA +t-20260527143420-qx7hv-worker-0:35557:35889 [1] NCCL INFO Channel 02/0 : 9[1] -> 1[1] [receive] via NET/IBext_v9/9/GDRDMA +t-20260527143420-qx7hv-worker-0:35562:35886 [6] NCCL INFO Channel 01/0 : 14[6] -> 6[6] [receive] via NET/IBext_v9/14/GDRDMA +t-20260527143420-qx7hv-worker-0:35560:35887 [4] NCCL INFO Channel 01/0 : 12[4] -> 4[4] [receive] via NET/IBext_v9/12/GDRDMA +t-20260527143420-qx7hv-worker-0:35556:35890 [0] NCCL INFO Channel 02/0 : 8[0] -> 0[0] [receive] via NET/IBext_v9/8/GDRDMA +t-20260527143420-qx7hv-worker-0:35559:35885 [3] NCCL INFO Channel 01/0 : 11[3] -> 3[3] [receive] via NET/IBext_v9/11/GDRDMA +t-20260527143420-qx7hv-worker-0:35563:35884 [7] NCCL INFO Channel 01/0 : 15[7] -> 7[7] [receive] via NET/IBext_v9/15/GDRDMA +t-20260527143420-qx7hv-worker-0:35561:35888 [5] NCCL INFO Channel 01/0 : 13[5] -> 5[5] [receive] via NET/IBext_v9/13/GDRDMA +t-20260527143420-qx7hv-worker-0:35558:35883 [2] NCCL INFO Channel 01/0 : 10[2] -> 2[2] [receive] via NET/IBext_v9/10/GDRDMA +t-20260527143420-qx7hv-worker-0:35557:35889 [1] NCCL INFO Channel 03/0 : 9[1] -> 1[1] [receive] via NET/IBext_v9/9/GDRDMA +t-20260527143420-qx7hv-worker-0:35562:35886 [6] NCCL INFO Channel 02/0 : 14[6] -> 6[6] [receive] via NET/IBext_v9/14/GDRDMA +t-20260527143420-qx7hv-worker-0:35560:35887 [4] NCCL INFO Channel 02/0 : 12[4] -> 4[4] [receive] via NET/IBext_v9/12/GDRDMA +t-20260527143420-qx7hv-worker-0:35559:35885 [3] NCCL INFO Channel 02/0 : 11[3] -> 3[3] [receive] via NET/IBext_v9/11/GDRDMA +t-20260527143420-qx7hv-worker-0:35556:35890 [0] NCCL INFO Channel 03/0 : 8[0] -> 0[0] [receive] via NET/IBext_v9/8/GDRDMA +t-20260527143420-qx7hv-worker-0:35563:35884 [7] NCCL INFO Channel 02/0 : 15[7] -> 7[7] [receive] via NET/IBext_v9/15/GDRDMA +t-20260527143420-qx7hv-worker-0:35561:35888 [5] NCCL INFO Channel 02/0 : 13[5] -> 5[5] [receive] via NET/IBext_v9/13/GDRDMA +t-20260527143420-qx7hv-worker-0:35557:35889 [1] NCCL INFO Channel 04/0 : 9[1] -> 1[1] [receive] via NET/IBext_v9/9/GDRDMA +t-20260527143420-qx7hv-worker-0:35562:35886 [6] NCCL INFO Channel 03/0 : 14[6] -> 6[6] [receive] via NET/IBext_v9/14/GDRDMA +t-20260527143420-qx7hv-worker-0:35560:35887 [4] NCCL INFO Channel 03/0 : 12[4] -> 4[4] [receive] via NET/IBext_v9/12/GDRDMA +t-20260527143420-qx7hv-worker-0:35558:35883 [2] NCCL INFO Channel 03/0 : 10[2] -> 2[2] [receive] via NET/IBext_v9/10/GDRDMA +t-20260527143420-qx7hv-worker-0:35559:35885 [3] NCCL INFO Channel 04/0 : 11[3] -> 3[3] [receive] via NET/IBext_v9/11/GDRDMA +t-20260527143420-qx7hv-worker-0:35556:35890 [0] NCCL INFO Channel 04/0 : 8[0] -> 0[0] [receive] via NET/IBext_v9/8/GDRDMA +t-20260527143420-qx7hv-worker-0:35563:35884 [7] NCCL INFO Channel 03/0 : 15[7] -> 7[7] [receive] via NET/IBext_v9/15/GDRDMA +t-20260527143420-qx7hv-worker-0:35557:35889 [1] NCCL INFO Channel 05/0 : 9[1] -> 1[1] [receive] via NET/IBext_v9/9/GDRDMA +t-20260527143420-qx7hv-worker-0:35560:35887 [4] NCCL INFO Channel 05/0 : 12[4] -> 4[4] [receive] via NET/IBext_v9/12/GDRDMA +t-20260527143420-qx7hv-worker-0:35561:35888 [5] NCCL INFO Channel 03/0 : 13[5] -> 5[5] [receive] via NET/IBext_v9/13/GDRDMA +t-20260527143420-qx7hv-worker-0:35562:35886 [6] NCCL INFO Channel 04/0 : 14[6] -> 6[6] [receive] via NET/IBext_v9/14/GDRDMA +t-20260527143420-qx7hv-worker-0:35558:35883 [2] NCCL INFO Channel 04/0 : 10[2] -> 2[2] [receive] via NET/IBext_v9/10/GDRDMA +t-20260527143420-qx7hv-worker-0:35559:35885 [3] NCCL INFO Channel 05/0 : 11[3] -> 3[3] [receive] via NET/IBext_v9/11/GDRDMA +t-20260527143420-qx7hv-worker-0:35556:35890 [0] NCCL INFO Channel 05/0 : 8[0] -> 0[0] [receive] via NET/IBext_v9/8/GDRDMA +t-20260527143420-qx7hv-worker-0:35563:35884 [7] NCCL INFO Channel 04/0 : 15[7] -> 7[7] [receive] via NET/IBext_v9/15/GDRDMA +t-20260527143420-qx7hv-worker-0:35557:35889 [1] NCCL INFO Channel 06/0 : 9[1] -> 1[1] [receive] via NET/IBext_v9/9/GDRDMA +t-20260527143420-qx7hv-worker-0:35560:35887 [4] NCCL INFO Channel 06/0 : 12[4] -> 4[4] [receive] via NET/IBext_v9/12/GDRDMA +t-20260527143420-qx7hv-worker-0:35561:35888 [5] NCCL INFO Channel 04/0 : 13[5] -> 5[5] [receive] via NET/IBext_v9/13/GDRDMA +t-20260527143420-qx7hv-worker-0:35559:35885 [3] NCCL INFO Channel 06/0 : 11[3] -> 3[3] [receive] via NET/IBext_v9/11/GDRDMA +t-20260527143420-qx7hv-worker-0:35562:35886 [6] NCCL INFO Channel 05/0 : 14[6] -> 6[6] [receive] via NET/IBext_v9/14/GDRDMA +t-20260527143420-qx7hv-worker-0:35558:35883 [2] NCCL INFO Channel 05/0 : 10[2] -> 2[2] [receive] via NET/IBext_v9/10/GDRDMA +t-20260527143420-qx7hv-worker-0:35556:35890 [0] NCCL INFO Channel 06/0 : 8[0] -> 0[0] [receive] via NET/IBext_v9/8/GDRDMA +t-20260527143420-qx7hv-worker-0:35563:35884 [7] NCCL INFO Channel 05/0 : 15[7] -> 7[7] [receive] via NET/IBext_v9/15/GDRDMA +t-20260527143420-qx7hv-worker-0:35557:35889 [1] NCCL INFO Channel 07/0 : 9[1] -> 1[1] [receive] via NET/IBext_v9/9/GDRDMA +t-20260527143420-qx7hv-worker-0:35559:35885 [3] NCCL INFO Channel 07/0 : 11[3] -> 3[3] [receive] via NET/IBext_v9/11/GDRDMA +t-20260527143420-qx7hv-worker-0:35558:35883 [2] NCCL INFO Channel 06/0 : 10[2] -> 2[2] [receive] via NET/IBext_v9/10/GDRDMA +t-20260527143420-qx7hv-worker-0:35561:35888 [5] NCCL INFO Channel 06/0 : 13[5] -> 5[5] [receive] via NET/IBext_v9/13/GDRDMA +t-20260527143420-qx7hv-worker-0:35562:35886 [6] NCCL INFO Channel 07/0 : 14[6] -> 6[6] [receive] via NET/IBext_v9/14/GDRDMA +t-20260527143420-qx7hv-worker-0:35560:35887 [4] NCCL INFO Channel 07/0 : 12[4] -> 4[4] [receive] via NET/IBext_v9/12/GDRDMA +t-20260527143420-qx7hv-worker-0:35556:35890 [0] NCCL INFO Channel 07/0 : 8[0] -> 0[0] [receive] via NET/IBext_v9/8/GDRDMA +t-20260527143420-qx7hv-worker-0:35563:35884 [7] NCCL INFO Channel 06/0 : 15[7] -> 7[7] [receive] via NET/IBext_v9/15/GDRDMA +t-20260527143420-qx7hv-worker-0:35562:35886 [6] NCCL INFO Channel 08/0 : 14[6] -> 6[6] [receive] via NET/IBext_v9/14/GDRDMA +t-20260527143420-qx7hv-worker-0:35560:35887 [4] NCCL INFO Channel 08/0 : 12[4] -> 4[4] [receive] via NET/IBext_v9/12/GDRDMA +t-20260527143420-qx7hv-worker-0:35556:35890 [0] NCCL INFO Channel 09/0 : 8[0] -> 0[0] [receive] via NET/IBext_v9/8/GDRDMA +t-20260527143420-qx7hv-worker-0:35557:35889 [1] NCCL INFO Channel 08/0 : 9[1] -> 1[1] [receive] via NET/IBext_v9/9/GDRDMA +t-20260527143420-qx7hv-worker-0:35558:35883 [2] NCCL INFO Channel 07/0 : 10[2] -> 2[2] [receive] via NET/IBext_v9/10/GDRDMA +t-20260527143420-qx7hv-worker-0:35561:35888 [5] NCCL INFO Channel 07/0 : 13[5] -> 5[5] [receive] via NET/IBext_v9/13/GDRDMA +t-20260527143420-qx7hv-worker-0:35559:35885 [3] NCCL INFO Channel 08/0 : 11[3] -> 3[3] [receive] via NET/IBext_v9/11/GDRDMA +t-20260527143420-qx7hv-worker-0:35563:35884 [7] NCCL INFO Channel 08/0 : 15[7] -> 7[7] [receive] via NET/IBext_v9/15/GDRDMA +t-20260527143420-qx7hv-worker-0:35557:35889 [1] NCCL INFO Channel 10/0 : 9[1] -> 1[1] [receive] via NET/IBext_v9/9/GDRDMA +t-20260527143420-qx7hv-worker-0:35556:35890 [0] NCCL INFO Channel 10/0 : 8[0] -> 0[0] [receive] via NET/IBext_v9/8/GDRDMA +t-20260527143420-qx7hv-worker-0:35558:35883 [2] NCCL INFO Channel 08/0 : 10[2] -> 2[2] [receive] via NET/IBext_v9/10/GDRDMA +t-20260527143420-qx7hv-worker-0:35560:35887 [4] NCCL INFO Channel 09/0 : 12[4] -> 4[4] [receive] via NET/IBext_v9/12/GDRDMA +t-20260527143420-qx7hv-worker-0:35561:35888 [5] NCCL INFO Channel 08/0 : 13[5] -> 5[5] [receive] via NET/IBext_v9/13/GDRDMA +t-20260527143420-qx7hv-worker-0:35559:35885 [3] NCCL INFO Channel 09/0 : 11[3] -> 3[3] [receive] via NET/IBext_v9/11/GDRDMA +t-20260527143420-qx7hv-worker-0:35562:35886 [6] NCCL INFO Channel 09/0 : 14[6] -> 6[6] [receive] via NET/IBext_v9/14/GDRDMA +t-20260527143420-qx7hv-worker-0:35563:35884 [7] NCCL INFO Channel 09/0 : 15[7] -> 7[7] [receive] via NET/IBext_v9/15/GDRDMA +t-20260527143420-qx7hv-worker-0:35560:35887 [4] NCCL INFO Channel 10/0 : 12[4] -> 4[4] [receive] via NET/IBext_v9/12/GDRDMA +t-20260527143420-qx7hv-worker-0:35556:35890 [0] NCCL INFO Channel 11/0 : 8[0] -> 0[0] [receive] via NET/IBext_v9/8/GDRDMA +t-20260527143420-qx7hv-worker-0:35557:35889 [1] NCCL INFO Channel 11/0 : 9[1] -> 1[1] [receive] via NET/IBext_v9/9/GDRDMA +t-20260527143420-qx7hv-worker-0:35559:35885 [3] NCCL INFO Channel 10/0 : 11[3] -> 3[3] [receive] via NET/IBext_v9/11/GDRDMA +t-20260527143420-qx7hv-worker-0:35558:35883 [2] NCCL INFO Channel 09/0 : 10[2] -> 2[2] [receive] via NET/IBext_v9/10/GDRDMA +t-20260527143420-qx7hv-worker-0:35562:35886 [6] NCCL INFO Channel 10/0 : 14[6] -> 6[6] [receive] via NET/IBext_v9/14/GDRDMA +t-20260527143420-qx7hv-worker-0:35561:35888 [5] NCCL INFO Channel 09/0 : 13[5] -> 5[5] [receive] via NET/IBext_v9/13/GDRDMA +t-20260527143420-qx7hv-worker-0:35563:35884 [7] NCCL INFO Channel 10/0 : 15[7] -> 7[7] [receive] via NET/IBext_v9/15/GDRDMA +t-20260527143420-qx7hv-worker-0:35558:35883 [2] NCCL INFO Channel 11/0 : 10[2] -> 2[2] [receive] via NET/IBext_v9/10/GDRDMA +t-20260527143420-qx7hv-worker-0:35557:35889 [1] NCCL INFO Channel 12/0 : 9[1] -> 1[1] [receive] via NET/IBext_v9/9/GDRDMA +t-20260527143420-qx7hv-worker-0:35562:35886 [6] NCCL INFO Channel 11/0 : 14[6] -> 6[6] [receive] via NET/IBext_v9/14/GDRDMA +t-20260527143420-qx7hv-worker-0:35561:35888 [5] NCCL INFO Channel 10/0 : 13[5] -> 5[5] [receive] via NET/IBext_v9/13/GDRDMA +t-20260527143420-qx7hv-worker-0:35556:35890 [0] NCCL INFO Channel 12/0 : 8[0] -> 0[0] [receive] via NET/IBext_v9/8/GDRDMA +t-20260527143420-qx7hv-worker-0:35560:35887 [4] NCCL INFO Channel 11/0 : 12[4] -> 4[4] [receive] via NET/IBext_v9/12/GDRDMA +t-20260527143420-qx7hv-worker-0:35559:35885 [3] NCCL INFO Channel 12/0 : 11[3] -> 3[3] [receive] via NET/IBext_v9/11/GDRDMA +t-20260527143420-qx7hv-worker-0:35563:35884 [7] NCCL INFO Channel 11/0 : 15[7] -> 7[7] [receive] via NET/IBext_v9/15/GDRDMA +t-20260527143420-qx7hv-worker-0:35561:35888 [5] NCCL INFO Channel 11/0 : 13[5] -> 5[5] [receive] via NET/IBext_v9/13/GDRDMA +t-20260527143420-qx7hv-worker-0:35558:35883 [2] NCCL INFO Channel 12/0 : 10[2] -> 2[2] [receive] via NET/IBext_v9/10/GDRDMA +t-20260527143420-qx7hv-worker-0:35557:35889 [1] NCCL INFO Channel 13/0 : 9[1] -> 1[1] [receive] via NET/IBext_v9/9/GDRDMA +t-20260527143420-qx7hv-worker-0:35559:35885 [3] NCCL INFO Channel 13/0 : 11[3] -> 3[3] [receive] via NET/IBext_v9/11/GDRDMA +t-20260527143420-qx7hv-worker-0:35556:35890 [0] NCCL INFO Channel 13/0 : 8[0] -> 0[0] [receive] via NET/IBext_v9/8/GDRDMA +t-20260527143420-qx7hv-worker-0:35562:35886 [6] NCCL INFO Channel 12/0 : 14[6] -> 6[6] [receive] via NET/IBext_v9/14/GDRDMA +t-20260527143420-qx7hv-worker-0:35560:35887 [4] NCCL INFO Channel 13/0 : 12[4] -> 4[4] [receive] via NET/IBext_v9/12/GDRDMA +t-20260527143420-qx7hv-worker-0:35563:35884 [7] NCCL INFO Channel 12/0 : 15[7] -> 7[7] [receive] via NET/IBext_v9/15/GDRDMA +t-20260527143420-qx7hv-worker-0:35561:35888 [5] NCCL INFO Channel 12/0 : 13[5] -> 5[5] [receive] via NET/IBext_v9/13/GDRDMA +t-20260527143420-qx7hv-worker-0:35558:35883 [2] NCCL INFO Channel 13/0 : 10[2] -> 2[2] [receive] via NET/IBext_v9/10/GDRDMA +t-20260527143420-qx7hv-worker-0:35556:35890 [0] NCCL INFO Channel 14/0 : 8[0] -> 0[0] [receive] via NET/IBext_v9/8/GDRDMA +t-20260527143420-qx7hv-worker-0:35560:35887 [4] NCCL INFO Channel 14/0 : 12[4] -> 4[4] [receive] via NET/IBext_v9/12/GDRDMA +t-20260527143420-qx7hv-worker-0:35557:35889 [1] NCCL INFO Channel 14/0 : 9[1] -> 1[1] [receive] via NET/IBext_v9/9/GDRDMA +t-20260527143420-qx7hv-worker-0:35559:35885 [3] NCCL INFO Channel 14/0 : 11[3] -> 3[3] [receive] via NET/IBext_v9/11/GDRDMA +t-20260527143420-qx7hv-worker-0:35562:35886 [6] NCCL INFO Channel 13/0 : 14[6] -> 6[6] [receive] via NET/IBext_v9/14/GDRDMA +t-20260527143420-qx7hv-worker-0:35563:35884 [7] NCCL INFO Channel 13/0 : 15[7] -> 7[7] [receive] via NET/IBext_v9/15/GDRDMA +t-20260527143420-qx7hv-worker-0:35561:35888 [5] NCCL INFO Channel 14/0 : 13[5] -> 5[5] [receive] via NET/IBext_v9/13/GDRDMA +t-20260527143420-qx7hv-worker-0:35558:35883 [2] NCCL INFO Channel 14/0 : 10[2] -> 2[2] [receive] via NET/IBext_v9/10/GDRDMA +t-20260527143420-qx7hv-worker-0:35560:35887 [4] NCCL INFO Channel 15/0 : 12[4] -> 4[4] [receive] via NET/IBext_v9/12/GDRDMA +t-20260527143420-qx7hv-worker-0:35559:35885 [3] NCCL INFO Channel 15/0 : 11[3] -> 3[3] [receive] via NET/IBext_v9/11/GDRDMA +t-20260527143420-qx7hv-worker-0:35556:35890 [0] NCCL INFO Channel 15/0 : 8[0] -> 0[0] [receive] via NET/IBext_v9/8/GDRDMA +t-20260527143420-qx7hv-worker-0:35557:35889 [1] NCCL INFO Channel 15/0 : 9[1] -> 1[1] [receive] via NET/IBext_v9/9/GDRDMA +t-20260527143420-qx7hv-worker-0:35562:35886 [6] NCCL INFO Channel 15/0 : 14[6] -> 6[6] [receive] via NET/IBext_v9/14/GDRDMA +t-20260527143420-qx7hv-worker-0:35563:35884 [7] NCCL INFO Channel 14/0 : 15[7] -> 7[7] [receive] via NET/IBext_v9/15/GDRDMA +t-20260527143420-qx7hv-worker-0:35557:35889 [1] NCCL INFO Channel 02/0 : 1[1] -> 9[1] [send] via NET/IBext_v9/9/GDRDMA +t-20260527143420-qx7hv-worker-0:35563:35884 [7] NCCL INFO Channel 00/0 : 7[7] -> 15[7] [send] via NET/IBext_v9/15/GDRDMA +t-20260527143420-qx7hv-worker-0:35562:35886 [6] NCCL INFO Channel 00/0 : 6[6] -> 14[6] [send] via NET/IBext_v9/14/GDRDMA +t-20260527143420-qx7hv-worker-0:35559:35885 [3] NCCL INFO Channel 00/0 : 3[3] -> 11[3] [send] via NET/IBext_v9/11/GDRDMA +t-20260527143420-qx7hv-worker-0:35561:35888 [5] NCCL INFO Channel 15/0 : 13[5] -> 5[5] [receive] via NET/IBext_v9/13/GDRDMA +t-20260527143420-qx7hv-worker-0:35560:35887 [4] NCCL INFO Channel 00/0 : 4[4] -> 12[4] [send] via NET/IBext_v9/12/GDRDMA +t-20260527143420-qx7hv-worker-0:35556:35890 [0] NCCL INFO Channel 02/0 : 0[0] -> 8[0] [send] via NET/IBext_v9/8/GDRDMA +t-20260527143420-qx7hv-worker-0:35558:35883 [2] NCCL INFO Channel 15/0 : 10[2] -> 2[2] [receive] via NET/IBext_v9/10/GDRDMA +t-20260527143420-qx7hv-worker-0:35557:35889 [1] NCCL INFO Channel 03/0 : 1[1] -> 9[1] [send] via NET/IBext_v9/9/GDRDMA +t-20260527143420-qx7hv-worker-0:35563:35884 [7] NCCL INFO Channel 01/0 : 7[7] -> 15[7] [send] via NET/IBext_v9/15/GDRDMA +t-20260527143420-qx7hv-worker-0:35562:35886 [6] NCCL INFO Channel 01/0 : 6[6] -> 14[6] [send] via NET/IBext_v9/14/GDRDMA +t-20260527143420-qx7hv-worker-0:35560:35887 [4] NCCL INFO Channel 01/0 : 4[4] -> 12[4] [send] via NET/IBext_v9/12/GDRDMA +t-20260527143420-qx7hv-worker-0:35558:35883 [2] NCCL INFO Channel 00/0 : 2[2] -> 10[2] [send] via NET/IBext_v9/10/GDRDMA +t-20260527143420-qx7hv-worker-0:35561:35888 [5] NCCL INFO Channel 00/0 : 5[5] -> 13[5] [send] via NET/IBext_v9/13/GDRDMA +t-20260527143420-qx7hv-worker-0:35556:35890 [0] NCCL INFO Channel 03/0 : 0[0] -> 8[0] [send] via NET/IBext_v9/8/GDRDMA +t-20260527143420-qx7hv-worker-0:35559:35885 [3] NCCL INFO Channel 01/0 : 3[3] -> 11[3] [send] via NET/IBext_v9/11/GDRDMA +t-20260527143420-qx7hv-worker-0:35557:35889 [1] NCCL INFO Channel 04/0 : 1[1] -> 9[1] [send] via NET/IBext_v9/9/GDRDMA +t-20260527143420-qx7hv-worker-0:35563:35884 [7] NCCL INFO Channel 02/0 : 7[7] -> 15[7] [send] via NET/IBext_v9/15/GDRDMA +t-20260527143420-qx7hv-worker-0:35562:35886 [6] NCCL INFO Channel 02/0 : 6[6] -> 14[6] [send] via NET/IBext_v9/14/GDRDMA +t-20260527143420-qx7hv-worker-0:35556:35890 [0] NCCL INFO Channel 04/0 : 0[0] -> 8[0] [send] via NET/IBext_v9/8/GDRDMA +t-20260527143420-qx7hv-worker-0:35560:35887 [4] NCCL INFO Channel 02/0 : 4[4] -> 12[4] [send] via NET/IBext_v9/12/GDRDMA +t-20260527143420-qx7hv-worker-0:35561:35888 [5] NCCL INFO Channel 01/0 : 5[5] -> 13[5] [send] via NET/IBext_v9/13/GDRDMA +t-20260527143420-qx7hv-worker-0:35558:35883 [2] NCCL INFO Channel 01/0 : 2[2] -> 10[2] [send] via NET/IBext_v9/10/GDRDMA +t-20260527143420-qx7hv-worker-0:35559:35885 [3] NCCL INFO Channel 04/0 : 3[3] -> 11[3] [send] via NET/IBext_v9/11/GDRDMA +t-20260527143420-qx7hv-worker-0:35557:35889 [1] NCCL INFO Channel 05/0 : 1[1] -> 9[1] [send] via NET/IBext_v9/9/GDRDMA +t-20260527143420-qx7hv-worker-0:35562:35886 [6] NCCL INFO Channel 03/0 : 6[6] -> 14[6] [send] via NET/IBext_v9/14/GDRDMA +t-20260527143420-qx7hv-worker-0:35561:35888 [5] NCCL INFO Channel 02/0 : 5[5] -> 13[5] [send] via NET/IBext_v9/13/GDRDMA +t-20260527143420-qx7hv-worker-0:35563:35884 [7] NCCL INFO Channel 03/0 : 7[7] -> 15[7] [send] via NET/IBext_v9/15/GDRDMA +t-20260527143420-qx7hv-worker-0:35560:35887 [4] NCCL INFO Channel 03/0 : 4[4] -> 12[4] [send] via NET/IBext_v9/12/GDRDMA +t-20260527143420-qx7hv-worker-0:35558:35883 [2] NCCL INFO Channel 04/0 : 2[2] -> 10[2] [send] via NET/IBext_v9/10/GDRDMA +t-20260527143420-qx7hv-worker-0:35556:35890 [0] NCCL INFO Channel 05/0 : 0[0] -> 8[0] [send] via NET/IBext_v9/8/GDRDMA +t-20260527143420-qx7hv-worker-0:35559:35885 [3] NCCL INFO Channel 05/0 : 3[3] -> 11[3] [send] via NET/IBext_v9/11/GDRDMA +t-20260527143420-qx7hv-worker-0:35557:35889 [1] NCCL INFO Channel 06/0 : 1[1] -> 9[1] [send] via NET/IBext_v9/9/GDRDMA +t-20260527143420-qx7hv-worker-0:35562:35886 [6] NCCL INFO Channel 04/0 : 6[6] -> 14[6] [send] via NET/IBext_v9/14/GDRDMA +t-20260527143420-qx7hv-worker-0:35561:35888 [5] NCCL INFO Channel 03/0 : 5[5] -> 13[5] [send] via NET/IBext_v9/13/GDRDMA +t-20260527143420-qx7hv-worker-0:35560:35887 [4] NCCL INFO Channel 06/0 : 4[4] -> 12[4] [send] via NET/IBext_v9/12/GDRDMA +t-20260527143420-qx7hv-worker-0:35558:35883 [2] NCCL INFO Channel 05/0 : 2[2] -> 10[2] [send] via NET/IBext_v9/10/GDRDMA +t-20260527143420-qx7hv-worker-0:35563:35884 [7] NCCL INFO Channel 04/0 : 7[7] -> 15[7] [send] via NET/IBext_v9/15/GDRDMA +t-20260527143420-qx7hv-worker-0:35556:35890 [0] NCCL INFO Channel 06/0 : 0[0] -> 8[0] [send] via NET/IBext_v9/8/GDRDMA +t-20260527143420-qx7hv-worker-0:35559:35885 [3] NCCL INFO Channel 06/0 : 3[3] -> 11[3] [send] via NET/IBext_v9/11/GDRDMA +t-20260527143420-qx7hv-worker-0:35557:35889 [1] NCCL INFO Channel 07/0 : 1[1] -> 9[1] [send] via NET/IBext_v9/9/GDRDMA +t-20260527143420-qx7hv-worker-0:35562:35886 [6] NCCL INFO Channel 05/0 : 6[6] -> 14[6] [send] via NET/IBext_v9/14/GDRDMA +t-20260527143420-qx7hv-worker-0:35561:35888 [5] NCCL INFO Channel 06/0 : 5[5] -> 13[5] [send] via NET/IBext_v9/13/GDRDMA +t-20260527143420-qx7hv-worker-0:35560:35887 [4] NCCL INFO Channel 07/0 : 4[4] -> 12[4] [send] via NET/IBext_v9/12/GDRDMA +t-20260527143420-qx7hv-worker-0:35563:35884 [7] NCCL INFO Channel 05/0 : 7[7] -> 15[7] [send] via NET/IBext_v9/15/GDRDMA +t-20260527143420-qx7hv-worker-0:35556:35890 [0] NCCL INFO Channel 07/0 : 0[0] -> 8[0] [send] via NET/IBext_v9/8/GDRDMA +t-20260527143420-qx7hv-worker-0:35558:35883 [2] NCCL INFO Channel 06/0 : 2[2] -> 10[2] [send] via NET/IBext_v9/10/GDRDMA +t-20260527143420-qx7hv-worker-0:35559:35885 [3] NCCL INFO Channel 07/0 : 3[3] -> 11[3] [send] via NET/IBext_v9/11/GDRDMA +t-20260527143420-qx7hv-worker-0:35561:35888 [5] NCCL INFO Channel 07/0 : 5[5] -> 13[5] [send] via NET/IBext_v9/13/GDRDMA +t-20260527143420-qx7hv-worker-0:35559:35885 [3] NCCL INFO Channel 08/0 : 3[3] -> 11[3] [send] via NET/IBext_v9/11/GDRDMA +t-20260527143420-qx7hv-worker-0:35557:35889 [1] NCCL INFO Channel 10/0 : 1[1] -> 9[1] [send] via NET/IBext_v9/9/GDRDMA +t-20260527143420-qx7hv-worker-0:35562:35886 [6] NCCL INFO Channel 08/0 : 6[6] -> 14[6] [send] via NET/IBext_v9/14/GDRDMA +t-20260527143420-qx7hv-worker-0:35563:35884 [7] NCCL INFO Channel 08/0 : 7[7] -> 15[7] [send] via NET/IBext_v9/15/GDRDMA +t-20260527143420-qx7hv-worker-0:35558:35883 [2] NCCL INFO Channel 07/0 : 2[2] -> 10[2] [send] via NET/IBext_v9/10/GDRDMA +t-20260527143420-qx7hv-worker-0:35560:35887 [4] NCCL INFO Channel 08/0 : 4[4] -> 12[4] [send] via NET/IBext_v9/12/GDRDMA +t-20260527143420-qx7hv-worker-0:35556:35890 [0] NCCL INFO Channel 10/0 : 0[0] -> 8[0] [send] via NET/IBext_v9/8/GDRDMA +t-20260527143420-qx7hv-worker-0:35563:35884 [7] NCCL INFO Channel 09/0 : 7[7] -> 15[7] [send] via NET/IBext_v9/15/GDRDMA +t-20260527143420-qx7hv-worker-0:35562:35886 [6] NCCL INFO Channel 09/0 : 6[6] -> 14[6] [send] via NET/IBext_v9/14/GDRDMA +t-20260527143420-qx7hv-worker-0:35561:35888 [5] NCCL INFO Channel 08/0 : 5[5] -> 13[5] [send] via NET/IBext_v9/13/GDRDMA +t-20260527143420-qx7hv-worker-0:35557:35889 [1] NCCL INFO Channel 11/0 : 1[1] -> 9[1] [send] via NET/IBext_v9/9/GDRDMA +t-20260527143420-qx7hv-worker-0:35559:35885 [3] NCCL INFO Channel 09/0 : 3[3] -> 11[3] [send] via NET/IBext_v9/11/GDRDMA +t-20260527143420-qx7hv-worker-0:35560:35887 [4] NCCL INFO Channel 09/0 : 4[4] -> 12[4] [send] via NET/IBext_v9/12/GDRDMA +t-20260527143420-qx7hv-worker-0:35558:35883 [2] NCCL INFO Channel 08/0 : 2[2] -> 10[2] [send] via NET/IBext_v9/10/GDRDMA +t-20260527143420-qx7hv-worker-0:35556:35890 [0] NCCL INFO Channel 11/0 : 0[0] -> 8[0] [send] via NET/IBext_v9/8/GDRDMA +t-20260527143420-qx7hv-worker-0:35562:35886 [6] NCCL INFO Channel 10/0 : 6[6] -> 14[6] [send] via NET/IBext_v9/14/GDRDMA +t-20260527143420-qx7hv-worker-0:35561:35888 [5] NCCL INFO Channel 09/0 : 5[5] -> 13[5] [send] via NET/IBext_v9/13/GDRDMA +t-20260527143420-qx7hv-worker-0:35558:35883 [2] NCCL INFO Channel 09/0 : 2[2] -> 10[2] [send] via NET/IBext_v9/10/GDRDMA +t-20260527143420-qx7hv-worker-0:35557:35889 [1] NCCL INFO Channel 12/0 : 1[1] -> 9[1] [send] via NET/IBext_v9/9/GDRDMA +t-20260527143420-qx7hv-worker-0:35563:35884 [7] NCCL INFO Channel 10/0 : 7[7] -> 15[7] [send] via NET/IBext_v9/15/GDRDMA +t-20260527143420-qx7hv-worker-0:35556:35890 [0] NCCL INFO Channel 12/0 : 0[0] -> 8[0] [send] via NET/IBext_v9/8/GDRDMA +t-20260527143420-qx7hv-worker-0:35559:35885 [3] NCCL INFO Channel 12/0 : 3[3] -> 11[3] [send] via NET/IBext_v9/11/GDRDMA +t-20260527143420-qx7hv-worker-0:35560:35887 [4] NCCL INFO Channel 10/0 : 4[4] -> 12[4] [send] via NET/IBext_v9/12/GDRDMA +t-20260527143420-qx7hv-worker-0:35561:35888 [5] NCCL INFO Channel 10/0 : 5[5] -> 13[5] [send] via NET/IBext_v9/13/GDRDMA +t-20260527143420-qx7hv-worker-0:35558:35883 [2] NCCL INFO Channel 12/0 : 2[2] -> 10[2] [send] via NET/IBext_v9/10/GDRDMA +t-20260527143420-qx7hv-worker-0:35557:35889 [1] NCCL INFO Channel 13/0 : 1[1] -> 9[1] [send] via NET/IBext_v9/9/GDRDMA +t-20260527143420-qx7hv-worker-0:35559:35885 [3] NCCL INFO Channel 13/0 : 3[3] -> 11[3] [send] via NET/IBext_v9/11/GDRDMA +t-20260527143420-qx7hv-worker-0:35563:35884 [7] NCCL INFO Channel 11/0 : 7[7] -> 15[7] [send] via NET/IBext_v9/15/GDRDMA +t-20260527143420-qx7hv-worker-0:35560:35887 [4] NCCL INFO Channel 11/0 : 4[4] -> 12[4] [send] via NET/IBext_v9/12/GDRDMA +t-20260527143420-qx7hv-worker-0:35562:35886 [6] NCCL INFO Channel 11/0 : 6[6] -> 14[6] [send] via NET/IBext_v9/14/GDRDMA +t-20260527143420-qx7hv-worker-0:35556:35890 [0] NCCL INFO Channel 13/0 : 0[0] -> 8[0] [send] via NET/IBext_v9/8/GDRDMA +t-20260527143420-qx7hv-worker-0:35562:35886 [6] NCCL INFO Channel 12/0 : 6[6] -> 14[6] [send] via NET/IBext_v9/14/GDRDMA +t-20260527143420-qx7hv-worker-0:35561:35888 [5] NCCL INFO Channel 11/0 : 5[5] -> 13[5] [send] via NET/IBext_v9/13/GDRDMA +t-20260527143420-qx7hv-worker-0:35563:35884 [7] NCCL INFO Channel 12/0 : 7[7] -> 15[7] [send] via NET/IBext_v9/15/GDRDMA +t-20260527143420-qx7hv-worker-0:35558:35883 [2] NCCL INFO Channel 13/0 : 2[2] -> 10[2] [send] via NET/IBext_v9/10/GDRDMA +t-20260527143420-qx7hv-worker-0:35559:35885 [3] NCCL INFO Channel 14/0 : 3[3] -> 11[3] [send] via NET/IBext_v9/11/GDRDMA +t-20260527143420-qx7hv-worker-0:35560:35887 [4] NCCL INFO Channel 14/0 : 4[4] -> 12[4] [send] via NET/IBext_v9/12/GDRDMA +t-20260527143420-qx7hv-worker-0:35556:35890 [0] NCCL INFO Channel 14/0 : 0[0] -> 8[0] [send] via NET/IBext_v9/8/GDRDMA +t-20260527143420-qx7hv-worker-0:35557:35889 [1] NCCL INFO Channel 14/0 : 1[1] -> 9[1] [send] via NET/IBext_v9/9/GDRDMA +t-20260527143420-qx7hv-worker-0:35561:35888 [5] NCCL INFO Channel 14/0 : 5[5] -> 13[5] [send] via NET/IBext_v9/13/GDRDMA +t-20260527143420-qx7hv-worker-0:35562:35886 [6] NCCL INFO Channel 13/0 : 6[6] -> 14[6] [send] via NET/IBext_v9/14/GDRDMA +t-20260527143420-qx7hv-worker-0:35558:35883 [2] NCCL INFO Channel 14/0 : 2[2] -> 10[2] [send] via NET/IBext_v9/10/GDRDMA +t-20260527143420-qx7hv-worker-0:35563:35884 [7] NCCL INFO Channel 13/0 : 7[7] -> 15[7] [send] via NET/IBext_v9/15/GDRDMA +t-20260527143420-qx7hv-worker-0:35559:35885 [3] NCCL INFO Channel 15/0 : 3[3] -> 11[3] [send] via NET/IBext_v9/11/GDRDMA +t-20260527143420-qx7hv-worker-0:35560:35887 [4] NCCL INFO Channel 15/0 : 4[4] -> 12[4] [send] via NET/IBext_v9/12/GDRDMA +t-20260527143420-qx7hv-worker-0:35557:35889 [1] NCCL INFO Channel 15/0 : 1[1] -> 9[1] [send] via NET/IBext_v9/9/GDRDMA +t-20260527143420-qx7hv-worker-0:35556:35890 [0] NCCL INFO Channel 15/0 : 0[0] -> 8[0] [send] via NET/IBext_v9/8/GDRDMA +t-20260527143420-qx7hv-worker-0:35561:35888 [5] NCCL INFO Channel 15/0 : 5[5] -> 13[5] [send] via NET/IBext_v9/13/GDRDMA +t-20260527143420-qx7hv-worker-0:35558:35883 [2] NCCL INFO Channel 15/0 : 2[2] -> 10[2] [send] via NET/IBext_v9/10/GDRDMA +t-20260527143420-qx7hv-worker-0:35556:35890 [0] NCCL INFO Connected NVLS tree +t-20260527143420-qx7hv-worker-0:35559:35885 [3] NCCL INFO Connected NVLS tree +t-20260527143420-qx7hv-worker-0:35558:35883 [2] NCCL INFO Connected NVLS tree +t-20260527143420-qx7hv-worker-0:35557:35889 [1] NCCL INFO Connected NVLS tree +t-20260527143420-qx7hv-worker-0:35560:35887 [4] NCCL INFO Connected NVLS tree +t-20260527143420-qx7hv-worker-0:35562:35886 [6] NCCL INFO Connected NVLS tree +t-20260527143420-qx7hv-worker-0:35561:35888 [5] NCCL INFO Connected NVLS tree +t-20260527143420-qx7hv-worker-0:35563:35884 [7] NCCL INFO Connected NVLS tree +step=50 loss=7.2060 {'pos0_bos_p': 0.8691257834434509, 'pos0_bos_top1': 4, 'last_eos_p': 0.8674278855323792, 'last_eos_top1': 4} +step=100 loss=7.1901 {'pos0_bos_p': 0.9983457326889038, 'pos0_bos_top1': 4, 'last_eos_p': 0.998450756072998, 'last_eos_top1': 4} diff --git a/LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/bin/activate b/LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/bin/activate new file mode 100644 index 0000000000000000000000000000000000000000..e22dc2e9badd515e3e8e4c07130766941f3cfb97 --- /dev/null +++ b/LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/bin/activate @@ -0,0 +1,130 @@ +# Copyright (c) 2020-202x The virtualenv developers +# +# Permission is hereby granted, free of charge, to any person obtaining +# a copy of this software and associated documentation files (the +# "Software"), to deal in the Software without restriction, including +# without limitation the rights to use, copy, modify, merge, publish, +# distribute, sublicense, and/or sell copies of the Software, and to +# permit persons to whom the Software is furnished to do so, subject to +# the following conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +# This file must be used with "source bin/activate" *from bash* +# you cannot run it directly + +if ! [ -z "${SCRIPT_PATH+_}" ] ; then + _OLD_SCRIPT_PATH="$SCRIPT_PATH" +fi + +# Get script path (only used if environment is relocatable). +if [ -n "${BASH_VERSION:+x}" ] ; then + SCRIPT_PATH="${BASH_SOURCE[0]}" + if [ "$SCRIPT_PATH" = "$0" ]; then + # Only bash has a reasonably robust check for source'dness. + echo "You must source this script: \$ source $0" >&2 + exit 33 + fi +elif [ -n "${ZSH_VERSION:+x}" ] ; then + SCRIPT_PATH="${(%):-%x}" +elif [ -n "${KSH_VERSION:+x}" ] ; then + SCRIPT_PATH="${.sh.file}" +fi + +deactivate () { + unset -f pydoc >/dev/null 2>&1 || true + + # reset old environment variables + # ! [ -z ${VAR+_} ] returns true if VAR is declared at all + if ! [ -z "${_OLD_VIRTUAL_PATH:+_}" ] ; then + PATH="$_OLD_VIRTUAL_PATH" + export PATH + unset _OLD_VIRTUAL_PATH + fi + if ! [ -z "${_OLD_VIRTUAL_PYTHONHOME+_}" ] ; then + PYTHONHOME="$_OLD_VIRTUAL_PYTHONHOME" + export PYTHONHOME + unset _OLD_VIRTUAL_PYTHONHOME + fi + + # The hash command must be called to get it to forget past + # commands. Without forgetting past commands the $PATH changes + # we made may not be respected + hash -r 2>/dev/null + + if ! [ -z "${_OLD_VIRTUAL_PS1+_}" ] ; then + PS1="$_OLD_VIRTUAL_PS1" + export PS1 + unset _OLD_VIRTUAL_PS1 + fi + + unset VIRTUAL_ENV + unset VIRTUAL_ENV_PROMPT + if [ ! "${1-}" = "nondestructive" ] ; then + # Self destruct! + unset -f deactivate + fi +} + +# unset irrelevant variables +deactivate nondestructive + +VIRTUAL_ENV='/e2e-data/evad-tech-vla/wanghan58/workspace/LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv' +if ([ "$OSTYPE" = "cygwin" ] || [ "$OSTYPE" = "msys" ]) && $(command -v cygpath &> /dev/null) ; then + VIRTUAL_ENV=$(cygpath -u "$VIRTUAL_ENV") +fi +export VIRTUAL_ENV + +# Unset the `SCRIPT_PATH` variable, now that the `VIRTUAL_ENV` variable +# has been set. This is important for relocatable environments. +if ! [ -z "${_OLD_SCRIPT_PATH+_}" ] ; then + SCRIPT_PATH="$_OLD_SCRIPT_PATH" + export SCRIPT_PATH + unset _OLD_SCRIPT_PATH +else + unset SCRIPT_PATH +fi + +_OLD_VIRTUAL_PATH="$PATH" +PATH="$VIRTUAL_ENV/bin:$PATH" +export PATH + +if [ "x" != x ] ; then + VIRTUAL_ENV_PROMPT="" +else + VIRTUAL_ENV_PROMPT=$(basename "$VIRTUAL_ENV") +fi +export VIRTUAL_ENV_PROMPT + +# unset PYTHONHOME if set +if ! [ -z "${PYTHONHOME+_}" ] ; then + _OLD_VIRTUAL_PYTHONHOME="$PYTHONHOME" + unset PYTHONHOME +fi + +if [ -z "${VIRTUAL_ENV_DISABLE_PROMPT-}" ] ; then + _OLD_VIRTUAL_PS1="${PS1-}" + PS1="(${VIRTUAL_ENV_PROMPT}) ${PS1-}" + export PS1 +fi + +# Make sure to unalias pydoc if it's already there +alias pydoc 2>/dev/null >/dev/null && unalias pydoc || true + +pydoc () { + python -m pydoc "$@" +} + +# The hash command must be called to get it to forget past +# commands. Without forgetting past commands the $PATH changes +# we made may not be respected +hash -r 2>/dev/null || true diff --git a/LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/bin/activate.ps1 b/LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/bin/activate.ps1 new file mode 100644 index 0000000000000000000000000000000000000000..2d2bc9ab7b80c9dd7f9a6278fee99a389174bbf9 --- /dev/null +++ b/LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/bin/activate.ps1 @@ -0,0 +1,82 @@ +# Copyright (c) 2020-202x The virtualenv developers +# +# Permission is hereby granted, free of charge, to any person obtaining +# a copy of this software and associated documentation files (the +# "Software"), to deal in the Software without restriction, including +# without limitation the rights to use, copy, modify, merge, publish, +# distribute, sublicense, and/or sell copies of the Software, and to +# permit persons to whom the Software is furnished to do so, subject to +# the following conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +$script:THIS_PATH = $myinvocation.mycommand.path +$script:BASE_DIR = Split-Path (Resolve-Path "$THIS_PATH/..") -Parent + +function global:deactivate([switch] $NonDestructive) { + if (Test-Path variable:_OLD_VIRTUAL_PATH) { + $env:PATH = $variable:_OLD_VIRTUAL_PATH + Remove-Variable "_OLD_VIRTUAL_PATH" -Scope global + } + + if (Test-Path function:_old_virtual_prompt) { + $function:prompt = $function:_old_virtual_prompt + Remove-Item function:\_old_virtual_prompt + } + + if ($env:VIRTUAL_ENV) { + Remove-Item env:VIRTUAL_ENV -ErrorAction SilentlyContinue + } + + if ($env:VIRTUAL_ENV_PROMPT) { + Remove-Item env:VIRTUAL_ENV_PROMPT -ErrorAction SilentlyContinue + } + + if (!$NonDestructive) { + # Self destruct! + Remove-Item function:deactivate + Remove-Item function:pydoc + } +} + +function global:pydoc { + python -m pydoc $args +} + +# unset irrelevant variables +deactivate -nondestructive + +$VIRTUAL_ENV = $BASE_DIR +$env:VIRTUAL_ENV = $VIRTUAL_ENV + +if ("" -ne "") { + $env:VIRTUAL_ENV_PROMPT = "" +} +else { + $env:VIRTUAL_ENV_PROMPT = $( Split-Path $env:VIRTUAL_ENV -Leaf ) +} + +New-Variable -Scope global -Name _OLD_VIRTUAL_PATH -Value $env:PATH + +$env:PATH = "$env:VIRTUAL_ENV/bin:" + $env:PATH +if (!$env:VIRTUAL_ENV_DISABLE_PROMPT) { + function global:_old_virtual_prompt { + "" + } + $function:_old_virtual_prompt = $function:prompt + + function global:prompt { + # Add the custom prefix to the existing prompt + $previous_prompt_value = & $function:_old_virtual_prompt + ("(" + $env:VIRTUAL_ENV_PROMPT + ") " + $previous_prompt_value) + } +} diff --git a/LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/bin/activate_this.py b/LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/bin/activate_this.py new file mode 100644 index 0000000000000000000000000000000000000000..b3d0821f452bab72cc268098b151078d84d822bb --- /dev/null +++ b/LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/bin/activate_this.py @@ -0,0 +1,59 @@ +# Copyright (c) 2020-202x The virtualenv developers +# +# Permission is hereby granted, free of charge, to any person obtaining +# a copy of this software and associated documentation files (the +# "Software"), to deal in the Software without restriction, including +# without limitation the rights to use, copy, modify, merge, publish, +# distribute, sublicense, and/or sell copies of the Software, and to +# permit persons to whom the Software is furnished to do so, subject to +# the following conditions: +# +# The above copyright notice and this permission notice shall be +# included in all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +""" +Activate virtualenv for current interpreter: + +import runpy +runpy.run_path(this_file) + +This can be used when you must use an existing Python interpreter, not the virtualenv bin/python. +""" # noqa: D415 + +from __future__ import annotations + +import os +import site +import sys + +try: + abs_file = os.path.abspath(__file__) +except NameError as exc: + msg = "You must use import runpy; runpy.run_path(this_file)" + raise AssertionError(msg) from exc + +bin_dir = os.path.dirname(abs_file) +base = bin_dir[: -len("bin") - 1] # strip away the bin part from the __file__, plus the path separator + +# prepend bin to PATH (this file is inside the bin directory) +os.environ["PATH"] = os.pathsep.join([bin_dir, *os.environ.get("PATH", "").split(os.pathsep)]) +os.environ["VIRTUAL_ENV"] = base # virtual env is right above bin directory +os.environ["VIRTUAL_ENV_PROMPT"] = "" or os.path.basename(base) # noqa: SIM222 + +# add the virtual environments libraries to the host python import mechanism +prev_length = len(sys.path) +for lib in "../lib/python3.12/site-packages".split(os.pathsep): + path = os.path.realpath(os.path.join(bin_dir, lib)) + site.addsitedir(path) +sys.path[:] = sys.path[prev_length:] + sys.path[0:prev_length] + +sys.real_prefix = sys.prefix +sys.prefix = base diff --git a/LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/bin/httpx b/LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/bin/httpx new file mode 100644 index 0000000000000000000000000000000000000000..42337bdc5185243a0f9e940f5084c9a8f9ca9fc4 --- /dev/null +++ b/LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/bin/httpx @@ -0,0 +1,10 @@ +#!/e2e-data/evad-tech-vla/wanghan58/workspace/LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/bin/python3 +# -*- coding: utf-8 -*- +import sys +from httpx import main +if __name__ == "__main__": + if sys.argv[0].endswith("-script.pyw"): + sys.argv[0] = sys.argv[0][:-11] + elif sys.argv[0].endswith(".exe"): + sys.argv[0] = sys.argv[0][:-4] + sys.exit(main()) diff --git a/LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/bin/python b/LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/bin/python new file mode 100644 index 0000000000000000000000000000000000000000..acd4152a9d7098c3a6a40e29685aaf850c9f8eb7 --- /dev/null +++ b/LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/bin/python @@ -0,0 +1 @@ +/usr/bin/python \ No newline at end of file diff --git a/LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/bin/python3.12 b/LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/bin/python3.12 new file mode 100644 index 0000000000000000000000000000000000000000..d8654aa0e2f2f3c1760e0fcbcbb52c1c5941fba7 --- /dev/null +++ b/LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/bin/python3.12 @@ -0,0 +1 @@ +python \ No newline at end of file diff --git a/LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/bin/tiny-agents b/LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/bin/tiny-agents new file mode 100644 index 0000000000000000000000000000000000000000..3e774a6f23860bca6346fd465566d89c2fa4f7c6 --- /dev/null +++ b/LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/bin/tiny-agents @@ -0,0 +1,10 @@ +#!/e2e-data/evad-tech-vla/wanghan58/workspace/LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/bin/python3 +# -*- coding: utf-8 -*- +import sys +from huggingface_hub.inference._mcp.cli import app +if __name__ == "__main__": + if sys.argv[0].endswith("-script.pyw"): + sys.argv[0] = sys.argv[0][:-11] + elif sys.argv[0].endswith(".exe"): + sys.argv[0] = sys.argv[0][:-4] + sys.exit(app()) diff --git a/LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/bin/tqdm b/LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/bin/tqdm new file mode 100644 index 0000000000000000000000000000000000000000..b374b1fef2af7d062a0691511abaae10d29e3564 --- /dev/null +++ b/LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/bin/tqdm @@ -0,0 +1,10 @@ +#!/e2e-data/evad-tech-vla/wanghan58/workspace/LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/bin/python3 +# -*- coding: utf-8 -*- +import sys +from tqdm.cli import main +if __name__ == "__main__": + if sys.argv[0].endswith("-script.pyw"): + sys.argv[0] = sys.argv[0][:-11] + elif sys.argv[0].endswith(".exe"): + sys.argv[0] = sys.argv[0][:-4] + sys.exit(main()) diff --git a/LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/transformers/models/evolla/modular_evolla.py b/LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/transformers/models/evolla/modular_evolla.py new file mode 100644 index 0000000000000000000000000000000000000000..e4043a3ab63eaf9e6fb0d1423aab469d70d88f0c --- /dev/null +++ b/LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/transformers/models/evolla/modular_evolla.py @@ -0,0 +1,893 @@ +# Copyright 2025 Westlake Representational Learning Lab (Fajie Yuan Lab) team and the HuggingFace Inc. team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from dataclasses import dataclass + +import torch +from torch import nn + +from ... import initialization as init +from ...cache_utils import Cache, DynamicCache +from ...generation import GenerationMixin +from ...masking_utils import create_bidirectional_mask, create_causal_mask +from ...modeling_outputs import ( + BaseModelOutputWithPast, + BaseModelOutputWithPoolingAndCrossAttentions, + CausalLMOutputWithPast, + ModelOutput, +) +from ...modeling_utils import PreTrainedModel +from ...utils import ( + auto_docstring, + can_return_tuple, + logging, +) +from ...utils.generic import merge_with_config_defaults +from ...utils.output_capturing import OutputRecorder, capture_outputs +from ..esm.modeling_esm import ( + EsmAttention, + EsmEmbeddings, + EsmEncoder, + EsmIntermediate, + EsmLayer, + EsmOutput, + EsmPooler, + EsmRotaryEmbedding, + EsmSelfAttention, + EsmSelfOutput, +) +from ..llama.modeling_llama import ( + LlamaAttention, + LlamaDecoderLayer, + LlamaMLP, + LlamaPreTrainedModel, + LlamaRMSNorm, + LlamaRotaryEmbedding, +) +from .configuration_evolla import EvollaConfig, SaProtConfig + + +logger = logging.get_logger(__name__) + + +class EvollaSaProtEmbeddings(EsmEmbeddings): + def __init__(self, config): + super().__init__(config) + # remove the position_ids in EsmEmbeddings + self.position_ids = None + + +class EvollaSaProtRotaryEmbedding(EsmRotaryEmbedding): + def __init__(self, config: SaProtConfig, device=None): + super().__init__(config, device) + + @staticmethod + def compute_default_rope_parameters( + config: SaProtConfig | None = None, + device: "torch.device | None" = None, + seq_len: int | None = None, + ) -> tuple["torch.Tensor", float]: + return super().compute_default_rope_parameters(config, device, seq_len) + + +class EvollaSaProtSelfAttention(EsmSelfAttention): + pass + + +class EvollaSaProtSelfOutput(EsmSelfOutput): + pass + + +class EvollaSaProtAttention(EsmAttention): + pass + + +class EvollaSaProtIntermediate(EsmIntermediate): + pass + + +class EvollaSaProtOutput(EsmOutput): + pass + + +class EvollaSaProtLayer(EsmLayer): + pass + + +class EvollaSaProtEncoder(EsmEncoder): + pass + + +class EvollaSaProtPooler(EsmPooler): + pass + + +@auto_docstring +class EvollaSaProtPreTrainedModel(PreTrainedModel): + config: SaProtConfig + _no_split_modules = ["EvollaSaProtLayer"] + _supports_flash_attn = True + _supports_sdpa = True + _supports_flex_attn = True + _supports_attention_backend = True + + _can_record_outputs = { + "hidden_states": EvollaSaProtLayer, + "attentions": [OutputRecorder(EvollaSaProtSelfAttention, index=1, layer_name="attention")], + "cross_attentions": [ + OutputRecorder(EvollaSaProtSelfAttention, index=1, layer_name="crossattention"), + ], + } + + @torch.no_grad() + def _init_weights(self, module): + super()._init_weights(module) + if isinstance(module, EvollaSaProtRotaryEmbedding): + curr_inv_freq, _ = module.compute_default_rope_parameters(module.config) + init.copy_(getattr(module, "inv_freq"), curr_inv_freq) + + +class EvollaSaProtProteinEncoder(EvollaSaProtPreTrainedModel): + def __init__(self, config: SaProtConfig): + super().__init__(config) + self.embeddings = EvollaSaProtEmbeddings(config) + self.rotary_embeddings = EvollaSaProtRotaryEmbedding(config=config) + self.encoder = EvollaSaProtEncoder(config) + self.post_init() + + def get_input_embeddings(self): + return self.embeddings.word_embeddings + + def set_input_embeddings(self, value): + self.embeddings.word_embeddings = value + + @merge_with_config_defaults + @capture_outputs + def forward( + self, + input_ids: torch.Tensor | None, + attention_mask: torch.Tensor | None = None, + **kwargs, + ) -> tuple[torch.Tensor] | BaseModelOutputWithPoolingAndCrossAttentions: + input_shape = input_ids.size() + batch_size, seq_length = input_shape + + device = input_ids.device + if attention_mask is None: + attention_mask = torch.ones(((batch_size, seq_length)), device=device) + inputs_embeds = self.embeddings(input_ids=input_ids, attention_mask=attention_mask) + + attention_mask = create_bidirectional_mask( + config=self.config, + inputs_embeds=inputs_embeds, + attention_mask=attention_mask, + ) + + position_ids = torch.arange(seq_length, device=device).unsqueeze(0) + position_embeddings = self.rotary_embeddings(inputs_embeds, position_ids) + + encoder_outputs = self.encoder( + inputs_embeds, attention_mask=attention_mask, position_embeddings=position_embeddings, **kwargs + ) + sequence_output = encoder_outputs[0] + + return BaseModelOutputWithPoolingAndCrossAttentions( + last_hidden_state=sequence_output, + hidden_states=encoder_outputs.hidden_states, + attentions=encoder_outputs.attentions, + cross_attentions=encoder_outputs.cross_attentions, + ) + + +class EvollaSequenceCompressorAttention(nn.Module): + def __init__(self, dim, dim_head=64, heads=8): + super().__init__() + self.scale = dim_head**-0.5 + self.heads = heads + inner_dim = dim_head * heads + + self.norm_media = nn.LayerNorm(dim) + self.norm_latents = nn.LayerNorm(dim) + + self.to_q = nn.Linear(dim, inner_dim, bias=False) + self.to_kv = nn.Linear(dim, inner_dim * 2, bias=False) + self.to_out = nn.Linear(inner_dim, dim, bias=False) + + def forward(self, x, latents, mask): + """ + Args: + x (torch.Tensor): image features + shape (b, n1, D) + latent (torch.Tensor): latent features + shape (b, n2, D); n2: num of latent tokens + """ + x = self.norm_media(x) + latents = self.norm_latents(latents) + + h = self.heads + + q = self.to_q(latents) + kv_input = torch.cat((x, latents), dim=-2) + k, v = self.to_kv(kv_input).chunk( + 2, dim=-1 + ) # each: batch_size, max_protein_length+num_latents, dim_head*num_heads + + q = q.view(q.size(0), q.size(1), h, -1).permute(0, 2, 1, 3) + k = k.view(k.size(0), k.size(1), h, -1).permute(0, 2, 1, 3) + v = v.view(v.size(0), v.size(1), h, -1).permute(0, 2, 1, 3) + q = q * self.scale # batch_size, num_heads, num_latents, dim_head + + # attention + sim = torch.matmul(q, k.transpose(-1, -2)) + sim = sim - sim.amax(dim=-1, keepdim=True).detach() + bs, nh, skd, okd = sim.shape + ones = torch.ones(nh, skd).to(mask.device) # Create a tensor of ones with shape (nh, skd) + mask_exp = mask[:, None, None, :] + ones_exp = ones[None, :, :, None] + mask = mask_exp * ones_exp + + sim = sim.masked_fill((1 - mask).bool(), -1e4) + attn = sim.softmax(dim=-1) + out = torch.matmul(attn, v) + out = out.permute(0, 2, 1, 3) + + # [batch, seq, head, features] -> [batch, seq, head*features] + out = out.reshape(out.size(0), out.size(1), -1) + + return self.to_out(out) + + +class EvollaFeedForward(nn.Module): + def __init__(self, dim, mult=4): + super().__init__() + inner_dim = int(dim * mult) + + self.norm = nn.LayerNorm(dim) + self.fc1 = nn.Linear(dim, inner_dim, bias=False) + self.activation = nn.GELU() + self.fc2 = nn.Linear(inner_dim, dim, bias=False) + + def forward(self, x): + return self.fc2(self.activation(self.fc1(self.norm(x)))) + + +class EvollaSequenceCompressorResampler(nn.Module): + def __init__(self, config: EvollaConfig): + super().__init__() + protein_repr_dim = config.protein_encoder_config.hidden_size + self.num_latents = config.resampler_num_latents + self.latents = nn.Parameter(torch.randn(self.num_latents, protein_repr_dim), requires_grad=True) + self.layers = nn.ModuleList([]) + for _ in range(config.resampler_depth): + self.layers.append( + nn.ModuleList( + [ + EvollaSequenceCompressorAttention( + dim=protein_repr_dim, dim_head=config.resampler_dim_head, heads=config.resampler_heads + ), + EvollaFeedForward(dim=protein_repr_dim, mult=config.resampler_ff_mult), + ] + ) + ) + + self.norm = nn.LayerNorm(config.hidden_size) + self.protein_projector = nn.Linear(protein_repr_dim, config.hidden_size) + + def forward(self, embeds, mask): + b = embeds.shape[0] + + bs, _ = mask.shape # bs, max_protein_length + latent_mask = torch.ones(bs, self.num_latents).to(mask.device) + mask = torch.cat((mask, latent_mask), dim=1) # bs, max_protein_length + num_latents + + # blocks + ones = torch.ones(b).to(self.latents.device) + latents = self.latents[None] * ones.view(-1, 1, 1) # [b,n,d] + latents = latents.to(embeds.dtype) + for attn, ff in self.layers: + latents = attn(embeds, latents, mask) + latents + latents = ff(latents) + latents + + transformed_feature = self.protein_projector(latents) + + return self.norm(transformed_feature) + + +@auto_docstring +@dataclass +class EvollaProteinEncoderModelOutput(ModelOutput): + r""" + sequence_compressor_output (`torch.FloatTensor` of shape `(batch_size, compressed_seq_len, hidden_size)`, *optional*): + Compressed sequence representation produced by the sequence compressor module. The sequence length is + reduced from the original input length to `compressed_seq_len` via learned compression. + """ + + sequence_compressor_output: torch.FloatTensor | None = None + last_hidden_state: torch.FloatTensor | None = None + hidden_states: tuple[torch.FloatTensor, ...] | None = None + attentions: tuple[torch.FloatTensor, ...] | None = None + + +class EvollaProteinEncoder(nn.Module): + def __init__(self, config: EvollaConfig): + super().__init__() + self.model = EvollaSaProtProteinEncoder(config=config.protein_encoder_config) + self.sequence_compressor_resampler = EvollaSequenceCompressorResampler(config=config) + + @can_return_tuple + def forward(self, input_ids: torch.LongTensor, attention_mask: torch.FloatTensor, **kwargs): + protein_output = self.model(input_ids=input_ids, attention_mask=attention_mask) + protein_embeds = protein_output.last_hidden_state + sequence_repr = self.sequence_compressor_resampler(protein_embeds, attention_mask) + + return EvollaProteinEncoderModelOutput( + sequence_compressor_output=sequence_repr, + last_hidden_state=protein_output.last_hidden_state, + ) + + +class EvollaSequenceAlignerCrossAttention(nn.Module): + def __init__( + self, + config, + protein_encoder_dim: int | None = None, + structure_encoder_dim: int | None = None, + msa_encoder_dim: int | None = None, + ): + super().__init__() + + self.hidden_size = config.hidden_size + self.num_attention_heads = config.num_attention_heads + self.scale = self.num_attention_heads**-0.5 + self.attention_head_size = int(self.hidden_size / self.num_attention_heads) + self.all_head_size = self.num_attention_heads * self.attention_head_size + + attention_probs_dropout_prob = config.aligner_attention_probs_dropout_prob + enable_bias = config.aligner_enable_bias + ffn_mult = config.aligner_ffn_mult + + self.query = nn.Linear(self.hidden_size, self.all_head_size) + if protein_encoder_dim is not None: + self.key_protein = nn.Linear(protein_encoder_dim, self.all_head_size) + self.value_protein = nn.Linear(protein_encoder_dim, self.all_head_size) + else: + self.key_protein = None + self.value_protein = None + + if structure_encoder_dim is not None: + self.key_structure = nn.Linear(structure_encoder_dim, self.all_head_size) + self.value_structure = nn.Linear(structure_encoder_dim, self.all_head_size) + else: + self.key_structure = None + self.value_structure = None + + if msa_encoder_dim is not None: + self.key_msa = nn.Linear(msa_encoder_dim, self.all_head_size) + self.value_msa = nn.Linear(msa_encoder_dim, self.all_head_size) + else: + self.key_msa = None + self.value_msa = None + + self.attention_norm = EvollaRMSNorm(self.hidden_size) + + self.dropout = nn.Dropout(attention_probs_dropout_prob) + + self.out_proj = nn.Linear(self.hidden_size, self.hidden_size, bias=enable_bias) + + self.ff = EvollaFeedForward(self.hidden_size, ffn_mult) + self.gate_attention = nn.Parameter(torch.tensor([0.0])) + self.gate_ffw = nn.Parameter(torch.tensor([0.0])) + + def cross_attention( + self, + query_states, + protein_key_value_states, + structure_key_value_states, + msa_key_value_states, + query_attn_mask, + protein_kv_attn_mask, + structure_kv_attn_mask, + msa_kv_attn_mask, + ): + """ + query_states: text + key_value_states: protein + query_states: [bs, query_seq_len, dim] + key_value_states: [bs, kv_seq_len, dim] + query_attn_mask: [bs, query_seq_len] + kv_attn_mask: [bs, kv_seq_len] + """ + + # Concatenate protein and structure + kv_attn_mask = [protein_kv_attn_mask, structure_kv_attn_mask, msa_kv_attn_mask] + kv_attn_mask = [_ for _ in kv_attn_mask if _ is not None] + if not kv_attn_mask: + raise ValueError("At least one modality should be provided for cross attention.") + kv_attn_mask = torch.cat(kv_attn_mask, dim=1) + + query_layer = self.attention_norm(query_states) + + # Warning: This place might cause issues, refers to + # https://discuss.pytorch.org/t/cuda-error-cublas-status-not-supported-when-calling-cublasltmatmul-from-torch-nn-functional-linear/170214/13 + # Solution: add `DISABLE_ADDMM_CUDA_LT=1` as environment variable + # Apply linear transformation to input_query, input_key, and input_value + query_layer = self.query(query_layer) # [bs, querylength, dim] + + if self.key_protein is not None and self.value_protein is not None: + protein_key_value_states = protein_key_value_states.to(query_states) + key_layer_protein = self.key_protein(protein_key_value_states) # [bs, keylength, dim] + value_layer_protein = self.value_protein(protein_key_value_states) # [bs, keylength, dim] + else: + key_layer_protein = None + value_layer_protein = None + + if self.key_structure is not None and self.value_structure is not None: + structure_key_value_states = structure_key_value_states.to(query_states) + key_layer_structure = self.key_structure(structure_key_value_states) # [bs, keylength, dim] + value_layer_structure = self.value_structure(structure_key_value_states) # [bs, keylength, dim] + else: + key_layer_structure = None + value_layer_structure = None + + if self.key_msa is not None and self.value_msa is not None: + msa_key_value_states = msa_key_value_states.to(query_states) + key_layer_msa = self.key_msa(msa_key_value_states) # [bs, keylength, dim] + value_layer_msa = self.value_msa(msa_key_value_states) # [bs, keylength, dim] + else: + key_layer_msa = None + value_layer_msa = None + + key_layer = [key_layer_protein, key_layer_structure, key_layer_msa] + key_layer = [_ for _ in key_layer if _ is not None] + key_layer = torch.cat(key_layer, dim=1) + + value_layer = [value_layer_protein, value_layer_structure, value_layer_msa] + value_layer = [_ for _ in value_layer if _ is not None] + value_layer = torch.cat(value_layer, dim=1) + + new_query_layer_shape = query_layer.size()[:-1] + ( + self.num_attention_heads, + self.attention_head_size, + ) + query_layer = query_layer.view(*new_query_layer_shape).permute(0, 2, 1, 3) + + new_key_layer_shape = key_layer.size()[:-1] + ( + self.num_attention_heads, + self.attention_head_size, + ) + key_layer = key_layer.view(*new_key_layer_shape).permute(0, 2, 1, 3) + + new_value_layer_shape = value_layer.size()[:-1] + ( + self.num_attention_heads, + self.attention_head_size, + ) + value_layer = value_layer.view(*new_value_layer_shape).permute(0, 2, 1, 3) + + query_layer = query_layer * self.scale + + # attention_mask: [bs, 1, querylength, keylength] + if query_attn_mask is None: + query_attn_mask = torch.ones(query_states.size(0), query_states.size(1)).to(query_states.device) + attention_mask = query_attn_mask[:, None, :, None] * kv_attn_mask[:, None, None, :] + # Compute the scaled dot-product attention scores + attn_weights = torch.matmul(query_layer, key_layer.transpose(-1, -2)) # [bs, numheads, querylength, keylength] + attn_weights = attn_weights - attn_weights.amax(dim=-1, keepdim=True).detach() # To stabilize score + attention_scores = attn_weights.masked_fill( + (1 - attention_mask).bool(), torch.finfo(attn_weights.dtype).min + ) # [bs, numheads, querylength, keylength] + + attention_probs = nn.Softmax(dim=-1)(attention_scores) + + # attention_probs_dropped = self.dropout(attention_probs) + + context_layer = torch.matmul(attention_probs, value_layer) # [bs, numheads, querylength, dim/numheads] + + context_layer = context_layer.permute(0, 2, 1, 3).contiguous() + new_context_layer_shape = context_layer.size()[:-2] + (self.all_head_size,) + context_layer = context_layer.view(*new_context_layer_shape) + + context_layer = self.out_proj(context_layer) + + return context_layer + + def forward( + self, + query_states, + protein_kv_states, + structure_kv_states, + msa_kv_states, + query_attn_mask, + protein_kv_attn_mask=None, + structure_kv_attn_mask=None, + msa_kv_attn_mask=None, + protein_batch_mask=None, + structure_batch_mask=None, + msa_batch_mask=None, + past_key_values=None, + ): + if protein_kv_states is not None: + bs, protein_kv_seq_len, dim = protein_kv_states.shape + if protein_kv_attn_mask is None: + protein_kv_attn_mask = ( + torch.ones(bs, protein_kv_seq_len).to(protein_batch_mask.device) + * protein_batch_mask.expand(size=(protein_kv_seq_len, bs)).T + ).to(protein_kv_states.device) + else: + protein_kv_attn_mask = None + + if structure_kv_states is not None: + bs, structure_kv_seq_len, dim = structure_kv_states.shape + if structure_kv_attn_mask is None: + structure_kv_attn_mask = ( + torch.ones(bs, structure_kv_seq_len).to(protein_batch_mask.device) + * structure_batch_mask.expand(size=(structure_kv_seq_len, bs)).T + ).to(structure_kv_states.device) + else: + structure_kv_attn_mask = None + + if msa_kv_states is not None: + bs, msa_kv_seq_len, dim = msa_kv_states.shape + if msa_kv_attn_mask is None: + msa_kv_attn_mask = ( + torch.ones(bs, msa_kv_seq_len).to(protein_batch_mask.device) + * msa_batch_mask.expand(size=(msa_kv_seq_len, bs)).T + ).to(msa_kv_states.device) + else: + msa_kv_attn_mask = None + hidden_states = query_states + # only when there's at least one valid modality, crossattention will be performed + if ( + (protein_kv_states is not None and protein_kv_attn_mask.any()) + or (structure_kv_states is not None and structure_kv_attn_mask.any()) + or (msa_kv_states is not None and msa_kv_attn_mask.any()) + ): + residual = hidden_states + hidden_states = self.cross_attention( + query_states=hidden_states, + protein_key_value_states=protein_kv_states, + structure_key_value_states=structure_kv_states, + msa_key_value_states=msa_kv_states, + query_attn_mask=query_attn_mask, + protein_kv_attn_mask=protein_kv_attn_mask, + structure_kv_attn_mask=structure_kv_attn_mask, + msa_kv_attn_mask=msa_kv_attn_mask, + ) # [bs, query_seq_len, dim] + # tanh gate + hidden_states = torch.tanh(self.gate_attention) * hidden_states + + hidden_states = residual + hidden_states # input_query + + residual = hidden_states + hidden_states = self.ff(hidden_states) * torch.tanh(self.gate_ffw) + hidden_states = residual + hidden_states + + return hidden_states + + +class EvollaRMSNorm(LlamaRMSNorm): + pass + + +class EvollaRotaryEmbedding(LlamaRotaryEmbedding): + pass + + +class EvollaMLP(LlamaMLP): + pass + + +class EvollaAttention(LlamaAttention): + pass + + +class EvollaDecoderLayer(LlamaDecoderLayer): + def __init__(self, config: EvollaConfig, layer_idx: int): + super().__init__(config, layer_idx) + if (layer_idx + 1) % max(config.num_hidden_layers // config.aligner_num_add_layers, 1) == 0: + self.adapter = EvollaSequenceAlignerCrossAttention( + config, + protein_encoder_dim=config.hidden_size, + ) + + def forward( + self, + hidden_states: torch.Tensor, + position_embeddings: tuple[torch.Tensor, torch.Tensor] | None = None, + attention_mask: torch.Tensor | None = None, + position_ids: torch.LongTensor | None = None, + past_key_values: Cache | None = None, + use_cache: bool | None = False, + protein_kv_states: torch.Tensor | None = None, + structure_kv_states: torch.Tensor | None = None, + msa_kv_states: torch.Tensor | None = None, + protein_batch_mask: torch.Tensor | None = None, + structure_batch_mask: torch.Tensor | None = None, + msa_batch_mask: torch.Tensor | None = None, + query_attn_mask: torch.Tensor | None = None, + **kwargs, + ): + residual = hidden_states + + hidden_states = self.input_layernorm(hidden_states) + + # Self Attention + hidden_states, _ = self.self_attn( + hidden_states=hidden_states, + attention_mask=attention_mask, + position_ids=position_ids, + past_key_values=past_key_values, + use_cache=use_cache, + position_embeddings=position_embeddings, + **kwargs, + ) + hidden_states = residual + hidden_states + + # Fully Connected + residual = hidden_states + hidden_states = self.post_attention_layernorm(hidden_states) + hidden_states = self.mlp(hidden_states) + hidden_states = residual + hidden_states + + if hasattr(self, "adapter"): + hidden_states = self.adapter( + query_states=hidden_states, + protein_kv_states=protein_kv_states, + structure_kv_states=structure_kv_states, + msa_kv_states=msa_kv_states, + query_attn_mask=query_attn_mask, + protein_batch_mask=protein_batch_mask, + structure_batch_mask=structure_batch_mask, + msa_batch_mask=msa_batch_mask, + ) + + return hidden_states + + +class EvollaPreTrainedModel(LlamaPreTrainedModel): + _supports_flash_attn = False # see dependency on `EvollaSequenceCompressorResampler` + _supports_flex_attn = False # see dependency on `EvollaSequenceCompressorResampler` + _supports_attention_backend = False + _no_split_modules = [ + "EvollaDecoderLayer", + "EvollaSaProtLayer", + "EvollaSequenceCompressorResampler", + "EvollaSequenceAlignerCrossAttention", + ] + + @torch.no_grad() + def _init_weights(self, module): + std = self.config.initializer_range + PreTrainedModel._init_weights(self, module) + if isinstance(module, EvollaSequenceAlignerCrossAttention): + init.zeros_(module.gate_attention) + init.zeros_(module.gate_ffw) + init.ones_(module.attention_norm.weight) + elif isinstance(module, EvollaSequenceCompressorResampler): + init.normal_(module.latents, mean=0.0, std=std) + + +class EvollaModel(EvollaPreTrainedModel): + def __init__(self, config: EvollaConfig): + super().__init__(config) + self.padding_idx = config.pad_token_id + self.vocab_size = config.vocab_size + self.embed_tokens = nn.Embedding(self.vocab_size, config.hidden_size, self.padding_idx) + self.protein_encoder = EvollaProteinEncoder(config=config) + self.layers = nn.ModuleList( + [ + EvollaDecoderLayer( + config=config, + layer_idx=layer_idx, + ) + for layer_idx in range(config.num_hidden_layers) + ] + ) + + self.norm = EvollaRMSNorm(config.hidden_size, eps=config.rms_norm_eps) + self.gradient_checkpointing = getattr(config, "gradient_checkpointing", False) + self.rotary_emb = EvollaRotaryEmbedding(config=config) + self.post_init() + + def get_input_embeddings(self): + return self.embed_tokens + + def set_input_embeddings(self, value): + self.embed_tokens = value + + @auto_docstring + @merge_with_config_defaults + @capture_outputs + def forward( + self, + input_ids: torch.LongTensor | None = None, + attention_mask: torch.Tensor | None = None, + position_ids: torch.LongTensor | None = None, + past_key_values: Cache | None = None, + inputs_embeds: torch.FloatTensor | None = None, + use_cache: bool | None = None, + protein_input_ids: torch.LongTensor | None = None, + protein_attention_mask: torch.Tensor | None = None, + structure_feats: torch.FloatTensor | None = None, + msa_feats: torch.FloatTensor | None = None, + structure_batch_mask: torch.Tensor | None = None, + msa_batch_mask: torch.Tensor | None = None, + **kwargs, + ) -> tuple | BaseModelOutputWithPast: + r""" + protein_input_ids (torch.LongTensor): + The input IDs for the protein sequence in structure-aware tokens. Should be of shape `(batch_size, protein_seq_length)` and type `torch.LongTensor`. + protein_attention_mask (torch.Tensor): + The attention mask for the protein sequence. Should be of shape `(batch_size, protein_seq_length)` and type `torch.Tensor`. + structure_feats (torch.FloatTensor): + The input IDs for purely structure-based features. Should be of shape `(batch_size, structure_seq_length, structure_feat_dim)` and type `torch.FloatTensor`. Dummy input for now. + msa_feats (torch.FloatTensor): + The input IDs for purely MSA-based features. Should be of shape `(batch_size, msa_seq_length, msa_feat_dim)` and type `torch.FloatTensor`. Dummy input for now. + structure_batch_mask (torch.Tensor): + The batch mask to decide which protein sequences are purely structure-based. Should be of shape `(batch_size)` and type `torch.Tensor`. Should be paired with `structure_feats`. Dummpy input for now. + msa_batch_mask (torch.Tensor): + The batch mask to decide which protein sequences are purely MSA-based. Should be of shape `(batch_size)` and type `torch.Tensor`. Should be paired with `msa_feats`. Dummpy input for now. + """ + if (input_ids is None) ^ (inputs_embeds is not None): + raise ValueError("You must specify exactly one of input_ids or inputs_embeds") + + if inputs_embeds is None: + inputs_embeds = self.embed_tokens(input_ids) + + if use_cache and past_key_values is None: + past_key_values = DynamicCache(config=self.config) + + if position_ids is None: + past_seen_tokens = past_key_values.get_seq_length() if past_key_values is not None else 0 + position_ids = torch.arange(inputs_embeds.shape[1], device=inputs_embeds.device) + past_seen_tokens + position_ids = position_ids.unsqueeze(0) + + protein_feats = None + protein_batch_mask = None + # If provided, actually compute them + if protein_input_ids is not None and protein_attention_mask is not None: + protein_outputs = self.protein_encoder( + input_ids=protein_input_ids, + attention_mask=protein_attention_mask, + ) + protein_feats = protein_outputs.sequence_compressor_output + protein_batch_mask = torch.ones( + protein_input_ids.shape[0], + device=protein_input_ids.device, + dtype=torch.bool, + ) + + causal_mask = create_causal_mask( + config=self.config, + inputs_embeds=inputs_embeds, + attention_mask=attention_mask, + past_key_values=past_key_values, + ) + + hidden_states = inputs_embeds + position_embeddings = self.rotary_emb(hidden_states, position_ids=position_ids) + + for decoder_layer in self.layers: + hidden_states = decoder_layer( + hidden_states, + attention_mask=causal_mask, + position_ids=position_ids, + past_key_values=past_key_values, + use_cache=use_cache, + protein_kv_states=protein_feats, + structure_kv_states=structure_feats, + msa_kv_states=msa_feats, + protein_batch_mask=protein_batch_mask, + structure_batch_mask=structure_batch_mask, + msa_batch_mask=msa_batch_mask, + query_attn_mask=attention_mask, + position_embeddings=position_embeddings, + **kwargs, + ) + + hidden_states = self.norm(hidden_states) + + output = BaseModelOutputWithPast( + last_hidden_state=hidden_states, + past_key_values=past_key_values, + ) + return output + + +class EvollaForProteinText2Text(EvollaPreTrainedModel, GenerationMixin): + def __init__(self, config): + super().__init__(config) + self.model = EvollaModel(config) + self.vocab_size = config.vocab_size + self.lm_head = nn.Linear(config.hidden_size, self.vocab_size, bias=False) + + self.post_init() + + def get_input_embeddings(self): + return self.model.get_input_embeddings() + + def set_input_embeddings(self, value): + return self.model.set_input_embeddings(value) + + @can_return_tuple + @auto_docstring + def forward( + self, + input_ids: torch.LongTensor | None = None, # text input ids + attention_mask: torch.Tensor | None = None, # text attention mask + inputs_embeds: torch.FloatTensor | None = None, # text input embeddings + labels: torch.LongTensor | None = None, + protein_input_ids: torch.LongTensor | None = None, + protein_attention_mask: torch.Tensor | None = None, + use_cache: bool | None = None, + logits_to_keep: int | torch.Tensor = 0, + **kwargs, + ): + r""" + protein_input_ids (torch.LongTensor): + The input IDs for the protein sequence. Should be of shape `(batch_size, protein_seq_length)` and type `torch.LongTensor`. + protein_attention_mask (torch.Tensor): + The attention mask for the protein sequence. Should be of shape `(batch_size, protein_seq_length)` and type `torch.Tensor`. + + Example: + + ```python + >>> from transformers import EvollaProcessor, EvollaForProteinText2Text + >>> model = EvollaForProteinText2Text.from_pretrained("westlake/Evolla-10B-hf") + >>> processor = EvollaProcessor.from_pretrained("westlake/Evolla-10B-hf") + + >>> protein_information = { + "aa_seq": "your amino acid sequence", + "foldseek": "your foldseek sequence", + } + >>> question = "What is the function of this protein?" + >>> message = [ + {"role": "system", "content": "You are an AI expert that can answer any questions about protein."}, + {"role": "user", "content": question}, + ] + + >>> inputs = processor(proteins=[protein_information], messages_list=[message], return_tensors="pt", padding="longest") + >>> outputs = model.generate(**inputs) + + >>> print(processor.batch_decode(outputs, skip_special_tokens=True)) + ```""" + outputs: BaseModelOutputWithPast = self.model( + input_ids=input_ids, + attention_mask=attention_mask, + inputs_embeds=inputs_embeds, + protein_input_ids=protein_input_ids, + protein_attention_mask=protein_attention_mask, + use_cache=use_cache, + **kwargs, + ) + + hidden_states = outputs.last_hidden_state + # Only compute necessary logits, and do not upcast them to float if we are not computing the loss + slice_indices = slice(-logits_to_keep, None) if isinstance(logits_to_keep, int) else logits_to_keep + logits = self.lm_head(hidden_states[:, slice_indices, :]) + + loss = None + if labels is not None: + loss = self.loss_function(logits=logits, labels=labels, vocab_size=self.vocab_size, **kwargs) + + lm_outputs = CausalLMOutputWithPast( + loss=loss, + logits=logits, + past_key_values=outputs.past_key_values, + hidden_states=outputs.hidden_states, + attentions=outputs.attentions, + ) + return lm_outputs + + +__all__ = ["EvollaForProteinText2Text", "EvollaModel", "EvollaPreTrainedModel"] diff --git a/LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/transformers/models/vaultgemma/__init__.py b/LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/transformers/models/vaultgemma/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..e41a0e15febbd8cb5cccdc0867560b7c70d10d80 --- /dev/null +++ b/LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/transformers/models/vaultgemma/__init__.py @@ -0,0 +1,28 @@ +# Copyright 2025 the HuggingFace Team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from typing import TYPE_CHECKING + +from ...utils import _LazyModule +from ...utils.import_utils import define_import_structure + + +if TYPE_CHECKING: + from .configuration_vaultgemma import * + from .modeling_vaultgemma import * +else: + import sys + + _file = globals()["__file__"] + sys.modules[__name__] = _LazyModule(__name__, _file, define_import_structure(_file), module_spec=__spec__) diff --git a/LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/transformers/models/vaultgemma/configuration_vaultgemma.py b/LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/transformers/models/vaultgemma/configuration_vaultgemma.py new file mode 100644 index 0000000000000000000000000000000000000000..a60b7e8edc0c8c9928fe0dd27a80c7ffcf08d316 --- /dev/null +++ b/LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/transformers/models/vaultgemma/configuration_vaultgemma.py @@ -0,0 +1,109 @@ +# 🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨 +# This file was automatically generated from src/transformers/models/vaultgemma/modular_vaultgemma.py. +# Do NOT edit this file manually as any edits will be overwritten by the generation of +# the file from the modular. If any change should be done, please apply the change to the +# modular_vaultgemma.py file directly. One of our CI enforces this. +# 🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨 +# Copyright 2025 the HuggingFace Team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +from huggingface_hub.dataclasses import strict + +from ...configuration_utils import PreTrainedConfig +from ...modeling_rope_utils import RopeParameters +from ...utils import auto_docstring + + +@auto_docstring(checkpoint="google/vaultgemma-1b") +@strict +class VaultGemmaConfig(PreTrainedConfig): + r""" + query_pre_attn_scalar (`float`, *optional*, defaults to 256): + scaling factor used on the attention scores + final_logit_softcapping (`float`, *optional*, defaults to 30.0): + scaling factor when applying tanh softcapping on the logits. + attn_logit_softcapping (`float`, *optional*, defaults to 50.0): + scaling factor when applying tanh softcapping on the attention scores. + + ```python + >>> from transformers import VaultGemmaModel, VaultGemmaConfig + >>> # Initializing a VaultGemma vaultgemma-7b style configuration + >>> configuration = VaultGemmaConfig() + >>> # Initializing a model from the vaultgemma-7b style configuration + >>> model = VaultGemmaModel(configuration) + >>> # Accessing the model configuration + >>> configuration = model.config + ```""" + + model_type = "vaultgemma" + keys_to_ignore_at_inference = ["past_key_values"] + base_model_tp_plan = { + "layers.*.self_attn.q_proj": "colwise", + "layers.*.self_attn.k_proj": "colwise", + "layers.*.self_attn.v_proj": "colwise", + "layers.*.self_attn.o_proj": "rowwise", + "layers.*.mlp.gate_proj": "colwise", + "layers.*.mlp.up_proj": "colwise", + "layers.*.mlp.down_proj": "rowwise", + } + base_model_pp_plan = { + "embed_tokens": (["input_ids"], ["inputs_embeds"]), + "layers": (["hidden_states", "attention_mask"], ["hidden_states"]), + "norm": (["hidden_states"], ["hidden_states"]), + } + + vocab_size: int = 256000 + hidden_size: int = 2304 + intermediate_size: int = 9216 + num_hidden_layers: int = 26 + num_attention_heads: int = 8 + num_key_value_heads: int = 4 + head_dim: int = 256 + hidden_activation: str = "gelu_pytorch_tanh" + max_position_embeddings: int = 8192 + initializer_range: float = 0.02 + rms_norm_eps: float = 1e-6 + use_cache: bool = True + pad_token_id: int | None = 0 + eos_token_id: int | list[int] | None = 1 + bos_token_id: int | None = 2 + tie_word_embeddings: bool = True + rope_parameters: RopeParameters | dict | None = None + attention_bias: bool = False + attention_dropout: int | float | None = 0.0 + query_pre_attn_scalar: int = 256 + sliding_window: int | None = 4096 + layer_types: list[str] | None = None + final_logit_softcapping: float | None = 30.0 + attn_logit_softcapping: float | None = 50.0 + + def __post_init__(self, **kwargs): + if self.layer_types is None: + self.layer_types = [ + "sliding_attention" if bool((i + 1) % 2) else "full_attention" for i in range(self.num_hidden_layers) + ] + + super().__post_init__(**kwargs) + + def validate_architecture(self): + """Part of `@strict`-powered validation. Validates the architecture of the config.""" + if self.hidden_size % self.num_attention_heads != 0: + raise ValueError( + f"The hidden size ({self.hidden_size}) is not a multiple of the number of attention " + f"heads ({self.num_attention_heads})." + ) + + +__all__ = ["VaultGemmaConfig"] diff --git a/LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/transformers/models/vaultgemma/modeling_vaultgemma.py b/LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/transformers/models/vaultgemma/modeling_vaultgemma.py new file mode 100644 index 0000000000000000000000000000000000000000..f0a2e48d20b8fd36e6a096baa1b5d28c10f3b8b4 --- /dev/null +++ b/LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/transformers/models/vaultgemma/modeling_vaultgemma.py @@ -0,0 +1,546 @@ +# 🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨 +# This file was automatically generated from src/transformers/models/vaultgemma/modular_vaultgemma.py. +# Do NOT edit this file manually as any edits will be overwritten by the generation of +# the file from the modular. If any change should be done, please apply the change to the +# modular_vaultgemma.py file directly. One of our CI enforces this. +# 🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨 +# Copyright 2025 the HuggingFace Team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + + +from collections.abc import Callable +from typing import Optional + +import torch +import torch.nn as nn + +from ... import initialization as init +from ...activations import ACT2FN +from ...cache_utils import Cache, DynamicCache +from ...generation import GenerationMixin +from ...integrations import use_kernel_func_from_hub, use_kernelized_func +from ...masking_utils import create_causal_mask, create_sliding_window_causal_mask +from ...modeling_flash_attention_utils import FlashAttentionKwargs +from ...modeling_layers import GradientCheckpointingLayer +from ...modeling_outputs import BaseModelOutputWithPast, CausalLMOutputWithPast +from ...modeling_rope_utils import ROPE_INIT_FUNCTIONS, dynamic_rope_update +from ...modeling_utils import ALL_ATTENTION_FUNCTIONS, PreTrainedModel +from ...processing_utils import Unpack +from ...utils import TransformersKwargs, auto_docstring, can_return_tuple +from ...utils.generic import maybe_autocast, merge_with_config_defaults +from ...utils.output_capturing import capture_outputs +from .configuration_vaultgemma import VaultGemmaConfig + + +class VaultGemmaRMSNorm(nn.Module): + def __init__(self, dim: int, eps: float = 1e-6): + super().__init__() + self.eps = eps + self.weight = nn.Parameter(torch.zeros(dim)) + + def _norm(self, x): + return x * torch.rsqrt(x.pow(2).mean(-1, keepdim=True) + self.eps) + + def forward(self, x): + output = self._norm(x.float()) + # Llama does x.to(float16) * w whilst VaultGemma is (x * w).to(float16) + # See https://github.com/huggingface/transformers/pull/29402 + output = output * (1.0 + self.weight.float()) + return output.type_as(x) + + def extra_repr(self): + return f"{tuple(self.weight.shape)}, eps={self.eps}" + + +class VaultGemmaMLP(nn.Module): + def __init__(self, config): + super().__init__() + self.config = config + self.hidden_size = config.hidden_size + self.intermediate_size = config.intermediate_size + self.gate_proj = nn.Linear(self.hidden_size, self.intermediate_size, bias=False) + self.up_proj = nn.Linear(self.hidden_size, self.intermediate_size, bias=False) + self.down_proj = nn.Linear(self.intermediate_size, self.hidden_size, bias=False) + self.act_fn = ACT2FN[config.hidden_activation] + + def forward(self, x): + down_proj = self.down_proj(self.act_fn(self.gate_proj(x)) * self.up_proj(x)) + return down_proj + + +def rotate_half(x): + """Rotates half the hidden dims of the input.""" + x1 = x[..., : x.shape[-1] // 2] + x2 = x[..., x.shape[-1] // 2 :] + return torch.cat((-x2, x1), dim=-1) + + +@use_kernel_func_from_hub("rotary_pos_emb") +def apply_rotary_pos_emb(q, k, cos, sin, unsqueeze_dim=1): + """Applies Rotary Position Embedding to the query and key tensors. + + Args: + q (`torch.Tensor`): The query tensor. + k (`torch.Tensor`): The key tensor. + cos (`torch.Tensor`): The cosine part of the rotary embedding. + sin (`torch.Tensor`): The sine part of the rotary embedding. + unsqueeze_dim (`int`, *optional*, defaults to 1): + The 'unsqueeze_dim' argument specifies the dimension along which to unsqueeze cos[position_ids] and + sin[position_ids] so that they can be properly broadcasted to the dimensions of q and k. For example, note + that cos[position_ids] and sin[position_ids] have the shape [batch_size, seq_len, head_dim]. Then, if q and + k have the shape [batch_size, heads, seq_len, head_dim], then setting unsqueeze_dim=1 makes + cos[position_ids] and sin[position_ids] broadcastable to the shapes of q and k. Similarly, if q and k have + the shape [batch_size, seq_len, heads, head_dim], then set unsqueeze_dim=2. + Returns: + `tuple(torch.Tensor)` comprising of the query and key tensors rotated using the Rotary Position Embedding. + """ + cos = cos.unsqueeze(unsqueeze_dim) + sin = sin.unsqueeze(unsqueeze_dim) + q_embed = (q * cos) + (rotate_half(q) * sin) + k_embed = (k * cos) + (rotate_half(k) * sin) + return q_embed, k_embed + + +def repeat_kv(hidden_states: torch.Tensor, n_rep: int) -> torch.Tensor: + """ + This is the equivalent of torch.repeat_interleave(x, dim=1, repeats=n_rep). The hidden states go from (batch, + num_key_value_heads, seqlen, head_dim) to (batch, num_attention_heads, seqlen, head_dim) + """ + batch, num_key_value_heads, slen, head_dim = hidden_states.shape + if n_rep == 1: + return hidden_states + hidden_states = hidden_states[:, :, None, :, :].expand(batch, num_key_value_heads, n_rep, slen, head_dim) + return hidden_states.reshape(batch, num_key_value_heads * n_rep, slen, head_dim) + + +def eager_attention_forward( + module: nn.Module, + query: torch.Tensor, + key: torch.Tensor, + value: torch.Tensor, + attention_mask: torch.Tensor | None, + dropout: float | int = 0.0, + scaling: float | None = None, + softcap: float | None = None, + **kwargs, +) -> tuple[torch.Tensor, torch.Tensor]: + if scaling is None: + scaling = module.head_dim**-0.5 + + key_states = repeat_kv(key, module.num_key_value_groups) + value_states = repeat_kv(value, module.num_key_value_groups) + + attn_weights = torch.matmul(query, key_states.transpose(2, 3)) * scaling + + if softcap is not None: + attn_weights = attn_weights / softcap + attn_weights = torch.tanh(attn_weights) + attn_weights = attn_weights * softcap + if attention_mask is not None: + attn_weights = attn_weights + attention_mask + + # upcast attention to fp32 + attn_weights = nn.functional.softmax(attn_weights, dim=-1, dtype=torch.float32).to(query.dtype) + attn_weights = nn.functional.dropout(attn_weights, p=dropout, training=module.training) + attn_output = torch.matmul(attn_weights, value_states) + attn_output = attn_output.transpose(1, 2).contiguous() + return attn_output, attn_weights + + +@use_kernelized_func(apply_rotary_pos_emb) +class VaultGemmaAttention(nn.Module): + """Multi-headed attention from 'Attention Is All You Need' paper""" + + def __init__(self, config: VaultGemmaConfig, layer_idx: int): + super().__init__() + self.layer_type = config.layer_types[layer_idx] if hasattr(config, "layer_types") else None + self.config = config + self.layer_idx = layer_idx + self.head_dim = getattr(config, "head_dim", config.hidden_size // config.num_attention_heads) + self.num_key_value_groups = config.num_attention_heads // config.num_key_value_heads + self.scaling = config.query_pre_attn_scalar**-0.5 + self.attention_dropout = self.config.attention_dropout + self.is_causal = True + + self.q_proj = nn.Linear( + config.hidden_size, config.num_attention_heads * self.head_dim, bias=config.attention_bias + ) + self.k_proj = nn.Linear( + config.hidden_size, config.num_key_value_heads * self.head_dim, bias=config.attention_bias + ) + self.v_proj = nn.Linear( + config.hidden_size, config.num_key_value_heads * self.head_dim, bias=config.attention_bias + ) + self.o_proj = nn.Linear( + config.num_attention_heads * self.head_dim, config.hidden_size, bias=config.attention_bias + ) + self.attn_logit_softcapping = self.config.attn_logit_softcapping + self.sliding_window = config.sliding_window if self.layer_type == "sliding_attention" else None + + def forward( + self, + hidden_states: torch.Tensor, + position_embeddings: tuple[torch.Tensor, torch.Tensor] | None = None, + attention_mask: torch.Tensor | None = None, + past_key_values: Cache | None = None, + **kwargs: Unpack[FlashAttentionKwargs], + ) -> tuple[torch.Tensor, torch.Tensor | None, tuple[torch.Tensor] | None]: + input_shape = hidden_states.shape[:-1] + hidden_shape = (*input_shape, -1, self.head_dim) + + query_states = self.q_proj(hidden_states).view(hidden_shape).transpose(1, 2) + key_states = self.k_proj(hidden_states).view(hidden_shape).transpose(1, 2) + value_states = self.v_proj(hidden_states).view(hidden_shape).transpose(1, 2) + + cos, sin = position_embeddings + query_states, key_states = apply_rotary_pos_emb(query_states, key_states, cos, sin) + + if past_key_values is not None: + key_states, value_states = past_key_values.update(key_states, value_states, self.layer_idx) + + attention_interface: Callable = ALL_ATTENTION_FUNCTIONS.get_interface( + self.config._attn_implementation, eager_attention_forward + ) + + attn_output, attn_weights = attention_interface( + self, + query_states, + key_states, + value_states, + attention_mask, + dropout=self.attention_dropout if self.training else 0.0, + scaling=self.scaling, + sliding_window=self.sliding_window, + softcap=self.attn_logit_softcapping, + **kwargs, + ) + + attn_output = attn_output.reshape(*input_shape, -1).contiguous() + attn_output = self.o_proj(attn_output) + return attn_output, attn_weights + + +class VaultGemmaDecoderLayer(GradientCheckpointingLayer): + def __init__(self, config: VaultGemmaConfig, layer_idx: int): + super().__init__() + self.hidden_size = config.hidden_size + self.config = config + self.self_attn = VaultGemmaAttention(config=config, layer_idx=layer_idx) + self.mlp = VaultGemmaMLP(config) + self.input_layernorm = VaultGemmaRMSNorm(config.hidden_size, eps=config.rms_norm_eps) + + self.pre_feedforward_layernorm = VaultGemmaRMSNorm(config.hidden_size, eps=config.rms_norm_eps) + + def forward( + self, + hidden_states: torch.Tensor, + position_embeddings: tuple[torch.Tensor, torch.Tensor], + attention_mask: torch.Tensor | None = None, + position_ids: torch.LongTensor | None = None, + past_key_values: Cache | None = None, + **kwargs, + ) -> tuple[torch.FloatTensor, tuple[torch.FloatTensor, torch.FloatTensor] | None]: + residual = hidden_states + hidden_states = self.input_layernorm(hidden_states) + # Self Attention + hidden_states, _ = self.self_attn( + hidden_states=hidden_states, + position_embeddings=position_embeddings, + attention_mask=attention_mask, + position_ids=position_ids, + past_key_values=past_key_values, + **kwargs, + ) + hidden_states = residual + hidden_states + + residual = hidden_states + hidden_states = self.pre_feedforward_layernorm(hidden_states) + hidden_states = self.mlp(hidden_states) + hidden_states = residual + hidden_states + + return hidden_states + + +class VaultGemmaRotaryEmbedding(nn.Module): + inv_freq: torch.Tensor # fix linting for `register_buffer` + + def __init__(self, config: VaultGemmaConfig, device=None): + super().__init__() + self.max_seq_len_cached = config.max_position_embeddings + self.original_max_seq_len = config.max_position_embeddings + + self.config = config + + self.rope_type = self.config.rope_parameters["rope_type"] + rope_init_fn: Callable = self.compute_default_rope_parameters + if self.rope_type != "default": + rope_init_fn = ROPE_INIT_FUNCTIONS[self.rope_type] + inv_freq, self.attention_scaling = rope_init_fn(self.config, device) + + self.register_buffer("inv_freq", inv_freq, persistent=False) + self.register_buffer("original_inv_freq", inv_freq.clone(), persistent=False) + + @staticmethod + def compute_default_rope_parameters( + config: VaultGemmaConfig | None = None, + device: Optional["torch.device"] = None, + seq_len: int | None = None, + ) -> tuple["torch.Tensor", float]: + """ + Computes the inverse frequencies according to the original RoPE implementation + Args: + config ([`~transformers.PreTrainedConfig`]): + The model configuration. + device (`torch.device`): + The device to use for initialization of the inverse frequencies. + seq_len (`int`, *optional*): + The current sequence length. Unused for this type of RoPE. + Returns: + Tuple of (`torch.Tensor`, `float`), containing the inverse frequencies for the RoPE embeddings and the + post-processing scaling factor applied to the computed cos/sin (unused in this type of RoPE). + """ + base = config.rope_parameters["rope_theta"] + dim = getattr(config, "head_dim", None) or config.hidden_size // config.num_attention_heads + + attention_factor = 1.0 # Unused in this type of RoPE + + # Compute the inverse frequencies + inv_freq = 1.0 / ( + base ** (torch.arange(0, dim, 2, dtype=torch.int64).to(device=device, dtype=torch.float) / dim) + ) + return inv_freq, attention_factor + + @torch.no_grad() + @dynamic_rope_update # power user: used with advanced RoPE types (e.g. dynamic rope) + def forward(self, x, position_ids): + inv_freq_expanded = self.inv_freq[None, :, None].float().expand(position_ids.shape[0], -1, 1).to(x.device) + position_ids_expanded = position_ids[:, None, :].float() + + device_type = x.device.type if isinstance(x.device.type, str) and x.device.type != "mps" else "cpu" + with maybe_autocast(device_type=device_type, enabled=False): # Force float32 + freqs = (inv_freq_expanded.float() @ position_ids_expanded.float()).transpose(1, 2) + emb = torch.cat((freqs, freqs), dim=-1) + cos = emb.cos() * self.attention_scaling + sin = emb.sin() * self.attention_scaling + + return cos.to(dtype=x.dtype), sin.to(dtype=x.dtype) + + +class VaultGemmaTextScaledWordEmbedding(nn.Embedding): + """ + This module overrides nn.Embeddings' forward by multiplying with embeddings scale. + """ + + def __init__(self, num_embeddings: int, embedding_dim: int, padding_idx: int, embed_scale: float = 1.0): + super().__init__(num_embeddings, embedding_dim, padding_idx) + self.scalar_embed_scale = embed_scale + self.register_buffer("embed_scale", torch.tensor(embed_scale), persistent=False) + + def forward(self, input_ids: torch.Tensor): + return super().forward(input_ids) * self.embed_scale.to(self.weight.dtype) + + +@auto_docstring +class VaultGemmaPreTrainedModel(PreTrainedModel): + config: VaultGemmaConfig + base_model_prefix = "model" + supports_gradient_checkpointing = True + _no_split_modules = ["VaultGemmaDecoderLayer"] + _skip_keys_device_placement = ["past_key_values"] + _supports_flash_attn = True + _supports_sdpa = True + _supports_flex_attn = True + + _can_compile_fullgraph = True + _supports_attention_backend = True + _can_record_outputs = { + "hidden_states": VaultGemmaDecoderLayer, + "attentions": VaultGemmaAttention, + } + + @torch.no_grad() + def _init_weights(self, module): + super()._init_weights(module) + # We initialize with 0s to be 1 centered as the RMSNorm here does (1 + weight) + if "RMSNorm" in module.__class__.__name__: + init.zeros_(module.weight) + elif isinstance(module, VaultGemmaTextScaledWordEmbedding): + init.constant_(module.embed_scale, module.scalar_embed_scale) + + +@auto_docstring +class VaultGemmaModel(VaultGemmaPreTrainedModel): + def __init__(self, config: VaultGemmaConfig): + super().__init__(config) + self.padding_idx = config.pad_token_id + self.vocab_size = config.vocab_size + # VaultGemma3 downcasts the below to bfloat16, causing sqrt(3072)=55.4256 to become 55.5. See https://github.com/huggingface/transformers/pull/29402 + self.embed_tokens = VaultGemmaTextScaledWordEmbedding( + config.vocab_size, config.hidden_size, self.padding_idx, embed_scale=self.config.hidden_size**0.5 + ) + self.layers = nn.ModuleList( + [VaultGemmaDecoderLayer(config, layer_idx) for layer_idx in range(config.num_hidden_layers)] + ) + self.norm = VaultGemmaRMSNorm(config.hidden_size, eps=config.rms_norm_eps) + self.rotary_emb = VaultGemmaRotaryEmbedding(config) + self.gradient_checkpointing = False + + # Initialize weights and apply final processing + self.post_init() + + @merge_with_config_defaults + @capture_outputs + @auto_docstring + def forward( + self, + input_ids: torch.LongTensor | None = None, + attention_mask: torch.Tensor | None = None, + position_ids: torch.LongTensor | None = None, + past_key_values: Cache | None = None, + inputs_embeds: torch.FloatTensor | None = None, + use_cache: bool | None = None, + **kwargs: Unpack[TransformersKwargs], + ) -> BaseModelOutputWithPast: + if (input_ids is None) ^ (inputs_embeds is not None): + raise ValueError("You must specify exactly one of input_ids or inputs_embeds") + + if inputs_embeds is None: + inputs_embeds: torch.Tensor = self.embed_tokens(input_ids) + + if use_cache and past_key_values is None: + past_key_values = DynamicCache(config=self.config) + + if position_ids is None: + past_seen_tokens = past_key_values.get_seq_length() if past_key_values is not None else 0 + position_ids = torch.arange(inputs_embeds.shape[1], device=inputs_embeds.device) + past_seen_tokens + position_ids = position_ids.unsqueeze(0) + + # It may already have been prepared by e.g. `generate` + if not isinstance(causal_mask_mapping := attention_mask, dict): + # Prepare mask arguments + mask_kwargs = { + "config": self.config, + "inputs_embeds": inputs_embeds, + "attention_mask": attention_mask, + "past_key_values": past_key_values, + "position_ids": position_ids, + } + # Create the masks + causal_mask_mapping = { + "full_attention": create_causal_mask(**mask_kwargs), + "sliding_attention": create_sliding_window_causal_mask(**mask_kwargs), + } + + # embed positions + hidden_states = inputs_embeds + position_embeddings = self.rotary_emb(hidden_states, position_ids) + + for i, decoder_layer in enumerate(self.layers[: self.config.num_hidden_layers]): + hidden_states = decoder_layer( + hidden_states, + attention_mask=causal_mask_mapping[self.config.layer_types[i]], + position_embeddings=position_embeddings, + position_ids=position_ids, + past_key_values=past_key_values, + **kwargs, + ) + + hidden_states = self.norm(hidden_states) + + return BaseModelOutputWithPast( + last_hidden_state=hidden_states, + past_key_values=past_key_values, + ) + + +@auto_docstring +class VaultGemmaForCausalLM(VaultGemmaPreTrainedModel, GenerationMixin): + _tied_weights_keys = {"lm_head.weight": "model.embed_tokens.weight"} + _tp_plan = {"lm_head": "colwise_gather_output"} + _pp_plan = {"lm_head": (["hidden_states"], ["logits"])} + + def __init__(self, config): + super().__init__(config) + self.model = VaultGemmaModel(config) + self.vocab_size = config.vocab_size + self.lm_head = nn.Linear(config.hidden_size, config.vocab_size, bias=False) + + # Initialize weights and apply final processing + self.post_init() + + @can_return_tuple + @auto_docstring + def forward( + self, + input_ids: torch.LongTensor | None = None, + attention_mask: torch.Tensor | None = None, + position_ids: torch.LongTensor | None = None, + past_key_values: Cache | None = None, + inputs_embeds: torch.FloatTensor | None = None, + labels: torch.LongTensor | None = None, + use_cache: bool | None = None, + logits_to_keep: int | torch.Tensor = 0, + **kwargs: Unpack[TransformersKwargs], + ) -> CausalLMOutputWithPast: + r""" + Example: + + ```python + >>> from transformers import AutoTokenizer, VaultGemmaForCausalLM + + >>> model = VaultGemmaForCausalLM.from_pretrained("google/gemma-2-9b") + >>> tokenizer = AutoTokenizer.from_pretrained("google/gemma-2-9b") + + >>> prompt = "What is your favorite condiment?" + >>> inputs = tokenizer(prompt, return_tensors="pt") + + >>> # Generate + >>> generate_ids = model.generate(inputs.input_ids, max_length=30) + >>> tokenizer.batch_decode(generate_ids, skip_special_tokens=True, clean_up_tokenization_spaces=False)[0] + "What is your favorite condiment?" + ```""" + # decoder outputs consists of (dec_features, layer_state, dec_hidden, dec_attn) + outputs: BaseModelOutputWithPast = self.model( + input_ids=input_ids, + attention_mask=attention_mask, + position_ids=position_ids, + past_key_values=past_key_values, + inputs_embeds=inputs_embeds, + use_cache=use_cache, + **kwargs, + ) + + hidden_states = outputs.last_hidden_state + # Only compute necessary logits, and do not upcast them to float if we are not computing the loss + slice_indices = slice(-logits_to_keep, None) if isinstance(logits_to_keep, int) else logits_to_keep + logits = self.lm_head(hidden_states[:, slice_indices, :]) + if self.config.final_logit_softcapping is not None: + logits = logits / self.config.final_logit_softcapping + logits = torch.tanh(logits) + logits = logits * self.config.final_logit_softcapping + + loss = None + if labels is not None: + loss = self.loss_function(logits, labels, self.vocab_size, **kwargs) + + return CausalLMOutputWithPast( + loss=loss, + logits=logits, + past_key_values=outputs.past_key_values, + hidden_states=outputs.hidden_states, + attentions=outputs.attentions, + ) + + +__all__ = ["VaultGemmaForCausalLM", "VaultGemmaModel", "VaultGemmaPreTrainedModel"] diff --git a/LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/transformers/models/vit/__init__.py b/LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/transformers/models/vit/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..903a544729a5586e2415e09d66d15008232e6160 --- /dev/null +++ b/LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/transformers/models/vit/__init__.py @@ -0,0 +1,29 @@ +# Copyright 2024 The HuggingFace Team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +from typing import TYPE_CHECKING + +from ...utils import _LazyModule +from ...utils.import_utils import define_import_structure + + +if TYPE_CHECKING: + from .configuration_vit import * + from .image_processing_pil_vit import * + from .image_processing_vit import * + from .modeling_vit import * +else: + import sys + + _file = globals()["__file__"] + sys.modules[__name__] = _LazyModule(__name__, _file, define_import_structure(_file), module_spec=__spec__) diff --git a/LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/transformers/models/vit/configuration_vit.py b/LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/transformers/models/vit/configuration_vit.py new file mode 100644 index 0000000000000000000000000000000000000000..513cd6f758dd43f17924954b45bfd03f88663f70 --- /dev/null +++ b/LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/transformers/models/vit/configuration_vit.py @@ -0,0 +1,72 @@ +# Copyright 2021 Google AI and The HuggingFace Inc. team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +"""ViT model configuration""" + +from huggingface_hub.dataclasses import strict + +from ...configuration_utils import PreTrainedConfig +from ...utils import auto_docstring + + +@auto_docstring(checkpoint="google/vit-base-patch16-224") +@strict +class ViTConfig(PreTrainedConfig): + r""" + encoder_stride (`int`, *optional*, defaults to 16): + Factor to increase the spatial resolution by in the decoder head for masked image modeling. + pooler_output_size (`int`, *optional*): + Dimensionality of the pooler layer. If None, defaults to `hidden_size`. + pooler_act (`str`, *optional*, defaults to `"tanh"`): + The activation function to be used by the pooler. + + Example: + + ```python + >>> from transformers import ViTConfig, ViTModel + + >>> # Initializing a ViT vit-base-patch16-224 style configuration + >>> configuration = ViTConfig() + + >>> # Initializing a model (with random weights) from the vit-base-patch16-224 style configuration + >>> model = ViTModel(configuration) + + >>> # Accessing the model configuration + >>> configuration = model.config + ```""" + + model_type = "vit" + + hidden_size: int = 768 + num_hidden_layers: int = 12 + num_attention_heads: int = 12 + intermediate_size: int = 3072 + hidden_act: str = "gelu" + hidden_dropout_prob: float | int = 0.0 + attention_probs_dropout_prob: float | int = 0.0 + initializer_range: float = 0.02 + layer_norm_eps: float = 1e-12 + image_size: int | list[int] | tuple[int, int] = 224 + patch_size: int | list[int] | tuple[int, int] = 16 + num_channels: int = 3 + qkv_bias: bool = True + encoder_stride: int = 16 + pooler_output_size: int | None = None + pooler_act: str = "tanh" + + def __post_init__(self, **kwargs): + self.pooler_output_size = self.pooler_output_size if self.pooler_output_size else self.hidden_size + super().__post_init__(**kwargs) + + +__all__ = ["ViTConfig"] diff --git a/LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/transformers/models/vit/image_processing_pil_vit.py b/LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/transformers/models/vit/image_processing_pil_vit.py new file mode 100644 index 0000000000000000000000000000000000000000..afb3ec47683aeb5973caaf5df4d080227c6e7327 --- /dev/null +++ b/LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/transformers/models/vit/image_processing_pil_vit.py @@ -0,0 +1,30 @@ +# Copyright 2022 The HuggingFace Inc. team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +"""Image processor class for ViT.""" + +from ...image_processing_backends import PilBackend +from ...image_utils import IMAGENET_STANDARD_MEAN, IMAGENET_STANDARD_STD, PILImageResampling + + +class ViTImageProcessorPil(PilBackend): + resample = PILImageResampling.BILINEAR + image_mean = IMAGENET_STANDARD_MEAN + image_std = IMAGENET_STANDARD_STD + size = {"height": 224, "width": 224} + do_resize = True + do_rescale = True + do_normalize = True + + +__all__ = ["ViTImageProcessorPil"] diff --git a/LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/transformers/models/vit/image_processing_vit.py b/LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/transformers/models/vit/image_processing_vit.py new file mode 100644 index 0000000000000000000000000000000000000000..4116cc1e597ccd1f6914cd32637d1b3057f50d87 --- /dev/null +++ b/LTA_openwebtext_dualt/mini_owt_logdirichlet/.venv_qwen35_uv/lib/python3.12/site-packages/transformers/models/vit/image_processing_vit.py @@ -0,0 +1,30 @@ +# Copyright 2022 The HuggingFace Inc. team. All rights reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +"""Image processor class for ViT.""" + +from ...image_processing_backends import TorchvisionBackend +from ...image_utils import IMAGENET_STANDARD_MEAN, IMAGENET_STANDARD_STD, PILImageResampling + + +class ViTImageProcessor(TorchvisionBackend): + resample = PILImageResampling.BILINEAR + image_mean = IMAGENET_STANDARD_MEAN + image_std = IMAGENET_STANDARD_STD + size = {"height": 224, "width": 224} + do_resize = True + do_rescale = True + do_normalize = True + + +__all__ = ["ViTImageProcessor"]