Merged
Conversation
iamrecursion
approved these changes
Sep 27, 2021
Contributor
iamrecursion
left a comment
There was a problem hiding this comment.
Code is good. Some minor readability comments.
I've verified that this doesn't seem to impact any of the compilation and caching work.
RELEASES.md
Outdated
|
|
||
| ## Interpreter/Runtime | ||
|
|
||
| - Added support for automatic parallelization of computations |
Contributor
There was a problem hiding this comment.
Suggested change
| - Added support for automatic parallelization of computations | |
| - Added experimental support for automatic parallelization of computations |
| private val UPLOAD_OPTION = "upload" | ||
| private val HIDE_PROGRESS = "hide-progress" | ||
| private val AUTH_TOKEN = "auth-token" | ||
| private val AUTO_PARALLELISM_OPTION = "with-auto-parallelism" |
Comment on lines
+816
to
+822
| moduleIr.bindings.find { | ||
| case method: IR.Module.Scope.Definition.Method.Explicit => | ||
| method.methodReference.methodName.name == this.method.name && method.methodReference.typePointer | ||
| .getMetadata(MethodDefinitions) | ||
| .contains(Resolution(ResolvedModule(module))) | ||
| case _ => false | ||
| }.get |
Contributor
There was a problem hiding this comment.
This should be unsafeGetIr and you probably want a safe version returning Option[Definition].
Comment on lines
+81
to
+82
| * followed by a series of pinnedd lines. | ||
| * @param parallelizable the parallelizable lines |
Contributor
There was a problem hiding this comment.
Suggested change
| * followed by a series of pinnedd lines. | |
| * @param parallelizable the parallelizable lines | |
| * followed by a series of pinned lines. | |
| * | |
| * @param parallelizable the parallelizable lines |
Comment on lines
+91
to
+92
| * Computes the transitive closure of the dependency info. | ||
| * @param segment the segment containing only immediate dependency info. |
Contributor
There was a problem hiding this comment.
Suggested change
| * Computes the transitive closure of the dependency info. | |
| * @param segment the segment containing only immediate dependency info. | |
| * Computes the transitive closure of the dependency info. | |
| * | |
| * @param segment the segment containing only immediate dependency info. |
Comment on lines
+115
to
+116
| * parallelizable line to a block. | ||
| * @param segment the segment for which assignment should be done. |
Contributor
There was a problem hiding this comment.
Suggested change
| * parallelizable line to a block. | |
| * @param segment the segment for which assignment should be done. | |
| * parallelizable line to a block. | |
| * | |
| * @param segment the segment for which assignment should be done. |
| // Going backwards through the lines (i.e. post-order of the dependency | ||
| // graph), assign each not-yet-assigned parallelized line to a new thread. | ||
| // Also move all its dependencies to the new thread (or promote to current | ||
| // thread, see #moveTo. |
Contributor
There was a problem hiding this comment.
Suggested change
| // thread, see #moveTo. | |
| // thread), see #moveTo. |
Comment on lines
+176
to
+177
| * Splits a block into sub-blocks based on the parallelism status. | ||
| * @param exprs the exprs to split, together with their status. |
Contributor
There was a problem hiding this comment.
Suggested change
| * Splits a block into sub-blocks based on the parallelism status. | |
| * @param exprs the exprs to split, together with their status. | |
| * Splits a block into sub-blocks based on the parallelism status. | |
| * | |
| * @param exprs the exprs to split, together with their status. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pull Request Description
Introduces a rudimentary version of auto parallelism
Important Notes
Checklist
Please include the following checklist in your PR: