mirror of
https://github.com/ml-explore/mlx.git
synced 2025-12-16 01:49:05 +08:00
* faster general unary op * faster general ops + reorg * fix + comment * binary two * copy general
28 lines
842 B
Plaintext
28 lines
842 B
Plaintext
// Copyright © 2025 Apple Inc.
|
|
|
|
#include "mlx/backend/cuda/binary/binary.cuh"
|
|
|
|
namespace mlx::core {
|
|
void BitwiseBinary::eval_gpu(const std::vector<array>& inputs, array& out) {
|
|
nvtx3::scoped_range r("BitwiseBinary::eval_gpu");
|
|
auto& s = out.primitive().stream();
|
|
switch (op_) {
|
|
case BitwiseBinary::And:
|
|
binary_op_gpu<cu::BitwiseAnd>(inputs, out, name(), s);
|
|
break;
|
|
case BitwiseBinary::Or:
|
|
binary_op_gpu<cu::BitwiseOr>(inputs, out, name(), s);
|
|
break;
|
|
case BitwiseBinary::Xor:
|
|
binary_op_gpu<cu::BitwiseXor>(inputs, out, name(), s);
|
|
break;
|
|
case BitwiseBinary::LeftShift:
|
|
binary_op_gpu<cu::LeftShift>(inputs, out, name(), s);
|
|
break;
|
|
case BitwiseBinary::RightShift:
|
|
binary_op_gpu<cu::RightShift>(inputs, out, name(), s);
|
|
break;
|
|
}
|
|
}
|
|
} // namespace mlx::core
|