Skip to content
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

Blog post: Debug async in AiiDA #86

Open
wants to merge 7 commits into
base: main
Choose a base branch
from

Conversation

unkcpz
Copy link
Member

@unkcpz unkcpz commented Jan 28, 2025

No description provided.

@unkcpz
Copy link
Member Author

unkcpz commented Jan 28, 2025

The linkcheck is fail but it actually work, is that possible to just ignore the check for certain links?

@GeigerJ2
Copy link
Contributor

The linkcheck is fail but it actually work, is that possible to just ignore the check for certain links?

Yeah, this has been happening for basically every PR here... I'll have a look, maybe we can ignore the offending links. Sometimes, one can access them normally from the browser, but it fails for the GHA runners.

@unkcpz
Copy link
Member Author

unkcpz commented Jan 28, 2025

I think it can be added

linkcheck_ignore = [
to ignore.

Copy link
Member Author

@unkcpz unkcpz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for checking text @GeigerJ2 looks much better. I further push some tiny changes.

docs/news/posts/2025-01-25-how-to-debug-async-in-aiida.md Outdated Show resolved Hide resolved
As part of its architecture, AiiDA employs [**Plumpy** (a Python workflow library)](https://github.com/aiidateam/plumpy) under the hood to schedule AiiDA processes into an event loop.
Plumpy relies on asynchronous mechanisms (Futures, event loops, coroutines) for handling complex workflows with potentially long-lived tasks.
As part of its architecture, AiiDA employs [**Plumpy** (a Python workflow library maintained by the AiiDA team)](https://github.com/aiidateam/plumpy) under the hood to schedule AiiDA processes into an event loop.
Plumpy relies on asynchronous principles and mechanisms (Futures, event loops, coroutines) for handling complex workflows with potentially long-lived tasks.
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd just say "asynchronous programming".

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Works for me

docs/news/posts/2025-01-25-how-to-debug-async-in-aiida.md Outdated Show resolved Hide resolved
Copy link
Contributor

@GeigerJ2 GeigerJ2 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@unkcpz just added one more commit with some minor text corrections. Thank you, nice work!


3. **Tracers and Profilers**:
- Tools such as [Yappi](https://github.com/sumerc/yappi) or [PyInstrument](https://github.com/joerick/pyinstrument) can sometimes give you an overview of where the code is spending time.
- When writting this post, I found out about these tools, and deemed it worth it to give them a try in AiiDA. However, they require more standard event loop management without using `nest-asyncio`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would make it less personal, so I modified this in my latest commit.

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