NVIDIA / NVIDIA/cutlass

[QST] int8 Conv2D for volta V100

Open
#1,964 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

? - Needs Triage inactive-30d inactive-90d question
Dominant language
C++
Stars
10.5k
Forks
2.1k
Avg merge
3d 11h
Merged PRs (30d)
7

Description

What is your question?

Hey I use following script to emit the cuda kernel for the Nvidia V100:

import torch
import random

import cutlass

dtype = torch.int32
type_A = torch.int8
type_B = torch.int8
type_C = torch.int32
type_D = torch.int32


plan = cutlass.Conv2dFprop(element=dtype, element_input=type_A, element_weight=type_B, element_C=type_C ,element_output=type_D, element_accumulator=type_D)
op = plan.construct()
conv_layer = cutlass.emit.pytorch(op, name='conv_layer', cc=plan.cc, sourcedir='conv', jit=True)

I tried a couple of configuration datatypes. Float works just fine. But I want them to be integer-8 Input and weights. And it should be possible with idp4a instruction set, right ?
Any ideas ? - thanks in advance !

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the supplied Python script, focusing on the cutlass.Conv2dFprop configuration and cutlass.emit.pytorch entry point for int8 inputs and weights. Determine whether this configuration is supported for the V100 and document a confirmed working configuration or the missing support; the issue currently provides no failing output or target file.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, python, pytorch
Domain
machine-learning, performance
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.