MLX: An array framework for Apple silicon
This report summarizes scanner evidence for ml-explore/mlx, a C++ project with 28,983 GitHub stars. SynthScan examined 227,520 lines of code across 705 source files, recording 737 pattern matches distributed across 13 syntactic categories. The legacy adjusted pattern signal is 3.2 (Low pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 593 finding(s).
Are imports declared and package/API names verified? 114 finding(s).
Are wrappers, guards, and repeated structures necessary? 378 finding(s).
Which changes need focused human review? 737 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 737 distinct pattern matches across 13 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | setup.py | 17 | def cuda_toolkit_major_version(): | CODE |
| LOW | python/tests/test_fast_sdpa.py | 164 | def test_sdpa_pad_head_dim_opt_in(self): | CODE |
| LOW | python/tests/test_fast_sdpa.py | 535 | def test_sdpa_vector_kv_transposed_head_seq(self): | CODE |
| LOW | python/tests/test_fast_sdpa.py | 640 | def test_sdpa_vector_gqa_long(self): | CODE |
| LOW | python/tests/test_fast_sdpa.py | 863 | def test_sdpa_short_query_many_heads(self): | CODE |
| LOW | python/tests/test_fast_sdpa.py | 896 | def test_sdpa_split_large_values(self): | CODE |
| LOW | python/tests/test_fast_sdpa.py | 907 | def test_sdpa_vector_value_dims(self): | CODE |
| LOW | python/tests/test_fast_sdpa.py | 1003 | def test_sdpa_blocks_env_override(self): | CODE |
| LOW | python/tests/test_fast_sdpa.py | 1103 | def test_sdpa_long_masked_sequence(self): | CODE |
| LOW | python/tests/test_fast_sdpa.py | 1156 | def test_sdpa_noncontiguous_inputs(self): | CODE |
| LOW | python/tests/test_fast_sdpa.py | 1167 | def test_sdpa_vector_reversed_mask(self): | CODE |
| LOW | python/tests/test_fast_sdpa.py | 1225 | def test_sdpa_attention_sinks(self): | CODE |
| LOW | python/tests/test_fast_sdpa.py | 1328 | def test_sdpa_force_fused_metal(self): | CODE |
| LOW | python/tests/test_fast_sdpa.py | 1415 | def test_sdpa_force_fused_cuda(self): | CODE |
| LOW | python/tests/test_fast_sdpa.py | 1595 | def test_sdpa_window_size_errors(self): | CODE |
| LOW | python/tests/test_extension.py | 24 | def test_extension_paths_use_public_build_metadata(self): | CODE |
| LOW | python/tests/test_extension.py | 61 | def test_reads_mlx_macos_deployment_target(self): | CODE |
| LOW⚡ | python/tests/test_extension.py | 108 | def test_debug_build_enables_metal_debug(self): | STRING |
| LOW⚡ | python/tests/test_extension.py | 115 | def test_build_extension_uses_mlx_macos_deployment_target(self): | STRING |
| LOW⚡ | python/tests/test_extension.py | 124 | def test_environment_overrides_macos_deployment_target(self): | STRING |
| LOW⚡ | python/tests/test_extension.py | 133 | def test_environment_rejects_macos_deployment_target_below_minimum(self): | STRING |
| LOW⚡ | python/tests/test_extension.py | 139 | def test_cmake_args_overrides_macos_deployment_target(self): | STRING |
| LOW⚡ | python/tests/test_extension.py | 325 | def test_rejects_unknown_compile_argument_group(self): | STRING |
| LOW⚡ | python/tests/test_extension.py | 333 | def test_rejects_non_list_compile_arguments(self): | STRING |
| LOW⚡ | python/tests/test_extension.py | 341 | def test_generated_cmake_builds_module_and_metallib(self): | STRING |
| LOW | python/tests/test_extension.py | 92 | def test_build_extension_can_enable_ninja(self): | STRING |
| LOW | python/tests/test_extension.py | 152 | def test_cmake_args_rejects_macos_deployment_target_below_minimum(self): | STRING |
| LOW | python/tests/test_extension.py | 161 | def test_build_extension_uses_default_generator(self): | STRING |
| LOW | python/tests/test_extension.py | 172 | def test_build_extension_falls_back_without_ninja(self): | STRING |
| LOW | python/tests/test_extension.py | 185 | def test_explicit_cmake_generator_overrides_ninja(self): | STRING |
| LOW | python/tests/test_extension.py | 200 | def test_cmake_generator_environment_uses_distinct_build_directory(self): | STRING |
| LOW | python/tests/test_extension.py | 209 | def test_build_extension_can_disable_stub_generation(self): | STRING |
| LOW | python/tests/test_extension.py | 253 | def test_requires_host_source(self): | STRING |
| LOW | python/tests/test_extension.py | 257 | def test_compile_argument_list_applies_to_cxx(self): | STRING |
| LOW | python/tests/test_extension.py | 269 | def test_requires_metal_source(self): | STRING |
| LOW | python/tests/test_extension.py | 273 | def test_explicit_metal_libraries(self): | STRING |
| LOW | python/tests/test_extension.py | 306 | def test_rejects_mixed_metal_source_forms(self): | STRING |
| LOW | python/tests/test_extension.py | 314 | def test_rejects_duplicate_metal_library_names(self): | STRING |
| LOW | python/tests/test_extension.py | 376 | def test_generated_cmake_uses_nested_package_mlx_rpath(self): | STRING |
| LOW | python/tests/test_extension.py | 383 | def test_rejects_python_stable_abi(self): | STRING |
| LOW | python/tests/test_conv_transpose.py | 827 | def test_conv_transpose_unfold_tiling(self): | CODE |
| LOW | python/tests/test_tree.py | 158 | def test_tree_unflatten_integer_key_collision(self): | CODE |
| LOW | python/tests/test_upsample.py | 99 | def test_torch_upsample_antialias(self): | CODE |
| LOW | python/tests/test_upsample.py | 190 | def test_antialias_upscale_linear_is_noop(self): | CODE |
| LOW | python/tests/test_upsample.py | 216 | def test_antialias_upscale_cubic_matches_pytorch(self): | CODE |
| LOW | python/tests/test_upsample.py | 245 | def test_antialias_non_integer_scale_smoke(self): | CODE |
| LOW | python/tests/test_losses.py | 94 | def test_binary_cross_entropy(self): | CODE |
| LOW | python/tests/test_losses.py | 153 | def _test_tiny_probs_as_inputs(): | CODE |
| LOW | python/tests/test_losses.py | 446 | def test_cosine_similarity_loss(self): | CODE |
| LOW | python/tests/test_fast.py | 187 | def test_rope_dims_validation(self): | CODE |
| LOW | python/tests/test_fast.py | 412 | def test_rope_with_large_offset(self): | CODE |
| LOW | python/tests/test_fast.py | 569 | def test_cross_entropy_shape_checks(self): | CODE |
| LOW | python/tests/test_fast.py | 616 | def test_cross_entropy_grad_non_contiguous(self): | CODE |
| LOW | python/tests/test_fast.py | 631 | def test_layer_norm_dim_check(self): | CODE |
| LOW | python/tests/test_fast.py | 728 | def test_slice_into_layer_norm(self): | CODE |
| LOW | python/tests/test_fast.py | 782 | def test_layer_norm_grad_no_bias(self): | CODE |
| LOW | python/tests/test_fast.py | 821 | def test_layer_norm_grad_no_params(self): | CODE |
| LOW | python/tests/test_fast.py | 837 | def test_layer_norm_grad_params(self): | CODE |
| LOW | python/tests/test_fast.py | 987 | def test_custom_kernel_strides(self): | STRING |
| LOW | python/tests/test_fast.py | 1042 | def test_custom_kernel_helper(self): | STRING |
| 283 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | setup.py | 61 | # etc) | COMMENT |
| LOW | python/tests/xp-tests/xfail.txt | 201 | ### does not accept a scalar argument | COMMENT |
| LOW | python/tests/xp-tests/xfail.txt | 221 | ### Missing argument `include_initial` and does not promote uint8 results to uint32 | COMMENT |
| LOW | python/tests/xp-tests/xfail.txt | 281 | ### returns uint32 indices instead of the required default signed integer dtype | COMMENT |
| LOW | python/src/ops.cpp | 1 | // Copyright © 2023-2024 Apple Inc. | COMMENT |
| LOW | python/src/utils.h | 1 | // Copyright © 2023-2024 Apple Inc. | COMMENT |
| LOW | python/src/distributed.cpp | 1 | // Copyright © 2024 Apple Inc. | COMMENT |
| LOW | python/src/transforms.cpp | 1 | // Copyright © 2023-2024 Apple Inc. | COMMENT |
| LOW | python/src/fast.cpp | 1 | // Copyright © 2023-2024 Apple Inc. | COMMENT |
| LOW | python/src/convert.cpp | 1 | // Copyright © 2024 Apple Inc. | COMMENT |
| LOW | python/src/load.h | 1 | // Copyright © 2023-2024 Apple Inc. | COMMENT |
| LOW | python/src/random.cpp | 1 | // Copyright © 2023-2024 Apple Inc. | COMMENT |
| LOW | python/src/fft.cpp | 1 | // Copyright © 2023-2024 Apple Inc. | COMMENT |
| LOW | python/src/array.cpp | 1 | // Copyright © 2023-2024 Apple Inc. | COMMENT |
| LOW | python/src/export.cpp | 1 | // Copyright © 2024 Apple Inc. | COMMENT |
| LOW | python/src/buffer.h | 1 | // Copyright © 2024 Apple Inc. | COMMENT |
| LOW | python/src/stream.cpp | 1 | // Copyright © 2023-2024 Apple Inc. | COMMENT |
| LOW | python/src/load.cpp | 1 | // Copyright © 2023-2024 Apple Inc. | COMMENT |
| LOW | python/src/metal.cpp | 1 | // Copyright © 2023-2024 Apple Inc. | COMMENT |
| LOW | tests/allocator_tests.cpp | 1 | // Copyright © 2023-2026 Apple Inc. | COMMENT |
| LOW | tests/jaccl_tests.cpp | 1 | // Copyright © 2026 Apple Inc. | COMMENT |
| LOW | tests/random_tests.cpp | 281 | key = array({0u, 0u, 0u}, {3, 1}); | COMMENT |
| LOW | tests/gpu_tests.cpp | 741 | // before the main vjp kernel. When the cotangent is donatable the kernel | COMMENT |
| LOW | tests/autograd_tests.cpp | 1 | // Copyright © 2023 Apple Inc. | COMMENT |
| LOW | examples/metal_extension/activation.cpp | 1 | // Copyright © 2026 Apple Inc. | COMMENT |
| LOW | examples/cmake_extension/axpby/axpby.cpp | 1 | // Copyright © 2023-2025 Apple Inc. | COMMENT |
| LOW | mlx/mlx.h | 1 | // Copyright © 2023 Apple Inc. | COMMENT |
| LOW | mlx/mlx.h | 21 | #include "mlx/random.h" | COMMENT |
| LOW | mlx/ops.cpp | 1 | // Copyright © 2023-2026 Apple Inc. | COMMENT |
| LOW | mlx/utils.h | 1 | // Copyright © 2023-2024 Apple Inc. | COMMENT |
| LOW | mlx/transforms.cpp | 1 | // Copyright © 2023-2024 Apple Inc. | COMMENT |
| LOW | mlx/threadpool.h | 1 | // This code was modified from https://github.com/progschj/ThreadPool | COMMENT |
| LOW | mlx/threadpool.h | 21 | // 3. This notice may not be removed or altered from any source | COMMENT |
| LOW | mlx/small_vector.h | 1 | // Copyright © 2025 Apple Inc. | COMMENT |
| LOW | mlx/small_vector.h | 21 | // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | COMMENT |
| LOW | mlx/small_vector.h | 41 | #else | COMMENT |
| LOW | mlx/small_vector.h | 81 | // Minimal SmallVector implementation. Uses inline storage first, switches to | COMMENT |
| LOW | mlx/scheduler.h | 1 | // Copyright © 2023 Apple Inc. | COMMENT |
| LOW | mlx/api.h | 1 | // Copyright © 2024 Apple Inc. | COMMENT |
| LOW | mlx/api.h | 21 | #define MLX_API __declspec(dllexport) | COMMENT |
| LOW | mlx/export.cpp | 1 | // Copyright © 2024 Apple Inc. | COMMENT |
| LOW | mlx/allocator.h | 1 | // Copyright © 2023 Apple Inc. | COMMENT |
| LOW | mlx/compile.cpp | 1 | // Copyright © 2023-2024 Apple Inc. | COMMENT |
| LOW | mlx/compile.cpp | 821 | for (int i = tape.size() - 1; i >= 0; --i) { | COMMENT |
| LOW | mlx/stream.cpp | 1 | // Copyright © 2026 Apple Inc. | COMMENT |
| LOW | mlx/primitives.cpp | 1 | // Copyright © 2023-2024 Apple Inc. | COMMENT |
| LOW | mlx/primitives.cpp | 5941 | // - tm = (M + block_size - 1) // block_size; MP = tm * block_size; | COMMENT |
| LOW | mlx/array.h | 1 | // Copyright © 2023 Apple Inc. | COMMENT |
| LOW | mlx/array.h | 241 | // in the underlying data buffer belongs to at least one index. | COMMENT |
| LOW | mlx/graph_utils.cpp | 1 | // Copyright © 2023 Apple Inc. | COMMENT |
| LOW | mlx/einsum.cpp | 1 | // Copyright © 2024 Apple Inc. | COMMENT |
| LOW | mlx/distributed/jaccl/lib/jaccl/ring_impl.h | 281 | // Perform the dual direction ring reduce scatter for a single wire lw. | COMMENT |
| LOW | mlx/distributed/jaccl/lib/jaccl/threadpool.h | 1 | // This code was modified from https://github.com/progschj/ThreadPool | COMMENT |
| LOW | mlx/distributed/jaccl/lib/jaccl/threadpool.h | 21 | // 3. This notice may not be removed or altered from any source | COMMENT |
| LOW | mlx/distributed/jaccl/lib/jaccl/mesh_impl.h | 81 | recv_end[rank_]++; | COMMENT |
| LOW | mlx/distributed/jaccl/lib/jaccl/mesh_impl.h | 301 | // | COMMENT |
| LOW | mlx/distributed/jaccl/lib/jaccl/mesh_impl.h | 421 | // The input is split into size_ equal chunks of `chunk` elements. The | COMMENT |
| LOW | mlx/distributed/jaccl/lib/jaccl/rdma.h | 1 | // Copyright © 2025 Apple Inc. | COMMENT |
| LOW | mlx/distributed/jaccl/lib/examples/allreduce_bench.cpp | 1 | // Copyright © 2025 Apple Inc. | COMMENT |
| LOW | mlx/distributed/jaccl/lib/examples/allreduce_bench.cpp | 21 | // | COMMENT |
| 82 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/tests/test_fast_sdpa.py | 137 | CODE | |
| LOW | python/tests/test_fast_sdpa.py | 173 | CODE | |
| LOW | python/tests/test_fast_sdpa.py | 218 | CODE | |
| LOW | python/tests/test_fast_sdpa.py | 245 | CODE | |
| LOW | python/tests/test_fast_sdpa.py | 314 | CODE | |
| LOW | python/tests/test_fast_sdpa.py | 426 | CODE | |
| LOW | python/tests/test_fast_sdpa.py | 661 | CODE | |
| LOW | python/tests/test_fast_sdpa.py | 706 | CODE | |
| LOW | python/tests/test_fast_sdpa.py | 964 | CODE | |
| LOW | python/tests/test_fast_sdpa.py | 1018 | CODE | |
| LOW | python/tests/test_fast_sdpa.py | 1436 | CODE | |
| LOW | python/tests/test_fast_sdpa.py | 1468 | CODE | |
| LOW | python/tests/test_fast_sdpa.py | 1532 | CODE | |
| LOW | python/tests/test_linalg.py | 12 | CODE | |
| LOW | python/tests/test_linalg.py | 90 | CODE | |
| LOW | python/tests/test_extension.py | 41 | CODE | |
| LOW | python/tests/test_conv_transpose.py | 827 | CODE | |
| LOW | python/tests/test_upsample.py | 21 | CODE | |
| LOW | python/tests/test_upsample.py | 99 | CODE | |
| LOW | python/tests/test_upsample.py | 245 | CODE | |
| LOW | python/tests/test_fast.py | 390 | CODE | |
| LOW | python/tests/test_double.py | 113 | CODE | |
| LOW | python/tests/test_array.py | 1960 | CODE | |
| LOW | python/tests/test_array.py | 2076 | CODE | |
| LOW | python/tests/test_export_import.py | 546 | CODE | |
| LOW | python/tests/test_export_import.py | 558 | CODE | |
| LOW | python/tests/test_optimizers.py | 591 | CODE | |
| LOW | python/tests/test_compile.py | 664 | CODE | |
| LOW | python/tests/test_fft.py | 72 | CODE | |
| LOW | python/tests/test_fft.py | 319 | CODE | |
| LOW | python/tests/test_quantized.py | 258 | CODE | |
| LOW | python/tests/test_quantized.py | 565 | CODE | |
| LOW | python/tests/test_quantized.py | 991 | CODE | |
| LOW | python/tests/test_quantized.py | 1158 | CODE | |
| LOW | python/tests/test_quantized.py | 2461 | CODE | |
| LOW | python/tests/test_quantized.py | 2505 | CODE | |
| LOW | python/tests/test_blas.py | 309 | CODE | |
| LOW | python/tests/test_blas.py | 504 | CODE | |
| LOW | python/tests/test_blas.py | 874 | CODE | |
| LOW | python/tests/test_blas.py | 929 | CODE | |
| LOW | python/tests/test_blas.py | 1549 | CODE | |
| LOW | python/tests/mpi_test_distributed.py | 31 | CODE | |
| LOW | python/tests/test_reduce.py | 13 | CODE | |
| LOW | python/tests/test_reduce.py | 30 | CODE | |
| LOW | python/tests/test_reduce.py | 88 | CODE | |
| LOW | python/tests/test_reduce.py | 124 | CODE | |
| LOW | python/tests/test_reduce.py | 249 | CODE | |
| LOW | python/tests/test_reduce.py | 314 | CODE | |
| LOW | python/tests/test_reduce.py | 343 | CODE | |
| LOW | python/tests/test_reduce.py | 394 | CODE | |
| LOW | python/tests/test_bf16.py | 129 | CODE | |
| LOW | python/tests/test_fast_gated_delta.py | 306 | CODE | |
| LOW | python/tests/test_ops.py | 2113 | CODE | |
| LOW | python/tests/test_ops.py | 2180 | CODE | |
| LOW | python/tests/test_ops.py | 2283 | CODE | |
| LOW | python/tests/test_ops.py | 3212 | CODE | |
| LOW | python/tests/test_ops.py | 4191 | CODE | |
| LOW | python/tests/test_ops.py | 4828 | CODE | |
| LOW | python/tests/test_autograd.py | 1035 | CODE | |
| LOW | python/tests/test_autograd.py | 1784 | CODE | |
| 30 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/tests/test_optimizers.py | 18 | CODE | |
| LOW | python/mlx/nn/__init__.py | 3 | CODE | |
| LOW | python/mlx/nn/__init__.py | 3 | CODE | |
| LOW | python/mlx/nn/__init__.py | 4 | CODE | |
| LOW | python/mlx/nn/__init__.py | 5 | CODE | |
| LOW | python/mlx/nn/__init__.py | 5 | CODE | |
| LOW | python/mlx/nn/layers/__init__.py | 3 | CODE | |
| LOW | python/mlx/nn/layers/__init__.py | 3 | CODE | |
| LOW | python/mlx/nn/layers/__init__.py | 3 | CODE | |
| LOW | python/mlx/nn/layers/__init__.py | 3 | CODE | |
| LOW | python/mlx/nn/layers/__init__.py | 3 | CODE | |
| LOW | python/mlx/nn/layers/__init__.py | 3 | CODE | |
| LOW | python/mlx/nn/layers/__init__.py | 3 | CODE | |
| LOW | python/mlx/nn/layers/__init__.py | 3 | CODE | |
| LOW | python/mlx/nn/layers/__init__.py | 3 | CODE | |
| LOW | python/mlx/nn/layers/__init__.py | 3 | CODE | |
| LOW | python/mlx/nn/layers/__init__.py | 3 | CODE | |
| LOW | python/mlx/nn/layers/__init__.py | 3 | CODE | |
| LOW | python/mlx/nn/layers/__init__.py | 3 | CODE | |
| LOW | python/mlx/nn/layers/__init__.py | 3 | CODE | |
| LOW | python/mlx/nn/layers/__init__.py | 3 | CODE | |
| LOW | python/mlx/nn/layers/__init__.py | 3 | CODE | |
| LOW | python/mlx/nn/layers/__init__.py | 3 | CODE | |
| LOW | python/mlx/nn/layers/__init__.py | 3 | CODE | |
| LOW | python/mlx/nn/layers/__init__.py | 3 | CODE | |
| LOW | python/mlx/nn/layers/__init__.py | 3 | CODE | |
| LOW | python/mlx/nn/layers/__init__.py | 3 | CODE | |
| LOW | python/mlx/nn/layers/__init__.py | 3 | CODE | |
| LOW | python/mlx/nn/layers/__init__.py | 3 | CODE | |
| LOW | python/mlx/nn/layers/__init__.py | 3 | CODE | |
| LOW | python/mlx/nn/layers/__init__.py | 3 | CODE | |
| LOW | python/mlx/nn/layers/__init__.py | 3 | CODE | |
| LOW | python/mlx/nn/layers/__init__.py | 3 | CODE | |
| LOW | python/mlx/nn/layers/__init__.py | 3 | CODE | |
| LOW | python/mlx/nn/layers/__init__.py | 3 | CODE | |
| LOW | python/mlx/nn/layers/__init__.py | 3 | CODE | |
| LOW | python/mlx/nn/layers/__init__.py | 3 | CODE | |
| LOW | python/mlx/nn/layers/__init__.py | 3 | CODE | |
| LOW | python/mlx/nn/layers/__init__.py | 3 | CODE | |
| LOW | python/mlx/nn/layers/__init__.py | 3 | CODE | |
| LOW | python/mlx/nn/layers/__init__.py | 3 | CODE | |
| LOW | python/mlx/nn/layers/__init__.py | 3 | CODE | |
| LOW | python/mlx/nn/layers/__init__.py | 3 | CODE | |
| LOW | python/mlx/nn/layers/__init__.py | 3 | CODE | |
| LOW | python/mlx/nn/layers/__init__.py | 3 | CODE | |
| LOW | python/mlx/nn/layers/__init__.py | 3 | CODE | |
| LOW | python/mlx/nn/layers/__init__.py | 3 | CODE | |
| LOW | python/mlx/nn/layers/__init__.py | 3 | CODE | |
| LOW | python/mlx/nn/layers/__init__.py | 3 | CODE | |
| LOW | python/mlx/nn/layers/__init__.py | 3 | CODE | |
| LOW | python/mlx/nn/layers/__init__.py | 3 | CODE | |
| LOW | python/mlx/nn/layers/__init__.py | 3 | CODE | |
| LOW | python/mlx/nn/layers/__init__.py | 3 | CODE | |
| LOW | python/mlx/nn/layers/__init__.py | 3 | CODE | |
| LOW | python/mlx/nn/layers/__init__.py | 3 | CODE | |
| LOW | python/mlx/nn/layers/__init__.py | 3 | CODE | |
| LOW | python/mlx/nn/layers/__init__.py | 3 | CODE | |
| LOW | python/mlx/nn/layers/__init__.py | 3 | CODE | |
| LOW | python/mlx/nn/layers/__init__.py | 57 | CODE | |
| LOW | python/mlx/nn/layers/__init__.py | 58 | CODE | |
| 50 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | python/tests/test_array.py | 2427 | except ValueError: | CODE |
| HIGH | python/tests/test_array.py | 2949 | except ValueError: | CODE |
| HIGH | python/tests/test_device.py | 141 | except Exception: | CODE |
| HIGH | python/tests/test_load.py | 142 | except Exception: | CODE |
| HIGH | python/mlx/_distributed_utils/launch.py | 495 | except KeyboardInterrupt: | CODE |
| HIGH | python/mlx/_distributed_utils/launch.py | 200 | except QueueEmpty: | CODE |
| HIGH | python/mlx/_distributed_utils/launch.py | 276 | except QueueEmpty: | CODE |
| HIGH | python/mlx/_distributed_utils/launch.py | 282 | except QueueEmpty: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | python/tests/test_compile.py | 108 | def worker(): | CODE |
| MEDIUM | python/tests/test_compile.py | 143 | def worker(): | CODE |
| LOW | python/tests/test_compile.py | 114 | except Exception as e: | CODE |
| LOW | python/tests/test_compile.py | 152 | except Exception as e: | CODE |
| LOW | python/tests/test_zero_copy.py | 177 | except Exception as e: | CODE |
| MEDIUM | python/tests/test_zero_copy.py | 172 | def worker(): | CODE |
| LOW | python/tests/test_threads.py | 74 | except Exception as e: | CODE |
| LOW | python/tests/test_threads.py | 86 | except Exception as e: | CODE |
| LOW | python/tests/test_threads.py | 98 | except Exception as e: | CODE |
| MEDIUM | python/tests/test_threads.py | 65 | def grad_worker(): | CODE |
| MEDIUM | python/tests/test_threads.py | 77 | def compile_worker(): | CODE |
| MEDIUM | python/tests/test_threads.py | 89 | def vmap_worker(): | CODE |
| LOW | python/tests/test_device.py | 141 | except Exception: | CODE |
| MEDIUM | python/tests/test_device.py | 136 | def gen(): | CODE |
| LOW⚡ | python/tests/test_load.py | 142 | except Exception: | CODE |
| LOW | python/mlx/_distributed_utils/common.py | 88 | except Exception as e: | CODE |
| LOW | benchmarks/python/masked_scatter.py | 36 | except Exception: | CODE |
| LOW | benchmarks/python/masked_scatter.py | 45 | except Exception: | CODE |
| LOW | benchmarks/python/gated_delta_bench.py | 93 | except Exception as ex: | CODE |
| LOW | benchmarks/python/gated_delta_bench.py | 171 | except Exception as ex: | CODE |
| LOW | benchmarks/python/gated_delta_bench.py | 210 | except Exception as ex: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | python/mlx/nn/losses.py | 31 | Computes the cross entropy loss. Args: logits (array): The unnormalized logits. targets (array | STRING |
| HIGH | python/mlx/nn/losses.py | 150 | Computes the binary cross entropy loss. By default, this function takes the pre-sigmoid logits, which results | STRING |
| HIGH | python/mlx/nn/losses.py | 594 | Calculate the margin ranking loss that loss given inputs :math:`x_1`, :math:`x_2` and a label :math:`y` (contai | STRING |
| HIGH | python/mlx/nn/layers/linear.py | 84 | Return a quantized approximation of this layer. If ``quantize_input`` is ``False``, returns a :obj:`QuantizedLi | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | python/mlx/_distributed_utils/launch.py | 166 | script += "if ps -p $pid >/dev/null; then " | CODE |
| HIGH⚡ | python/mlx/_distributed_utils/common.py | 52 | "rdma": [null, "rdma_en2", "rdma_en3"]}, | STRING |
| HIGH⚡ | python/mlx/_distributed_utils/common.py | 54 | "rdma": ["rdma_en2", null, "rdma_en3"]}, | STRING |
| HIGH⚡ | python/mlx/_distributed_utils/common.py | 57 | "rdma": ["rdma_en2", "rdma_en3", null]}, | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | python/mlx/utils.py | 162 | # Create the function to update the destination. We are taking advantage of | COMMENT |
| MEDIUM | python/mlx/_distributed_utils/config.py | 255 | # Create a reverse index to be able to map uuids to (host, port) quickly | COMMENT |
| MEDIUM | python/src/stream.cpp | 207 | # Create a context manager for the default device and stream. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | setup.py | 152 | # Set CMAKE_BUILD_PARALLEL_LEVEL to control the parallel build level | COMMENT |
| LOW | python/tests/test_constants.py | 11 | # Check if mlx constants match expected values | COMMENT |
| LOW⚡ | python/tests/test_constants.py | 24 | # Check if mlx constants are available | COMMENT |
| LOW | python/mlx/extension.py | 636 | # Set CMAKE_BUILD_PARALLEL_LEVEL to control the parallel build level | COMMENT |
| LOW | python/mlx/_distributed_utils/launch.py | 287 | # Check if all are running and terminate otherwise | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/tests/test_quantized.py | 1818 | CODE | |
| LOW | python/tests/test_blas.py | 1288 | CODE | |
| LOW | python/tests/test_conv.py | 722 | CODE | |
| LOW | python/mlx/nn/layers/transformer.py | 314 | CODE | |
| LOW | python/mlx/optimizers/optimizers.py | 761 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | mlx/distributed/jaccl/lib/jaccl/rdma.h | 433 | // Twice has proven to be more robust to initialization issues. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | python/mlx/nn/layers/base.py | 591 | def _set_training_mode(self, mode: bool) -> None: | CODE |