<feed xmlns='http://www.w3.org/2005/Atom'>
<title>llvm-project.git/mlir/lib/ExecutionEngine/AsyncRuntime.cpp, branch main</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/'/>
<entry>
<title>Rename llvm::ThreadPool -&gt; llvm::DefaultThreadPool (NFC) (#83702)</title>
<updated>2024-03-06T02:00:46+00:00</updated>
<author>
<name>Mehdi Amini</name>
<email>joker.eph@gmail.com</email>
</author>
<published>2024-03-06T02:00:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=716042a63f26cd020eb72960f72fa97b9a197382'/>
<id>716042a63f26cd020eb72960f72fa97b9a197382</id>
<content type='text'>
The base class llvm::ThreadPoolInterface will be renamed
llvm::ThreadPool in a subsequent commit.

This is a breaking change: clients who use to create a ThreadPool must
now create a DefaultThreadPool instead.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The base class llvm::ThreadPoolInterface will be renamed
llvm::ThreadPool in a subsequent commit.

This is a breaking change: clients who use to create a ThreadPool must
now create a DefaultThreadPool instead.</pre>
</div>
</content>
</entry>
<entry>
<title>Use the new ThreadPoolInterface base class instead of the concrete implementation (NFC) (#84056)</title>
<updated>2024-03-05T20:37:11+00:00</updated>
<author>
<name>Mehdi Amini</name>
<email>joker.eph@gmail.com</email>
</author>
<published>2024-03-05T20:37:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=4a4fb930a539c91eb4e9d8b1ea427a7cef72d054'/>
<id>4a4fb930a539c91eb4e9d8b1ea427a7cef72d054</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Rename `ThreadPool::getThreadCount()` to `getMaxConcurrency()` (NFC) (#82296)</title>
<updated>2024-02-20T02:07:12+00:00</updated>
<author>
<name>Mehdi Amini</name>
<email>joker.eph@gmail.com</email>
</author>
<published>2024-02-20T02:07:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=744616b3aebd008a5ad0e9de9f82f5e284440ab1'/>
<id>744616b3aebd008a5ad0e9de9f82f5e284440ab1</id>
<content type='text'>
This is addressing a long-time TODO to rename this misleading API. The
old one is preserved for now but marked deprecated.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This is addressing a long-time TODO to rename this misleading API. The
old one is preserved for now but marked deprecated.</pre>
</div>
</content>
</entry>
<entry>
<title>[mlir] Apply ClangTidy performance fix</title>
<updated>2024-01-02T10:00:29+00:00</updated>
<author>
<name>Adrian Kuegel</name>
<email>akuegel@google.com</email>
</author>
<published>2024-01-02T10:00:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=ac8b53fc9232733af4656028fa82fd44397559d0'/>
<id>ac8b53fc9232733af4656028fa82fd44397559d0</id>
<content type='text'>
- Use '\n' instead of std::endl;

https://clang.llvm.org/extra/clang-tidy/checks/performance/avoid-endl.html
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Use '\n' instead of std::endl;

https://clang.llvm.org/extra/clang-tidy/checks/performance/avoid-endl.html
</pre>
</div>
</content>
</entry>
<entry>
<title>[mlir][async] Mark exported symbols of runtime lib as visible.</title>
<updated>2023-06-20T19:27:47+00:00</updated>
<author>
<name>Ingo Müller</name>
<email>ingomueller@google.com</email>
</author>
<published>2023-06-20T14:10:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=f9bce19e2e2be09768260d2a297d933f46bc3efd'/>
<id>f9bce19e2e2be09768260d2a297d933f46bc3efd</id>
<content type='text'>
The async runtime library explicitly registers the symbols it exports
with the loading mechanism of the execution engine. This even works even
though these symbols were marked as hidden in the library. However, if
used outside the execution engine, such as with `lli --dlopen` or if AOT
compiled, these hidden symbols would not be found. This patch thus marks
all symbols that are part of the API as visible.

Reviewed By: mehdi_amini

Differential Revision: https://reviews.llvm.org/D153348
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The async runtime library explicitly registers the symbols it exports
with the loading mechanism of the execution engine. This even works even
though these symbols were marked as hidden in the library. However, if
used outside the execution engine, such as with `lli --dlopen` or if AOT
compiled, these hidden symbols would not be found. This patch thus marks
all symbols that are part of the API as visible.

Reviewed By: mehdi_amini

Differential Revision: https://reviews.llvm.org/D153348
</pre>
</div>
</content>
</entry>
<entry>
<title>[mlir][async] Update comments about library registration. (NFC)</title>
<updated>2023-06-16T18:03:53+00:00</updated>
<author>
<name>Ingo Müller</name>
<email>ingomueller@google.com</email>
</author>
<published>2023-06-16T15:28:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=530db6a3b44cfbe59c32dba4fe6b7f25a0e9390c'/>
<id>530db6a3b44cfbe59c32dba4fe6b7f25a0e9390c</id>
<content type='text'>
This updates the code comments about the library registration mechanism,
which changed in https://reviews.llvm.org/D153029, and which should have
updated as part of that patch.

Reviewed By: ingomueller-net

Differential Revision: https://reviews.llvm.org/D153147
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This updates the code comments about the library registration mechanism,
which changed in https://reviews.llvm.org/D153029, and which should have
updated as part of that patch.

Reviewed By: ingomueller-net

Differential Revision: https://reviews.llvm.org/D153147
</pre>
</div>
</content>
</entry>
<entry>
<title>[mlir] Move symbol loading from mlir-cpu-runner to ExecutionEngine.</title>
<updated>2023-06-16T14:50:14+00:00</updated>
<author>
<name>Ingo Müller</name>
<email>ingomueller@google.com</email>
</author>
<published>2023-06-15T14:33:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=0b3841eb97f5c7951c2375e5b1a38ea89d9d6a37'/>
<id>0b3841eb97f5c7951c2375e5b1a38ea89d9d6a37</id>
<content type='text'>
Both the mlir-cpu-runner and the execution engine allow to provide a
list of shared libraries that should be loaded into the process such
that the jitted code can use the symbols from those libraries. The
runner had implemented a protocol that allowed libraries to control
which symbols it wants to provide in that context (with a function
called __mlir_runner_init). In absence of that, the runner would rely on
the loading mechanism of the execution engine, which didn't do anything
particular with the symbols, i.e., only symbols with public visibility
were visible to jitted code.

Libraries used a mix of the two mechanisms: while the runner utils and C
runner utils libs (and potentially others) used public visibility, the
async runtime lib (as the only one in the monorepo) used the loading
protocol. As a consequence, the async runtime library could not be used
through the Python bindings of the execution engine.

This patch moves the loading protocol from the runner to the execution
engine. For the runner, this should not change anything: it lets the
execution engine handle the loading which now implements the same
protocol that the runner had implemented before. However, the Python
binding now get to benefit from the loading protocol as well, so the
async runtime library (and potentially other out-of-tree libraries) can
now be used in that context.

Reviewed By: mehdi_amini

Differential Revision: https://reviews.llvm.org/D153029
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Both the mlir-cpu-runner and the execution engine allow to provide a
list of shared libraries that should be loaded into the process such
that the jitted code can use the symbols from those libraries. The
runner had implemented a protocol that allowed libraries to control
which symbols it wants to provide in that context (with a function
called __mlir_runner_init). In absence of that, the runner would rely on
the loading mechanism of the execution engine, which didn't do anything
particular with the symbols, i.e., only symbols with public visibility
were visible to jitted code.

Libraries used a mix of the two mechanisms: while the runner utils and C
runner utils libs (and potentially others) used public visibility, the
async runtime lib (as the only one in the monorepo) used the loading
protocol. As a consequence, the async runtime library could not be used
through the Python bindings of the execution engine.

This patch moves the loading protocol from the runner to the execution
engine. For the runner, this should not change anything: it lets the
execution engine handle the loading which now implements the same
protocol that the runner had implemented before. However, the Python
binding now get to benefit from the loading protocol as well, so the
async runtime library (and potentially other out-of-tree libraries) can
now be used in that context.

Reviewed By: mehdi_amini

Differential Revision: https://reviews.llvm.org/D153029
</pre>
</div>
</content>
</entry>
<entry>
<title>Replace void* with std::byte* in AsyncRuntime</title>
<updated>2022-12-21T03:17:35+00:00</updated>
<author>
<name>yijiagu</name>
<email>yijiagu@google.com</email>
</author>
<published>2022-12-21T03:00:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=4109276fb46ad36c320ebb738eadb4ab2ecc4763'/>
<id>4109276fb46ad36c320ebb738eadb4ab2ecc4763</id>
<content type='text'>
Replace void* with std::byte* in AsyncRuntime to make it clear that these pointers point to a memory region.

Reviewed By: ezhulenev

Differential Revision: https://reviews.llvm.org/D140428
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Replace void* with std::byte* in AsyncRuntime to make it clear that these pointers point to a memory region.

Reviewed By: ezhulenev

Differential Revision: https://reviews.llvm.org/D140428
</pre>
</div>
</content>
</entry>
<entry>
<title>[async] Get the number of worker threads from the runtime.</title>
<updated>2022-01-31T20:06:01+00:00</updated>
<author>
<name>bakhtiyar</name>
<email>bakhtiyar@x.team</email>
</author>
<published>2022-01-31T20:00:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=149311b4055a5f836b8f61ad66e700a93e86ab18'/>
<id>149311b4055a5f836b8f61ad66e700a93e86ab18</id>
<content type='text'>
Reviewed By: ezhulenev

Differential Revision: https://reviews.llvm.org/D117751
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Reviewed By: ezhulenev

Differential Revision: https://reviews.llvm.org/D117751
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix more clang-tidy cleanups in mlir/ (NFC)</title>
<updated>2021-12-22T20:53:11+00:00</updated>
<author>
<name>Mehdi Amini</name>
<email>joker.eph@gmail.com</email>
</author>
<published>2021-12-22T00:19:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.belthelziquor.com/llvm-project.git/commit/?id=e5639b3fa45f68c53e8e676749b0f1aacd16b41d'/>
<id>e5639b3fa45f68c53e8e676749b0f1aacd16b41d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
