Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions projects/hipfile/docs/reference/api-async.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,7 @@ Asynchronous I/O API reference

The hipFile asynchronous API lets you enqueue non-blocking reads and writes on
HIP streams. Stream registration communicates hints about fixed offsets and
alignment to the driver. On the AMD backend, asynchronous operations are
serviced through the fallback path rather than the fastpath.
alignment to the driver.

For a step-by-step guide to using these functions, see
:doc:`/tutorials/async-multistream-io`.
Expand Down
8 changes: 1 addition & 7 deletions projects/hipfile/docs/reference/api-batch.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,6 @@ requests in a single call, poll for completion, cancel pending operations, and
tear down batch handles. All batch types and functions belong to the
``batch`` Doxygen group declared in ``hipfile.h``.

.. warning::

The batch API is not currently supported on the AMD backend.
``hipFileBatchIOGetStatus``, ``hipFileBatchIOCancel``, and
``hipFileBatchIODestroy`` are not implemented and return errors or perform
no operation. The maximum batch size is 128 operations.

For related API surfaces, see :doc:`/reference/api-synchronous-io`,
:doc:`/reference/api-async`, and :doc:`/reference/api-errors`.

Expand All @@ -30,3 +23,4 @@ contexts.

.. doxygengroup:: batch
:content-only:
:members:
2 changes: 2 additions & 0 deletions projects/hipfile/docs/reference/api-driver.rst
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ properties. See the Doxygen descriptions for current implementation status.

.. doxygengroup:: driver
:content-only:
:members:

Core versioning and configuration
====================================
Expand All @@ -29,3 +30,4 @@ parameters.

.. doxygengroup:: core
:content-only:
:members:
1 change: 1 addition & 0 deletions projects/hipfile/docs/reference/api-errors.rst
Original file line number Diff line number Diff line change
Expand Up @@ -38,3 +38,4 @@ Error types

.. doxygengroup:: error
:content-only:
:members:
1 change: 1 addition & 0 deletions projects/hipfile/docs/reference/api-file-and-buffer.rst
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,4 @@ hipFile driver.

.. doxygengroup:: file
:content-only:
:members:
1 change: 1 addition & 0 deletions projects/hipfile/docs/reference/api-synchronous-io.rst
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,4 @@ functions themselves.

.. doxygengroup:: sync
:content-only:
:members:
8 changes: 8 additions & 0 deletions projects/hipfile/docs/troubleshooting/known-issues.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,14 @@ Known issues

This page documents known issues with hipFile.

Asynchronous operations that use the fastpath backend will not retry on the fallback backend
============================================================================================

If asynchronous operations satisfy fastpath prerequisites, they now run on the
fastpath backend. If the fastpath device lookup fails or the p2pdma transfer
is not supported between the devices, the asynchronous operation will now
fail.

Poor performance with GPU Virtual Functions
===========================================

Expand Down
4 changes: 0 additions & 4 deletions projects/hipfile/docs/tutorials/async-multistream-io.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,6 @@ Asynchronous multi-stream I/O with registered streams
writes it back out, and splits the work across multiple HIP streams that run
concurrently.

.. note::

Asynchronous I/O does not currently support the fastpath backend and will perform fallback I/O using a CPU bounce buffer.

When to use this pattern
=========================

Expand Down
5 changes: 0 additions & 5 deletions projects/hipfile/examples/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -152,11 +152,6 @@ deterministic pattern, issues a GPU-mediated read+write round trip on one or
more HIP streams, synchronizes, and verifies the output by FNV-1a hash. They
share the helpers in [`common`](common) and print `OK …` on success.

> **Note:** The `O_DIRECT` fast path is not currently supported for
> asynchronous I/O — async operations always run through the POSIX compat
> (fallback) path, regardless of whether the file or filesystem is
> `O_DIRECT`-capable. Fast-path async support is planned for the future.

| Program | What it shows |
| --- | --- |
| `roundtrip-async` | Async read + write on the **default stream**, a single `hipStreamSynchronize`, then verify. |
Expand Down
10 changes: 2 additions & 8 deletions projects/hipfile/include/hipfile.h
Original file line number Diff line number Diff line change
Expand Up @@ -735,11 +735,11 @@ typedef struct hipFileIOEvents {
typedef void *hipFileBatchHandle_t;

/*!
* @brief Prepare the system to perform a batch IO operation
* @brief Prepare the system to perform batch IO operations
* @ingroup batch
*
* @param [out] batch_idp \batch_handle_param
* @param [in] max_nr Maximum number of requests that can be submitted to this batch handle
* @param [in] max_nr Size of the queue for this batch handle. Cannot exceed 128.
*
* @return \hipfile_error_return
*/
Expand Down Expand Up @@ -767,8 +767,6 @@ hipFileError_t hipFileBatchIOSubmit(hipFileBatchHandle_t batch_idp, unsigned nr,
* @brief Poll for the status of completed batch IO operations
* @ingroup batch
*
* \warn_not_implemented
*
* @param [in] batch_idp \batch_handle_param
* @param [in] min_nr Minimum number of batch operation statuses that should be returned.
* If `timeout` is exceeded, fewer statuses may be returned.
Expand All @@ -788,8 +786,6 @@ hipFileError_t hipFileBatchIOGetStatus(hipFileBatchHandle_t batch_idp, unsigned
* @brief Cancels all pending batch IO operations
* @ingroup batch
*
* \warn_not_implemented
*
* @param [in] batch_idp \batch_handle_param
*
* @return \hipfile_error_return
Expand All @@ -801,8 +797,6 @@ hipFileError_t hipFileBatchIOCancel(hipFileBatchHandle_t batch_idp);
* @brief Destroys the batch IO handle and frees the associated resources
* @ingroup batch
*
* \warn_not_implemented_void
*
* @param [in] batch_idp \batch_handle_param
*/
HIPFILE_API
Expand Down
Loading