liger-kernel-nightly 0.4.2.dev20241122175637__tar.gz → 0.4.2.dev20241128223426__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. {liger_kernel_nightly-0.4.2.dev20241122175637/src/liger_kernel_nightly.egg-info → liger_kernel_nightly-0.4.2.dev20241128223426}/PKG-INFO +1 -1
  2. {liger_kernel_nightly-0.4.2.dev20241122175637 → liger_kernel_nightly-0.4.2.dev20241128223426}/pyproject.toml +1 -1
  3. {liger_kernel_nightly-0.4.2.dev20241122175637 → liger_kernel_nightly-0.4.2.dev20241128223426}/src/liger_kernel/ops/layer_norm.py +6 -1
  4. {liger_kernel_nightly-0.4.2.dev20241122175637 → liger_kernel_nightly-0.4.2.dev20241128223426}/src/liger_kernel/ops/rms_norm.py +1 -0
  5. {liger_kernel_nightly-0.4.2.dev20241122175637 → liger_kernel_nightly-0.4.2.dev20241128223426}/src/liger_kernel/ops/utils.py +5 -2
  6. liger_kernel_nightly-0.4.2.dev20241128223426/src/liger_kernel/transformers/model/__init__.py +0 -0
  7. liger_kernel_nightly-0.4.2.dev20241128223426/src/liger_kernel/utils.py +13 -0
  8. {liger_kernel_nightly-0.4.2.dev20241122175637 → liger_kernel_nightly-0.4.2.dev20241128223426/src/liger_kernel_nightly.egg-info}/PKG-INFO +1 -1
  9. {liger_kernel_nightly-0.4.2.dev20241122175637 → liger_kernel_nightly-0.4.2.dev20241128223426}/src/liger_kernel_nightly.egg-info/SOURCES.txt +2 -0
  10. {liger_kernel_nightly-0.4.2.dev20241122175637 → liger_kernel_nightly-0.4.2.dev20241128223426}/LICENSE +0 -0
  11. {liger_kernel_nightly-0.4.2.dev20241122175637 → liger_kernel_nightly-0.4.2.dev20241128223426}/NOTICE +0 -0
  12. {liger_kernel_nightly-0.4.2.dev20241122175637 → liger_kernel_nightly-0.4.2.dev20241128223426}/README.md +0 -0
  13. {liger_kernel_nightly-0.4.2.dev20241122175637 → liger_kernel_nightly-0.4.2.dev20241128223426}/setup.cfg +0 -0
  14. {liger_kernel_nightly-0.4.2.dev20241122175637/src/liger_kernel/ops → liger_kernel_nightly-0.4.2.dev20241128223426/src/liger_kernel}/__init__.py +0 -0
  15. {liger_kernel_nightly-0.4.2.dev20241122175637 → liger_kernel_nightly-0.4.2.dev20241128223426}/src/liger_kernel/chunked_loss/__init__.py +0 -0
  16. {liger_kernel_nightly-0.4.2.dev20241122175637 → liger_kernel_nightly-0.4.2.dev20241128223426}/src/liger_kernel/chunked_loss/cpo_loss.py +0 -0
  17. {liger_kernel_nightly-0.4.2.dev20241122175637 → liger_kernel_nightly-0.4.2.dev20241128223426}/src/liger_kernel/chunked_loss/dpo_loss.py +0 -0
  18. {liger_kernel_nightly-0.4.2.dev20241122175637 → liger_kernel_nightly-0.4.2.dev20241128223426}/src/liger_kernel/chunked_loss/functional.py +0 -0
  19. {liger_kernel_nightly-0.4.2.dev20241122175637 → liger_kernel_nightly-0.4.2.dev20241128223426}/src/liger_kernel/chunked_loss/fused_linear_preference.py +0 -0
  20. {liger_kernel_nightly-0.4.2.dev20241122175637 → liger_kernel_nightly-0.4.2.dev20241128223426}/src/liger_kernel/chunked_loss/orpo_loss.py +0 -0
  21. {liger_kernel_nightly-0.4.2.dev20241122175637 → liger_kernel_nightly-0.4.2.dev20241128223426}/src/liger_kernel/chunked_loss/simpo_loss.py +0 -0
  22. {liger_kernel_nightly-0.4.2.dev20241122175637 → liger_kernel_nightly-0.4.2.dev20241128223426}/src/liger_kernel/env_report.py +0 -0
  23. {liger_kernel_nightly-0.4.2.dev20241122175637/src/liger_kernel/transformers/model → liger_kernel_nightly-0.4.2.dev20241128223426/src/liger_kernel/ops}/__init__.py +0 -0
  24. {liger_kernel_nightly-0.4.2.dev20241122175637 → liger_kernel_nightly-0.4.2.dev20241128223426}/src/liger_kernel/ops/cross_entropy.py +0 -0
  25. {liger_kernel_nightly-0.4.2.dev20241122175637 → liger_kernel_nightly-0.4.2.dev20241128223426}/src/liger_kernel/ops/experimental/embedding.py +0 -0
  26. {liger_kernel_nightly-0.4.2.dev20241122175637 → liger_kernel_nightly-0.4.2.dev20241128223426}/src/liger_kernel/ops/experimental/mm_int8int2.py +0 -0
  27. {liger_kernel_nightly-0.4.2.dev20241122175637 → liger_kernel_nightly-0.4.2.dev20241128223426}/src/liger_kernel/ops/fused_linear_cross_entropy.py +0 -0
  28. {liger_kernel_nightly-0.4.2.dev20241122175637 → liger_kernel_nightly-0.4.2.dev20241128223426}/src/liger_kernel/ops/fused_linear_jsd.py +0 -0
  29. {liger_kernel_nightly-0.4.2.dev20241122175637 → liger_kernel_nightly-0.4.2.dev20241128223426}/src/liger_kernel/ops/geglu.py +0 -0
  30. {liger_kernel_nightly-0.4.2.dev20241122175637 → liger_kernel_nightly-0.4.2.dev20241128223426}/src/liger_kernel/ops/group_norm.py +0 -0
  31. {liger_kernel_nightly-0.4.2.dev20241122175637 → liger_kernel_nightly-0.4.2.dev20241128223426}/src/liger_kernel/ops/jsd.py +0 -0
  32. {liger_kernel_nightly-0.4.2.dev20241122175637 → liger_kernel_nightly-0.4.2.dev20241128223426}/src/liger_kernel/ops/kl_div.py +0 -0
  33. {liger_kernel_nightly-0.4.2.dev20241122175637 → liger_kernel_nightly-0.4.2.dev20241128223426}/src/liger_kernel/ops/qwen2vl_mrope.py +0 -0
  34. {liger_kernel_nightly-0.4.2.dev20241122175637 → liger_kernel_nightly-0.4.2.dev20241128223426}/src/liger_kernel/ops/rope.py +0 -0
  35. {liger_kernel_nightly-0.4.2.dev20241122175637 → liger_kernel_nightly-0.4.2.dev20241128223426}/src/liger_kernel/ops/swiglu.py +0 -0
  36. {liger_kernel_nightly-0.4.2.dev20241122175637 → liger_kernel_nightly-0.4.2.dev20241128223426}/src/liger_kernel/transformers/__init__.py +0 -0
  37. {liger_kernel_nightly-0.4.2.dev20241122175637 → liger_kernel_nightly-0.4.2.dev20241128223426}/src/liger_kernel/transformers/auto_model.py +0 -0
  38. {liger_kernel_nightly-0.4.2.dev20241122175637 → liger_kernel_nightly-0.4.2.dev20241128223426}/src/liger_kernel/transformers/cross_entropy.py +0 -0
  39. {liger_kernel_nightly-0.4.2.dev20241122175637 → liger_kernel_nightly-0.4.2.dev20241128223426}/src/liger_kernel/transformers/experimental/embedding.py +0 -0
  40. {liger_kernel_nightly-0.4.2.dev20241122175637 → liger_kernel_nightly-0.4.2.dev20241128223426}/src/liger_kernel/transformers/functional.py +0 -0
  41. {liger_kernel_nightly-0.4.2.dev20241122175637 → liger_kernel_nightly-0.4.2.dev20241128223426}/src/liger_kernel/transformers/fused_linear_cross_entropy.py +0 -0
  42. {liger_kernel_nightly-0.4.2.dev20241122175637 → liger_kernel_nightly-0.4.2.dev20241128223426}/src/liger_kernel/transformers/fused_linear_jsd.py +0 -0
  43. {liger_kernel_nightly-0.4.2.dev20241122175637 → liger_kernel_nightly-0.4.2.dev20241128223426}/src/liger_kernel/transformers/geglu.py +0 -0
  44. {liger_kernel_nightly-0.4.2.dev20241122175637 → liger_kernel_nightly-0.4.2.dev20241128223426}/src/liger_kernel/transformers/group_norm.py +0 -0
  45. {liger_kernel_nightly-0.4.2.dev20241122175637 → liger_kernel_nightly-0.4.2.dev20241128223426}/src/liger_kernel/transformers/jsd.py +0 -0
  46. {liger_kernel_nightly-0.4.2.dev20241122175637 → liger_kernel_nightly-0.4.2.dev20241128223426}/src/liger_kernel/transformers/kl_div.py +0 -0
  47. {liger_kernel_nightly-0.4.2.dev20241122175637 → liger_kernel_nightly-0.4.2.dev20241128223426}/src/liger_kernel/transformers/layer_norm.py +0 -0
  48. {liger_kernel_nightly-0.4.2.dev20241122175637 → liger_kernel_nightly-0.4.2.dev20241128223426}/src/liger_kernel/transformers/model/gemma.py +0 -0
  49. {liger_kernel_nightly-0.4.2.dev20241122175637 → liger_kernel_nightly-0.4.2.dev20241128223426}/src/liger_kernel/transformers/model/gemma2.py +0 -0
  50. {liger_kernel_nightly-0.4.2.dev20241122175637 → liger_kernel_nightly-0.4.2.dev20241128223426}/src/liger_kernel/transformers/model/llama.py +0 -0
  51. {liger_kernel_nightly-0.4.2.dev20241122175637 → liger_kernel_nightly-0.4.2.dev20241128223426}/src/liger_kernel/transformers/model/mistral.py +0 -0
  52. {liger_kernel_nightly-0.4.2.dev20241122175637 → liger_kernel_nightly-0.4.2.dev20241128223426}/src/liger_kernel/transformers/model/mixtral.py +0 -0
  53. {liger_kernel_nightly-0.4.2.dev20241122175637 → liger_kernel_nightly-0.4.2.dev20241128223426}/src/liger_kernel/transformers/model/mllama.py +0 -0
  54. {liger_kernel_nightly-0.4.2.dev20241122175637 → liger_kernel_nightly-0.4.2.dev20241128223426}/src/liger_kernel/transformers/model/phi3.py +0 -0
  55. {liger_kernel_nightly-0.4.2.dev20241122175637 → liger_kernel_nightly-0.4.2.dev20241128223426}/src/liger_kernel/transformers/model/qwen2.py +0 -0
  56. {liger_kernel_nightly-0.4.2.dev20241122175637 → liger_kernel_nightly-0.4.2.dev20241128223426}/src/liger_kernel/transformers/model/qwen2_vl.py +0 -0
  57. {liger_kernel_nightly-0.4.2.dev20241122175637 → liger_kernel_nightly-0.4.2.dev20241128223426}/src/liger_kernel/transformers/monkey_patch.py +0 -0
  58. {liger_kernel_nightly-0.4.2.dev20241122175637 → liger_kernel_nightly-0.4.2.dev20241128223426}/src/liger_kernel/transformers/qwen2vl_mrope.py +0 -0
  59. {liger_kernel_nightly-0.4.2.dev20241122175637 → liger_kernel_nightly-0.4.2.dev20241128223426}/src/liger_kernel/transformers/rms_norm.py +0 -0
  60. {liger_kernel_nightly-0.4.2.dev20241122175637 → liger_kernel_nightly-0.4.2.dev20241128223426}/src/liger_kernel/transformers/rope.py +0 -0
  61. {liger_kernel_nightly-0.4.2.dev20241122175637 → liger_kernel_nightly-0.4.2.dev20241128223426}/src/liger_kernel/transformers/swiglu.py +0 -0
  62. {liger_kernel_nightly-0.4.2.dev20241122175637 → liger_kernel_nightly-0.4.2.dev20241128223426}/src/liger_kernel/transformers/trainer_integration.py +0 -0
  63. {liger_kernel_nightly-0.4.2.dev20241122175637 → liger_kernel_nightly-0.4.2.dev20241128223426}/src/liger_kernel/triton/__init__.py +0 -0
  64. {liger_kernel_nightly-0.4.2.dev20241122175637 → liger_kernel_nightly-0.4.2.dev20241128223426}/src/liger_kernel/triton/monkey_patch.py +0 -0
  65. {liger_kernel_nightly-0.4.2.dev20241122175637 → liger_kernel_nightly-0.4.2.dev20241128223426}/src/liger_kernel_nightly.egg-info/dependency_links.txt +0 -0
  66. {liger_kernel_nightly-0.4.2.dev20241122175637 → liger_kernel_nightly-0.4.2.dev20241128223426}/src/liger_kernel_nightly.egg-info/requires.txt +0 -0
  67. {liger_kernel_nightly-0.4.2.dev20241122175637 → liger_kernel_nightly-0.4.2.dev20241128223426}/src/liger_kernel_nightly.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: liger_kernel_nightly
