[
https://issues.apache.org/jira/browse/CAMEL-24982?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Ramu updated CAMEL-24982:
-------------------------
Description:
h2. Motivation
[Mojo|https://github.com/modular/modular] is an open-source programming
language from Modular, designed for high-performance systems and AI workloads.
Mojo provides native performance, SIMD, Python interoperability, and support
for heterogeneous compute.
Apache Camel currently does not have a dedicated Mojo component.
A camel-mojo component could allow Camel routes to invoke Mojo programs or
functions as part of an integration pipeline.
h2. Proposed Component
Introduce a new camel-mojo component that provides a Camel-native way to invoke
Mojo code.
Example:
{code:java}
from("direct:process")
.to("mojo:function?name=process")
.to("direct:next");
{code}
The exact endpoint syntax and execution model can be determined during
implementation.
h2. Initial Scope
The initial implementation could investigate:
* Invoking Mojo programs or functions from Camel
* Mapping Camel message data to Mojo inputs and outputs
* Error handling through normal Camel mechanisms
* Reusable execution and lifecycle management
* Support for Mojo native CPU and SIMD capabilities
* Efficient or low-copy data exchange where practical
Mojo Python interoperability and accelerator/GPU capabilities could be
considered as future extensions.
h2. Non-Goals
This issue does not propose:
* Bundling the Mojo compiler with Apache Camel
* Integrating the entire Modular/MAX platform
* Implementing a new Mojo runtime
* Making GPU or model-serving functionality a requirement for the initial
component
h2. Licensing
The relevant Mojo open-source code is available under the Apache License 2.0
with LLVM Exceptions.
The exact dependencies used by the Camel component should be reviewed as part
of the implementation.
h2. Discussion
This issue is intended to get maintainer feedback on whether a camel-mojo
component would be a good fit for Apache Camel and, if so, what execution model
and API would be appropriate.
was:
## Motivation
[Mojo](https://github.com/modular/modular) is an open-source programming
language from Modular, designed for high-performance systems and AI workloads.
It provides native performance, SIMD, Python interoperability, and support for
heterogeneous compute.
Apache Camel currently does not have a dedicated Mojo component.
A `camel-mojo` component could allow Camel routes to invoke Mojo
programs/functions as part of an integration pipeline, bringing Mojo's
high-performance compute capabilities into Camel applications.
## Proposed component
Introduce a new `camel-mojo` component that provides a Camel-native way to
invoke Mojo code.
Conceptually:
```text
Camel Route
|
v
camel-mojo
|
v
Mojo function/program
|
v
result
```
Example:
```java
from("direct:process")
.to("mojo:function?name=process")
.to("direct:next");
```
The exact endpoint/API can be determined during implementation.
## Initial scope
The initial implementation could investigate:
* Invoking Mojo programs/functions from Camel
* Mapping Camel message data to Mojo inputs and outputs
* Error handling through normal Camel mechanisms
* Reusable execution/lifecycle management
* Support for Mojo's native CPU/SIMD capabilities
* Opportunities for efficient/low-copy data exchange
Mojo's Python interoperability and accelerator/GPU capabilities could be
considered as future extensions where appropriate.
## Non-goals
This issue is not proposing to:
* bundle the Mojo compiler with Camel
* integrate the entire Modular/MAX platform
* implement a new Mojo runtime
* make GPU/model serving functionality a requirement for the initial component
## Licensing
The relevant Mojo open-source code is available under Apache License 2.0 with
LLVM Exceptions. The exact dependencies used by the Camel component should be
reviewed as part of implementation.
## Discussion
This issue is primarily intended to get maintainer feedback on whether a
`camel-mojo` component would be a good fit for Apache Camel and, if so, what
execution model and API would be appropriate.
> Add Apache Camel integration for the open-source Mojo programming language
> --------------------------------------------------------------------------
>
> Key: CAMEL-24982
> URL: https://issues.apache.org/jira/browse/CAMEL-24982
> Project: Camel
> Issue Type: New Feature
> Reporter: Ramu
> Priority: Major
>
> h2. Motivation
> [Mojo|https://github.com/modular/modular] is an open-source programming
> language from Modular, designed for high-performance systems and AI workloads.
> Mojo provides native performance, SIMD, Python interoperability, and support
> for heterogeneous compute.
> Apache Camel currently does not have a dedicated Mojo component.
> A camel-mojo component could allow Camel routes to invoke Mojo programs or
> functions as part of an integration pipeline.
> h2. Proposed Component
> Introduce a new camel-mojo component that provides a Camel-native way to
> invoke Mojo code.
> Example:
> {code:java}
> from("direct:process")
> .to("mojo:function?name=process")
> .to("direct:next");
> {code}
> The exact endpoint syntax and execution model can be determined during
> implementation.
> h2. Initial Scope
> The initial implementation could investigate:
> * Invoking Mojo programs or functions from Camel
> * Mapping Camel message data to Mojo inputs and outputs
> * Error handling through normal Camel mechanisms
> * Reusable execution and lifecycle management
> * Support for Mojo native CPU and SIMD capabilities
> * Efficient or low-copy data exchange where practical
> Mojo Python interoperability and accelerator/GPU capabilities could be
> considered as future extensions.
> h2. Non-Goals
> This issue does not propose:
> * Bundling the Mojo compiler with Apache Camel
> * Integrating the entire Modular/MAX platform
> * Implementing a new Mojo runtime
> * Making GPU or model-serving functionality a requirement for the initial
> component
> h2. Licensing
> The relevant Mojo open-source code is available under the Apache License 2.0
> with LLVM Exceptions.
> The exact dependencies used by the Camel component should be reviewed as part
> of the implementation.
> h2. Discussion
> This issue is intended to get maintainer feedback on whether a camel-mojo
> component would be a good fit for Apache Camel and, if so, what execution
> model and API would be appropriate.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)