diff --git a/infiniop/ops/spmv/README.md b/infiniop/ops/spmv/README.md
new file mode 100644
index 0000000..91e70f2
--- /dev/null
+++ b/infiniop/ops/spmv/README.md
@@ -0,0 +1,113 @@
+# `SPMV`
+
+`SPMV`,即**稀疏矩阵向量乘法**算子。计算公式为:
+
+$$ y = A * x $$
+
+其中:
+
+- `A` 为稀疏矩阵。
+- `x` 为输入稠密向量。
+- `y` 为输出的稠密向量。
+
+## 接口
+
+### 计算
+
+```c
+infiniStatus_t infiniopSpMV(
+ infiniopSpMVDescriptor_t desc,
+ void *y,
+ const void *x,
+ const void *values,
+ const void *row_ptr,
+ const void *col_indices,
+ void *stream
+);
+```
+
+
参数:
+
+- `desc`:
+ 已使用 `infiniopCreateSpMVDescriptor()` 初始化的算子描述符。
+- `y`:
+ 计算输出向量。
+- `x`:
+ 输入向量。
+- `values`:
+ 稀疏矩阵的非零元素值数组。
+- `row_ptr`:
+ 稀疏矩阵的行偏移数组。
+- `col_indices`:
+ 稀疏矩阵的列索引数组。
+- `stream`:
+ 计算流/队列。
+
+ 返回值:
+
+- [`INFINI_STATUS_SUCCESS`], [`INFINI_STATUS_BAD_PARAM`], [`INFINI_STATUS_DEVICE_TYPE_NOT_SUPPORTED`], [`INFINI_STATUS_INTERNAL_ERROR`].
+
+### 创建算子描述
+
+```c
+infiniStatus_t infiniopCreateSpMVDescriptor(
+ infiniopHandle_t handle,
+ infiniopSpMVDescriptor_t *desc_ptr,
+ size_t num_cols,
+ size_t num_rows,
+ size_t nnz,
+ infiniDtype_t dtype
+);
+```
+
+ 参数:
+
+- `handle`:
+ `infiniopHandle_t` 类型的硬件控柄。详情请看:[`InfiniopHandle_t`]
+- `desc_ptr`:
+ 指向将被初始化的算子描述符地址。
+- `num_cols`:
+ 稀疏矩阵的列数。
+- `num_rows`:
+ 行偏移数组长度。
+- `nnz`:
+ 非零元素数量。
+- `dtype`:
+ 数据类型(当前仅支持 `Float32`)。
+
+ 参数限制:
+
+- `num_cols` > 0;
+- `num_rows` > 0;
+- `nnz` > 0;
+- `dtype`: 当前仅支持 `Float32`;
+
+ 返回值:
+
+- [`INFINI_STATUS_SUCCESS`], [`INFINI_STATUS_BAD_PARAM`], [`INFINI_STATUS_BAD_TENSOR_DTYPE`], [`INFINI_STATUS_DEVICE_TYPE_NOT_SUPPORTED`].
+
+### 销毁算子描述符
+
+```c
+infiniStatus_t infiniopDestroySpMVDescriptor(
+ infiniopSpMVDescriptor_t desc
+);
+```
+
+ 参数:
+
+- `desc`:
+ 输入。待销毁的算子描述符。
+
+ 返回值:
+
+- [`INFINI_STATUS_SUCCESS`], [`INFINI_STATUS_DEVICE_TYPE_NOT_SUPPORTED`].
+
+
+[`InfiniopHandle_t`]: /infiniop/handle/README.md
+
+[`INFINI_STATUS_SUCCESS`]:/common/status/README.md#INFINI_STATUS_SUCCESS
+[`INFINI_STATUS_BAD_PARAM`]:/common/status/README.md#INFINI_STATUS_BAD_PARAM
+[`INFINI_STATUS_DEVICE_TYPE_NOT_SUPPORTED`]:/common/status/README.md#INFINI_STATUS_DEVICE_TYPE_NOT_SUPPORTED
+[`INFINI_STATUS_INTERNAL_ERROR`]:/common/status/README.md#INFINI_STATUS_INTERNAL_ERROR
+[`INFINI_STATUS_BAD_TENSOR_DTYPE`]:/common/status/README.md#INFINI_STATUS_BAD_TENSOR_DTYPE
\ No newline at end of file