3
- Version: 0.4.2.dev20241122175637
3
+ Version: 0.4.2.dev20241128223426
4
4
  Summary: Efficient Triton kernels for LLM Training
5
5
  License: BSD 2-CLAUSE LICENSE
6
6
  Copyright 2024 LinkedIn Corporation
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "liger_kernel_nightly"
7
- version = "0.4.2.dev20241122175637"
7
+ version = "0.4.2.dev20241128223426"
8
8
  description = "Efficient Triton kernels for LLM Training"
9
9
  urls = { "Homepage" = "https://github.com/linkedin/Liger-Kernel" }
10
10
  readme = { file = "README.md", content-type = "text/markdown" }
@@ -180,8 +180,13 @@ def layer_norm_backward(dY, X, W, B, Mean, RSTD):
180
180
  dY = dY.view(-1, dim)
181
181
  n_rows, n_cols = dY.shape
182
182
 
183
+ sm_count = 1
184
+ if X.device.type == "cuda":
185
+ sm_count = torch.cuda.get_device_properties(X.device).multi_processor_count
186
+ elif X.device.type == "xpu":
187
+ sm_count = torch.xpu.get_device_properties(X.device).gpu_subslice_count
188
+
183
189
  DX = torch.empty((n_rows, n_cols), dtype=X.dtype, device=X.device)
