Skip to content

Commit c356972

Browse files
Add recipe NABLA: Remove Endia package and replace it with its successor. (#117)
* Add recipe NABLA: Remove Endia package and replace it with its successor. * Fixed export name from endia to nabla, as it should!!!! --------- Co-authored-by: Caroline Frasca <42614552+carolinefrasca@users.noreply.github.com>
1 parent fdef45c commit c356972

File tree

6 files changed

+80
-85
lines changed

6 files changed

+80
-85
lines changed

recipes/endia/image.jpeg

-12.6 KB
Binary file not shown.

recipes/endia/recipe.yaml

Lines changed: 0 additions & 44 deletions
This file was deleted.

recipes/endia/test.mojo

Lines changed: 0 additions & 41 deletions
This file was deleted.

recipes/nabla/image.jpeg

61.9 KB
Loading

recipes/nabla/recipe.yaml

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
context:
2+
version: "25.3.0"
3+
4+
package:
5+
name: "nabla"
6+
version: ${{ version }}
7+
8+
source:
9+
- git: https://github.com/nabla-ml/nabla.git
10+
rev: f677a02a82caada7d233e11bf4e189fdb702ef7f
11+
12+
build:
13+
number: 0
14+
script:
15+
- mojo package nabla -o ${{ PREFIX }}/lib/mojo/nabla.mojopkg
16+
requirements:
17+
host:
18+
- max =25.3
19+
run:
20+
- ${{ pin_compatible('max') }}
21+
22+
tests:
23+
- script:
24+
- if: unix
25+
then:
26+
- mojo test.mojo
27+
requirements:
28+
run:
29+
- max =25.3
30+
files:
31+
recipe:
32+
- test.mojo
33+
34+
about:
35+
homepage: https://github.com/nabla-ml/nabla
36+
license: Apache-2.0
37+
license_file: LICENSE
38+
summary: Differtiable Programming in Mojo.
39+
repository: https://github.com/nabla-ml/nabla
40+
41+
extra:
42+
maintainers:
43+
- TilliFe

recipes/nabla/test.mojo

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
import nabla
2+
3+
4+
fn main() raises:
5+
6+
# Simple test to check if nabla is callable, extensive testing is done elsewhere!
7+
8+
fn foo(args: List[nabla.Array]) raises -> List[nabla.Array]:
9+
return List(
10+
nabla.sum(nabla.sin(args[0] * args[1])),
11+
nabla.sum(nabla.cos(args[0] * args[1])),
12+
)
13+
14+
var foo_vmapped = nabla.vmap(foo)
15+
var foo_d1 = nabla.jacrev(foo_vmapped)
16+
var foo_d2 = nabla.jacfwd(foo_d1)
17+
var foo_d3 = nabla.jacfwd(foo_d2)
18+
19+
var args = List(nabla.arange((2, 3)), nabla.arange((2, 3)))
20+
21+
var res = foo(args)
22+
print("foo checksum: ", nabla.sum(res[0])) # , nabla.sum(res[1]))
23+
24+
var d1 = foo_d1(args)
25+
print(
26+
"foo_d1 checksum: ", nabla.sum(d1[0])
27+
) # , nabla.sum(d1[1]), nabla.sum(d1[2]), nabla.sum(d1[3]))
28+
29+
var d2 = foo_d2(args)
30+
print(
31+
"foo_d2 checksum: ", nabla.sum(d2[0])
32+
) # , nabla.sum(d2[1]), nabla.sum(d2[2]), nabla.sum(d2[3]), nabla.sum(d2[4]), nabla.sum(d2[5]), nabla.sum(d2[6]), nabla.sum(d2[7]))
33+
34+
var d3 = foo_d3(args)
35+
print(
36+
"foo_d3 checksum: ", nabla.sum(d3[0])
37+
) # , nabla.sum(d3[1]), nabla.sum(d3[2]), nabla.sum(d3[3]), nabla.sum(d3[4]), nabla.sum(d3[5]), nabla.sum(d3[6]), nabla.sum(d3[7]), nabla.sum(d3[8]), nabla.sum(d3[9]), nabla.sum(d3[10]), nabla.sum(d3[11]), nabla.sum(d3[12]), nabla.sum(d3[13]), nabla.sum(d3[14]), nabla.sum(d3[15]))

0 commit comments

Comments
 (0)