{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":135768037,"defaultBranch":"main","name":"DALI","ownerLogin":"NVIDIA","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2018-06-01T22:18:01.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/1728152?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1715594490.0","currentOid":""},"activityList":{"items":[{"before":"814d004e7bfa12edc17f12461fa234b3b7c13bed","after":"1f4a763f7204719672cc30701d4b14f8be7f4f33","ref":"refs/heads/main","pushedAt":"2024-05-24T12:20:30.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"stiepan","name":"Kamil Tokarski","path":"/stiepan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11878086?s=80&v=4"},"commit":{"message":"Pin NPP version for CUDA 12 (#5480)\n\nSigned-off-by: Kamil Tokarski ","shortMessageHtmlLink":"Pin NPP version for CUDA 12 (#5480)"}},{"before":"708af6048e71e55eb117718a53c8bf7649eecb38","after":"814d004e7bfa12edc17f12461fa234b3b7c13bed","ref":"refs/heads/main","pushedAt":"2024-05-23T10:22:01.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jantonguirao","name":"Joaquin Anton","path":"/jantonguirao","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3891217?s=80&v=4"},"commit":{"message":"Reintroduce \"Move old ImageDecoder to legacy module and make the nvImageCodec based ImageDecoder the default\" (#5470)\n\nReplaces default ImageDecoders with the nvImageCodec based implementations.\r\nMove former default decoders to a legacy module\r\n\r\nSigned-off-by: Joaquin Anton ","shortMessageHtmlLink":"Reintroduce \"Move old ImageDecoder to legacy module and make the nvIm…"}},{"before":"2098b93f509f03456601d26624d09b2f4b2cdefb","after":"708af6048e71e55eb117718a53c8bf7649eecb38","ref":"refs/heads/main","pushedAt":"2024-05-21T16:13:07.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"JanuszL","name":"Janusz Lisiecki","path":"/JanuszL","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39967756?s=80&v=4"},"commit":{"message":"Move to new, unified, NVIDIA sphinx theme (#5471)\n\n- moves to the NVIDIA sphinx based theme\r\n- adds a new version switcher\r\n\r\nSigned-off-by: Janusz Lisiecki ","shortMessageHtmlLink":"Move to new, unified, NVIDIA sphinx theme (#5471)"}},{"before":"d0f8231f99c406b4553b5c5fbc9c673460e2ac6d","after":"2098b93f509f03456601d26624d09b2f4b2cdefb","ref":"refs/heads/main","pushedAt":"2024-05-21T05:48:19.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jantonguirao","name":"Joaquin Anton","path":"/jantonguirao","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3891217?s=80&v=4"},"commit":{"message":"Add DALI video plugin skeleton (#5328)\n\nStarts the skeleton of an upcoming DALI video plugin, as a source distribution that depends of PyNvVideoCodec for usage of VideoCodecSDK and utilities.\r\n\r\nSigned-off-by: Joaquin Anton ","shortMessageHtmlLink":"Add DALI video plugin skeleton (#5328)"}},{"before":"306221661a585ed7791857141e15b69e28952905","after":"d0f8231f99c406b4553b5c5fbc9c673460e2ac6d","ref":"refs/heads/main","pushedAt":"2024-05-20T15:26:22.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mzient","name":"Michał Zientkiewicz","path":"/mzient","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/17044837?s=80&v=4"},"commit":{"message":"Use dynamic programming in `OpGraph::HasConsumersInOtherStage` (#5475)\n\nSigned-off-by: Michal Zientkiewicz ","shortMessageHtmlLink":"Use dynamic programming in OpGraph::HasConsumersInOtherStage (#5475)"}},{"before":"768e3739b3578abb56a9efdb070ebe68b4641ccb","after":"306221661a585ed7791857141e15b69e28952905","ref":"refs/heads/main","pushedAt":"2024-05-16T14:46:30.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mzient","name":"Michał Zientkiewicz","path":"/mzient","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/17044837?s=80&v=4"},"commit":{"message":"Don't initialize NVML when not setting affinity. (#5472)\n\nSigned-off-by: Michal Zientkiewicz ","shortMessageHtmlLink":"Don't initialize NVML when not setting affinity. (#5472)"}},{"before":"17458b7b47e22d7cd76d18e2624e3c7431278386","after":"768e3739b3578abb56a9efdb070ebe68b4641ccb","ref":"refs/heads/main","pushedAt":"2024-05-16T09:03:13.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"JanuszL","name":"Janusz Lisiecki","path":"/JanuszL","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39967756?s=80&v=4"},"commit":{"message":"Add MXNet deprecation message to the docs and plugin (#5465)\n\n- adds MXNet deprecation message to the docs and plugin\r\n\r\nSigned-off-by: Janusz Lisiecki ","shortMessageHtmlLink":"Add MXNet deprecation message to the docs and plugin (#5465)"}},{"before":"91f89d9b73847e039e2e279997fdcff7b108fc60","after":"17458b7b47e22d7cd76d18e2624e3c7431278386","ref":"refs/heads/main","pushedAt":"2024-05-15T14:31:50.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mzient","name":"Michał Zientkiewicz","path":"/mzient","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/17044837?s=80&v=4"},"commit":{"message":"Add first-class check for nested datanodes in math/arithmetic ops. (#5466)\n\nSigned-off-by: Michal Zientkiewicz ","shortMessageHtmlLink":"Add first-class check for nested datanodes in math/arithmetic ops. (#…"}},{"before":"280616a00bdc445a0c81ec5fb514fae858f8d177","after":"8f2a43f3436cafeafa4774513f7daf68ebbffad8","ref":"refs/heads/release_v1.38","pushedAt":"2024-05-15T08:15:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"JanuszL","name":"Janusz Lisiecki","path":"/JanuszL","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39967756?s=80&v=4"},"commit":{"message":"Fix GTest Death Style Tests and LoadDirectory test in conda (#5469)\n\n- GTest Death Style Tests clone the current process but don't follow\r\n the PATH to discover the executed binary. As in conda, we use\r\n relative path and the tests are installed in bin this fails. This\r\n change makes sure that tests are invoked with the full path specified.\r\n- LoadDirectory tests assume that the plugins are located next to the\r\n test binary while in conda they are copied to the global lib dir. This\r\n PR accounts for that.\r\n\r\nSigned-off-by: Janusz Lisiecki ","shortMessageHtmlLink":"Fix GTest Death Style Tests and LoadDirectory test in conda (#5469)"}},{"before":"37288b7e3b646daca39a5853823d478f4dd16f0c","after":"91f89d9b73847e039e2e279997fdcff7b108fc60","ref":"refs/heads/main","pushedAt":"2024-05-15T07:27:33.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jantonguirao","name":"Joaquin Anton","path":"/jantonguirao","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3891217?s=80&v=4"},"commit":{"message":"Fix GTest Death Style Tests and LoadDirectory test in conda (#5469)\n\n- GTest Death Style Tests clone the current process but don't follow\r\n the PATH to discover the executed binary. As in conda, we use\r\n relative path and the tests are installed in bin this fails. This\r\n change makes sure that tests are invoked with the full path specified.\r\n- LoadDirectory tests assume that the plugins are located next to the\r\n test binary while in conda they are copied to the global lib dir. This\r\n PR accounts for that.\r\n\r\nSigned-off-by: Janusz Lisiecki ","shortMessageHtmlLink":"Fix GTest Death Style Tests and LoadDirectory test in conda (#5469)"}},{"before":"0c99a11abeb81f5000a2584f8deaf29f04c86e29","after":"280616a00bdc445a0c81ec5fb514fae858f8d177","ref":"refs/heads/release_v1.38","pushedAt":"2024-05-13T16:08:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"stiepan","name":"Kamil Tokarski","path":"/stiepan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11878086?s=80&v=4"},"commit":{"message":"Revert \"Move old ImageDecoder to legacy module and make the nvImageCodec based ImageDecoder the default (#5445)\" (#5464)\n\nThis reverts commit da8204c00eb12eacb285414733f3b53d99a6f9cd.","shortMessageHtmlLink":"Revert \"Move old ImageDecoder to legacy module and make the nvImageCo…"}},{"before":"36404415259bfb86029821e269da42b33c1ec70d","after":"37288b7e3b646daca39a5853823d478f4dd16f0c","ref":"refs/heads/main","pushedAt":"2024-05-13T13:13:33.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jantonguirao","name":"Joaquin Anton","path":"/jantonguirao","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3891217?s=80&v=4"},"commit":{"message":"Revert \"Move old ImageDecoder to legacy module and make the nvImageCodec based ImageDecoder the default (#5445)\" (#5464)\n\nThis reverts commit da8204c00eb12eacb285414733f3b53d99a6f9cd.","shortMessageHtmlLink":"Revert \"Move old ImageDecoder to legacy module and make the nvImageCo…"}},{"before":null,"after":"0c99a11abeb81f5000a2584f8deaf29f04c86e29","ref":"refs/heads/release_v1.38","pushedAt":"2024-05-13T10:01:30.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"stiepan","name":"Kamil Tokarski","path":"/stiepan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11878086?s=80&v=4"},"commit":{"message":"Update VERSION to 1.38.0\n\nSigned-off-by: Kamil Tokarski ","shortMessageHtmlLink":"Update VERSION to 1.38.0"}},{"before":"7c8004db32ea4dc0fe13c8efba9f3a5799ed9649","after":"36404415259bfb86029821e269da42b33c1ec70d","ref":"refs/heads/main","pushedAt":"2024-05-13T09:56:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"stiepan","name":"Kamil Tokarski","path":"/stiepan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11878086?s=80&v=4"},"commit":{"message":"Update VERSION to 1.39.0dev\n\nSigned-off-by: Kamil Tokarski ","shortMessageHtmlLink":"Update VERSION to 1.39.0dev"}},{"before":"dfc7d9587743bce1943e709fd46f924d0375efbf","after":"7c8004db32ea4dc0fe13c8efba9f3a5799ed9649","ref":"refs/heads/main","pushedAt":"2024-05-11T00:15:33.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"JanuszL","name":"Janusz Lisiecki","path":"/JanuszL","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39967756?s=80&v=4"},"commit":{"message":"Dependency update for May 2024 - black, boost-pp, cv-cuda, pybind11, rapidjson (#5458)\n\n* Update:\r\n- black (24.4.2)\r\n- cutlass (3.5.0)\r\n- rapidjson\r\n- pybind11 (2.12.0)\r\n- CV-CUDA (0.7.0)\r\n- boost preprocessor (1.85.0)\r\n\r\nSigned-off-by: Michal Zientkiewicz ","shortMessageHtmlLink":"Dependency update for May 2024 - black, boost-pp, cv-cuda, pybind11, …"}},{"before":"da8204c00eb12eacb285414733f3b53d99a6f9cd","after":"dfc7d9587743bce1943e709fd46f924d0375efbf","ref":"refs/heads/main","pushedAt":"2024-05-09T16:42:19.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jantonguirao","name":"Joaquin Anton","path":"/jantonguirao","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3891217?s=80&v=4"},"commit":{"message":"Introduce DALI_PRELOAD_PLUGINS (#5457)\n\nIntroduces a new environment variable that allows the user to preload some DALI plugins:\r\n\r\nunset: load all plugins under DALI installation directory in a subfolder called plugins\r\nset: contains a list of paths separated by colon. Each path can be a plugin or a directory, in which case will be scanned for plugins. A DALI plugin follows the filename libdali_{plugin_name}.so\r\n\r\nSigned-off-by: Joaquin Anton ","shortMessageHtmlLink":"Introduce DALI_PRELOAD_PLUGINS (#5457)"}},{"before":"6bf318bf3447b7ea345afc196507cdd3e1e98754","after":"da8204c00eb12eacb285414733f3b53d99a6f9cd","ref":"refs/heads/main","pushedAt":"2024-05-09T16:07:48.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jantonguirao","name":"Joaquin Anton","path":"/jantonguirao","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3891217?s=80&v=4"},"commit":{"message":"Move old ImageDecoder to legacy module and make the nvImageCodec based ImageDecoder the default (#5445)\n\nReplaces default ImageDecoders with the nvImageCodec based implementations.\r\nMove former default decoders to a legacy module\r\n\r\nSigned-off-by: Joaquin Anton ","shortMessageHtmlLink":"Move old ImageDecoder to legacy module and make the nvImageCodec base…"}},{"before":"fb1d9daab7cf27c7e63149bb7ba2f168c975dea1","after":"6bf318bf3447b7ea345afc196507cdd3e1e98754","ref":"refs/heads/main","pushedAt":"2024-05-09T12:31:41.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jantonguirao","name":"Joaquin Anton","path":"/jantonguirao","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3891217?s=80&v=4"},"commit":{"message":"Pin JAX version for multigpu test (#5460)\n\nSigned-off-by: Albert Wolant ","shortMessageHtmlLink":"Pin JAX version for multigpu test (#5460)"}},{"before":"5e2cc9ee3953df50f25527d934ca71aeb0074396","after":"fb1d9daab7cf27c7e63149bb7ba2f168c975dea1","ref":"refs/heads/main","pushedAt":"2024-05-09T12:14:42.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mzient","name":"Michał Zientkiewicz","path":"/mzient","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/17044837?s=80&v=4"},"commit":{"message":"Use C++17 standard in nodeps test. (#5459)\n\nSigned-off-by: Michal Zientkiewicz ","shortMessageHtmlLink":"Use C++17 standard in nodeps test. (#5459)"}},{"before":"2a1e89553a64a9bfb986395a9320f4b483d02992","after":"5e2cc9ee3953df50f25527d934ca71aeb0074396","ref":"refs/heads/main","pushedAt":"2024-05-09T07:23:29.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"JanuszL","name":"Janusz Lisiecki","path":"/JanuszL","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39967756?s=80&v=4"},"commit":{"message":"Bump up NUMBA version used in tests to 0.59.1 (#5451)\n\n* Bump up NUMBA version used in tests to 0.59.1\r\n\r\nSigned-off-by: Janusz Lisiecki ","shortMessageHtmlLink":"Bump up NUMBA version used in tests to 0.59.1 (#5451)"}},{"before":"4a2e4a7e4e7f8376a6faf9573372133114d59cfe","after":"2a1e89553a64a9bfb986395a9320f4b483d02992","ref":"refs/heads/main","pushedAt":"2024-05-08T14:15:14.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"JanuszL","name":"Janusz Lisiecki","path":"/JanuszL","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39967756?s=80&v=4"},"commit":{"message":"Extend the documentation footer (#5454)\n\n- makes the documentation footer aligned with the latest recommendations\r\n- adds links with links related to privacy and terms of use in\r\n the documentation footer\r\n\r\nSigned-off-by: Janusz Lisiecki ","shortMessageHtmlLink":"Extend the documentation footer (#5454)"}},{"before":"3184cb0fdb3f90359c93def21f64982749562dda","after":"4a2e4a7e4e7f8376a6faf9573372133114d59cfe","ref":"refs/heads/main","pushedAt":"2024-05-07T15:00:58.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"jantonguirao","name":"Joaquin Anton","path":"/jantonguirao","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3891217?s=80&v=4"},"commit":{"message":"Fix Coverity issues (May/2024) (#5453)\n\nSigned-off-by: Joaquin Anton ","shortMessageHtmlLink":"Fix Coverity issues (May/2024) (#5453)"}},{"before":"a9ccb4b9945604711fb8e2078ba6dcc8305728ac","after":"3184cb0fdb3f90359c93def21f64982749562dda","ref":"refs/heads/main","pushedAt":"2024-05-07T11:29:03.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"stiepan","name":"Kamil Tokarski","path":"/stiepan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/11878086?s=80&v=4"},"commit":{"message":"Fix equalize unit test (#5456)\n\nSigned-off-by: Kamil Tokarski ","shortMessageHtmlLink":"Fix equalize unit test (#5456)"}},{"before":"80b67f93fcbd57985b35db94e9788602334ea37f","after":"a9ccb4b9945604711fb8e2078ba6dcc8305728ac","ref":"refs/heads/main","pushedAt":"2024-05-07T11:13:30.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mzient","name":"Michał Zientkiewicz","path":"/mzient","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/17044837?s=80&v=4"},"commit":{"message":"Remove the use of (soon deprecated) aligned_storage. (#5455)\n\nAccording to C++ 17 standard, type-punning pointers to std::aligned_storage_t is UB and in C++23 std::aligned_* is deprecated. The recommended way is to use an appropriately aligned array of bytes.\r\n\r\nSigned-off-by: Michal Zientkiewicz ","shortMessageHtmlLink":"Remove the use of (soon deprecated) aligned_storage. (#5455)"}},{"before":"89717f7feccd72b81d1ae9949c82a7bd69ce49c5","after":"d1685acebd5c41743cab0e15890660130e0276ce","ref":"refs/heads/release_v1.37","pushedAt":"2024-04-30T13:06:21.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"JanuszL","name":"Janusz Lisiecki","path":"/JanuszL","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39967756?s=80&v=4"},"commit":{"message":"Pin all nvJPEG2k subpackages (#5442)\n\n- libnvjpeg2k0, even when pinned, pulls the latest subpackages\r\n so these subpackages need to be pinned explicitly.\r\n- removes usage of the deprecated, meta pacakges for nvjpeg2k0\r\n\r\nSigned-off-by: Janusz Lisiecki ","shortMessageHtmlLink":"Pin all nvJPEG2k subpackages (#5442)"}},{"before":"1bc7fc20b0ff373a3320eca0c7f4860feb4a3bd2","after":"89717f7feccd72b81d1ae9949c82a7bd69ce49c5","ref":"refs/heads/release_v1.37","pushedAt":"2024-04-30T10:49:50.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"JanuszL","name":"Janusz Lisiecki","path":"/JanuszL","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39967756?s=80&v=4"},"commit":{"message":"Update VERSION to 1.37.1\n\nSigned-off-by: Janusz Lisiecki ","shortMessageHtmlLink":"Update VERSION to 1.37.1"}},{"before":"bd57d596f1361b6c3317661f513ba3d374071a47","after":"80b67f93fcbd57985b35db94e9788602334ea37f","ref":"refs/heads/main","pushedAt":"2024-04-30T10:47:31.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"JanuszL","name":"Janusz Lisiecki","path":"/JanuszL","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39967756?s=80&v=4"},"commit":{"message":"Fix DALI TF plugin source compilation during installation (#5448)\n\n- removes unnecessary escape characters from compilation commands\r\n for the DALI TF plugin stub and binary issues when the\r\n plugin is built from the source during installation. Before\r\n this change rpatch was incorrectly set to '$ORIGIN' instead\r\n of just $ORIGIN\r\n\r\nSigned-off-by: Janusz Lisiecki ","shortMessageHtmlLink":"Fix DALI TF plugin source compilation during installation (#5448)"}},{"before":"82983535cd65dc1ba11018b4b35dbae6e2c305d5","after":"bd57d596f1361b6c3317661f513ba3d374071a47","ref":"refs/heads/main","pushedAt":"2024-04-30T08:29:52.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mzient","name":"Michał Zientkiewicz","path":"/mzient","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/17044837?s=80&v=4"},"commit":{"message":"Make shared IterationData a first class member of Workspace. (#5447)\n\nMake operator traces thread-safe.\r\n\r\nSigned-off-by: Michal Zientkiewicz ","shortMessageHtmlLink":"Make shared IterationData a first class member of Workspace. (#5447)"}},{"before":"15f591232e2d068a76f1658ac7e3ea28b5622822","after":"82983535cd65dc1ba11018b4b35dbae6e2c305d5","ref":"refs/heads/main","pushedAt":"2024-04-27T08:56:32.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"mzient","name":"Michał Zientkiewicz","path":"/mzient","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/17044837?s=80&v=4"},"commit":{"message":"Tasking module (#5436)\n\n# Tasking module\r\n`dali::tasking` is a task execution engine which supports inter-task dependencies, semaphores and data passing.\r\nMain concepts of the tasking API are:\r\n* Task - a single-use object that encapsulates a function; it can depend on zero or more Waitable objects\r\n* Waitable - an object for which a task can wait\r\n* Scheduler - manages tasks and resolves their readiness state\r\n\r\n## Main components\r\nA `Task` is also `Waitable` - that is, a task can depend on the completion of other task(s).\r\nThere are two kinds of `Waitable` objects - completion events and releasable objects.\r\nA `CompletionEvent` (e.g. Task) is an object which remains acquirable after it's \"completed\". Performing Acquire operation on it does not alter the state of the object.\r\nA `Semaphore` can be externally released (it's `Releasable`), but `Acquire` lowers the semaphore count, so the number of tasks that can acquire a semaphore before it's released is limited.\r\n\r\nAcquisition of `Waitable` objects on behalf of waiting tasks is the duty of the `Scheduler`. By contrast, `Release` operation on `Releasable` objects can be performed in any context.\r\n\r\n## Data passing\r\nData can be passed between tasks. It's wrapped in a `TaskResult` type which stores either the value as `std::any` or the error as `std::exception_ptr`. An attempt to access the value with an exception present results in the exception being rethrown.\r\nA `Task` wraps a function taking 0 or 1 argument (in the latter case it's this-like pointer to the `Task`) and returning a value of values.\r\nUpon creation of the task, the caller defines the number of return values. There are two options:\r\n- Scalar return value - in which case the return value can be any objects convertible to `std::any`. If the task returns `std::any`, it's stripped and the stored value is copied.\r\n- Multiple return values - in this case the return value of the function must be either a collection or a `tuple`.\r\nA `Task` can `Subscribe` to the result of a producer task (which has to be done before the producer is submitted to the scheduler). The result can be obtained by calling `task->GetInputValue(index)`\r\n\r\n## Obtaining results\r\nWhen a task is added to the scheduler, a `TaskFuture` object can be obtained. `Scheduler::AddSilentTask` should be used if the result of the task is not needed. Calling `TaskFuture::Value` will wait for the task to complete and return the value produced by the task (or rethrow the exception).\r\n\r\n## Error handling\r\nAll errors thrown by the task functions are stored in the task results. An attempt to obtain results of a task that threw an exception will result in the exception being rethrown.\r\n\r\n---------\r\n\r\nSigned-off-by: Michal Zientkiewicz ","shortMessageHtmlLink":"Tasking module (#5436)"}},{"before":"521a59dddefb81e4bbc3a45901dfde7db5bf37c7","after":"15f591232e2d068a76f1658ac7e3ea28b5622822","ref":"refs/heads/main","pushedAt":"2024-04-25T08:31:51.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"JanuszL","name":"Janusz Lisiecki","path":"/JanuszL","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/39967756?s=80&v=4"},"commit":{"message":"Pin all nvJPEG2k subpackages (#5442)\n\n- libnvjpeg2k0, even when pinned, pulls the latest subpackages\r\n so these subpackages need to be pinned explicitly.\r\n- removes usage of the deprecated, meta pacakges for nvjpeg2k0\r\n\r\nSigned-off-by: Janusz Lisiecki ","shortMessageHtmlLink":"Pin all nvJPEG2k subpackages (#5442)"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEUwIRtgA","startCursor":null,"endCursor":null}},"title":"Activity · NVIDIA/DALI"}