184
- sm_count = torch.cuda.get_device_properties(X.device).multi_processor_count
185
190
  _DW = torch.empty((sm_count, n_cols), dtype=W.dtype, device=W.device)
186
191
  _DB = torch.empty((sm_count, n_cols), dtype=W.dtype, device=W.device)
187
192
 
@@ -264,6 +264,7 @@ def rms_norm_backward(
264
264
  dY = dY.view(-1, dim)
265
265
  n_rows, n_cols = dY.shape
266
266
 
267
+ sm_count = 1
267
268
  if X.device.type == "cuda":
268
269
  sm_count = torch.cuda.get_device_properties(X.device).multi_processor_count
269
270
  elif X.device.type == "xpu":
@@ -20,6 +20,8 @@ import triton
20
20
  import triton.language as tl
21
21
  from packaging.version import Version
22
22
 
23
+ from liger_kernel.utils import infer_device
24
+
23
25
 
24
26
  def is_hip() -> bool:
25
27
  return torch.version.hip is not None
@@ -69,10 +71,11 @@ def compare_version(package: str, operator: Callable, target: str):
69
71
 
70
72
 
71
73
  def get_amp_custom_fwd_bwd() -> Callable:
74
+ device = infer_device()
72
75
  if compare_version("torch", operator.ge, "2.4.0"):
73
76
  return (
74
- functools.partial(torch.amp.custom_fwd, device_type="cuda"),
75
- functools.partial(torch.amp.custom_bwd, device_type="cuda"),
77
+ functools.partial(torch.amp.custom_fwd, device_type=device),
78
+ functools.partial(torch.amp.custom_bwd, device_type=device),
76
79
  )
77
80
  return torch.cuda.amp.custom_fwd, torch.cuda.amp.custom_bwd
78
81
 
@@ -0,0 +1,13 @@
1
+ import torch
2
+
3
+
4
+ def infer_device():
5
+ """
6
+ Get current device name based on available devices
7
+ """
8
+ if torch.cuda.is_available():
9
+ return "cuda"
10
+ elif torch.xpu.is_available():
11
+ return "xpu"
12
+ else:
13
+ return "cpu"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: liger_kernel_nightly
3
- Version: 0.4.2.dev20241122175637
3
+ Version: 0.4.2.dev20241128223426
4
4
  Summary: Efficient Triton kernels for LLM Training
5
5
  License: BSD 2-CLAUSE LICENSE
6
6
  Copyright 2024 LinkedIn Corporation
@@ -2,7 +2,9 @@ LICENSE
2
2
  NOTICE
3
3
  README.md
4
4
  pyproject.toml
5
+ src/liger_kernel/__init__.py
5
6
  src/liger_kernel/env_report.py
7
+ src/liger_kernel/utils.py
6
8
  src/liger_kernel/chunked_loss/__init__.py
7
9
  src/liger_kernel/chunked_loss/cpo_loss.py
8
10
  src/liger_kernel/chunked_loss/dpo_loss.py