Skip to content

Make integrated build #4

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 33 commits into from
May 2, 2025
Merged

Make integrated build #4

merged 33 commits into from
May 2, 2025

Conversation

SAtacker
Copy link
Owner

@SAtacker SAtacker commented May 2, 2025

No description provided.

SAtacker and others added 30 commits February 20, 2025 15:25
Signed-off-by: Shreyas Atre <[email protected]>
Signed-off-by: Shreyas Atre <[email protected]>
- Add chapel as external submodule

Signed-off-by: Shreyas Atre <[email protected]>
- Remove frontend directory which is not needed anymore

Signed-off-by: Shreyas Atre <[email protected]>
Signed-off-by: Shreyas Atre <[email protected]>
Signed-off-by: Shreyas Atre <[email protected]>
Signed-off-by: Shreyas Atre <[email protected]>
- Also add chapel 1.33.0 patch

Signed-off-by: Shreyas Atre <[email protected]>
Signed-off-by: Shreyas Atre <[email protected]>
- Between some versions of chapel while they were trying
their new frontend compiler next, they  restricted domains
and array parsing in some way.

- Previously var: data [{1..5}] real; was well defined
however, var: data [1..5] real; was allowed or to me at least,
it is a hint that it was discouraged.

- When I tried our old implementation, i see that we enter the
domain node before we enter a range node. With frontend after
release 1.25.0 instead of domain node for 1..5 we enter
directly into the range node.

- Ref: chapel-lang/chapel#19187

Signed-off-by: Shreyas Atre <[email protected]>
- Modify the benchmark.py script to compile generated chapel code

Signed-off-by: Shreyas Atre <[email protected]>
- 1 + (i-1 + nx) % nx is correctly done to 1 + ( ( ( i - 1 ) + nx ) % nx )

- However:
  d[i] + dt*k/(dx*dx)*(d[i+1] + d[i-1] - 2*d[i])
  is done as:
  d(i) + ( ( ( dt * k ) / ( dx * dx ) ) * ( ( d(1 + i) + d(1 - i) ) - ( 2 * d(i) ) ) )

- This commit checks if both the expressions are not binary expressions it parses the arguments in order

Signed-off-by: Shreyas Atre <[email protected]>
SAtacker and others added 3 commits May 1, 2025 21:40
Authored-by: Hartmut Kaiser <[email protected]>
Signed-off-by: Shreyas Atre <[email protected]>
* Adding specialization for Array<T, Domain<1>>

* Adding specializations for iteration of simple ranges, domains, and arrays
@SAtacker SAtacker merged commit df8a12c into dev May 2, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants