Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • T Trilinos
  • Project information
    • Project information
    • Activity
    • Labels
    • Planning hierarchy
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 936
    • Issues 936
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 22
    • Merge requests 22
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • James Willenbring
  • Trilinos
  • Issues
  • #1195

Closed
Open
Created Mar 30, 2017 by James Willenbring@jmwilleMaintainer

Tpetra: Use new cuBLAS API for dense matrix-matrix multiply

Created by: mhoemmen

@trilinos/tpetra See #1194 (closed) for justification and discussion.

Use new cuBLAS API

The cuBLAS manual says that "Starting with version 4.0, the cuBLAS Library provides a new updated API, in addition to the existing legacy API. . . . The new cuBLAS library API can be used by including the header file 'cublas_v2.h'."

http://docs.nvidia.com/cuda/cublas/

The manual also says: "In general, new applications should not use the legacy cuBLAS API, and existing existing applications should convert to using the new API if it requires sophisticated and optimal stream parallelism or if it calls cuBLAS routines concurrently from multiple threads."

Support concurrent tasks

One Tpetra goal is to support use of multiple Kokkos execution spaces (e.g., CUDA streams) concurrently, in order to support task parallelism. Switching to the new cuBLAS API, that takes a "context" handle, will help with that.

Assignee
Assign to
Time tracking