gptq VS HIPIFY

Compare gptq vs HIPIFY and see what are their differences.

gptq

Code for the ICLR 2023 paper "GPTQ: Accurate Post-training Quantization of Generative Pretrained Transformers". (by IST-DASLab)

HIPIFY

HIPIFY: Convert CUDA to Portable C++ Code [Moved to: https://github.com/ROCm/HIPIFY] (by ROCm-Developer-Tools)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
gptq HIPIFY
8 11
1,725 318
3.8% -
4.4 0.0
about 2 months ago 5 months ago
Python C++
Apache License 2.0 MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

gptq

Posts with mentions or reviews of gptq. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-09-12.
  • Do large language models need all those layers?
    1 project | news.ycombinator.com | 15 Dec 2023
    I think it's not that LLMs have redundant layers in general - it's a specific problem with OPT-66B, not anything else.

    An 2022 paper "Scaling Language Models: Methods, Analysis & Insights from Training Gopher" (http://arxiv.org/abs/2112.11446) has captured it well on page 103, Appendix G:

    > The general finding is that whilst compressing models for a particular application has seen success, it is difficult to compress them for the objective of language modelling over a diverse corpus.

    The appendix G explores various techniques like pruning and distillation but found that neither method was an efficient way to obtain better loss at lower number of parameters.

    So why does pruning work for OPT-66B in particular? I'm not sure but there are evidence that OPT-66B is an outlier: one evidence is in the GPTQ paper ("GPTQ: Accurate Post-Training Quantization for Generative Pre-trained Transformers", https://arxiv.org/abs/2210.17323) that mentions in its footnote on its 7th page:

    > [2] Upon closer inspection of the OPT-66B model, it appears that this is correlated with the fact that this trained

  • 70B Llama 2 at 35tokens/second on 4090
    6 projects | news.ycombinator.com | 12 Sep 2023
    Can anyone provide any additional details on the EXL2[0]/GPTQ[1] quantisation, which seems to be the main reason for a speedup in this model?

    I had a quick look at the paper which is _reasonably_ clear, but if anyone else has any other sources that are easy to understand, or a quick explanation to give more insight into it, I'd appreciate it.

    [0] https://github.com/turboderp/exllamav2#exl2-quantization

    [1] https://arxiv.org/abs/2210.17323

  • OpenAssistant's RLHF Models
    1 project | /r/LocalLLaMA | 2 Jun 2023
    GPTQ is better than GGML quantization, because it reoptimizes the weights to compensate for the lost accuracy. With 4 bit and groupsize 128 it can approximate, the FP16 performance pretty good. GGML just does round to nearest (RTN) without reoptimizing the weights against some dataset (generally the C4 dataset, as per default GPTQ-for-LLaMA configuration). But llama.cpp could probably implement such a method themselves, the paper is freely available: https://arxiv.org/abs/2210.17323
  • The tiny corp raised $5.1M
    3 projects | news.ycombinator.com | 25 May 2023
    When you click on the strip link to preorder the tinybox, it is advertised as a box running LLaMA 65B FP16 for $15000.

    I can run LLaMA 65B GPTQ4b on my $2300 PC (used parts, Dual RTX 3090), and according to the GPTQ paper(§) the quality of the model will not suffer much at all by the quantization.

    (§) https://arxiv.org/abs/2210.17323

  • Newbie doesn't know what he's doing...
    1 project | /r/Oobabooga | 22 May 2023
  • Seeking clarification about LLM's, Tools, etc.. for developers.
    2 projects | /r/LocalLLaMA | 19 May 2023
    GPTQ is another quantization method, that works only for transformer model architectures. It quantizes the stored model weights in a non-linear fashion, and ends up having better quality compared to just linear quantization into a smaller data type. GPTQ has a triton and a cuda branch, which was tricky initially, as it lead to a lot of confusion and non-compatibility especially on windows.
  • How to run Llama 13B with a 6GB graphics card
    12 projects | news.ycombinator.com | 14 May 2023
    Training uses gradient descent, so you want to have good precision during that process. But once you have the overall structure of the network, https://arxiv.org/abs/2210.17323 (GPTQ) showed that you can cut down the precision quite a bit without losing a lot of accuracy. It seems you can cut down further for larger models. For the 13B Llama-based ones, going below 5 bit per parameter is noticeably worse, but for 30B models you can do 4 bits.

    The same group did another paper https://arxiv.org/abs/2301.00774 which shows that in addition to reducing the precision of each parameter, you can also prune out a bunch of parameters entirely. It's harder to apply this optimization because models are usually loaded into RAM densely, but I hope someone figures out how to do it for popular models.

  • #StandAgainstFloats
    2 projects | /r/ProgrammerHumor | 13 May 2023
    This is the one everybody's using to quantize language models. It includes a link to the paper explaining their algorithm.

HIPIFY

Posts with mentions or reviews of HIPIFY. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-05-14.
  • AMD Hip SDK: Making CUDA Applications Run Across Consumer, Pro GPUs and APUs
    1 project | news.ycombinator.com | 5 Aug 2023
    Right. I can't speak to its correctness/completeness as I've only done a quick installation and smoke test of the ROCm/HIP/MIOpen stack, but there's even a tool that automates the translation [1].

    [1] https://github.com/ROCm-Developer-Tools/HIPIFY

  • How to run Llama 13B with a 6GB graphics card
    12 projects | news.ycombinator.com | 14 May 2023
  • How Nvidia’s CUDA Monopoly in Machine Learning Is Breaking
    2 projects | news.ycombinator.com | 16 Jan 2023
    From https://news.ycombinator.com/item?id=32904285 re: AMD Rocm, HIPIFY, :

    >> ROCm-Developer-Tools/HIPIFY https://github.com/ROCm-Developer-Tools/HIPIFY :

    >> hipify-clang is a clang-based tool for translating CUDA sources into HIP sources. It translates CUDA source into an abstract syntax tree, which is traversed by transformation matchers. After applying all the matchers, the output HIP source is produced.

    > ROCm-Developer-Tools/HIPIFY https://github.com/ROCm-Developer-Tools/HIPIFY :

    >> hipify-clang is a clang-based tool for translating CUDA sources into HIP sources. It translates CUDA source into an abstract syntax tree, which is traversed by transformation matchers. After applying all the matchers, the output HIP source is produced.

    > AMD ROcm supports Pytorch, TensorFlow, MlOpen, rocBLAS on NVIDIA and AMD GPUs: https://rocmdocs.amd.com/en/latest/Deep_learning/Deep-learni...

  • Stable Diffusion on AMD RDNA3
    5 projects | news.ycombinator.com | 21 Dec 2022
    > Thus, the idea is that through typically negligible effort porting to HiP, your code becomes vendor-independent.

    Here, the big AMD mistake was to rename those function prefixes in the first place. It's a mistake that they could have avoided...

    What a lot of SW codebases did to support AMD (see PyTorch code notably): codebase is still CUDA, have the conversion pass to HIP done at build time.

    See https://github.com/ROCm-Developer-Tools/HIPIFY/blob/amd-stag... for the Perl script to do it.

    Then comes the problem of AMD not supporting ROCm HIP on most of their hardware or user base.

    On Windows, the ROCm HIP SDK is private and only available under NDA. This means that while you can use Blender w/ HIP on Windows, the Blender builds that you compile yourself will not be able to use ROCm HIP.

    On Linux, the supported GPUs are few and far between, Vega20 onwards are supported today. APUs, RDNA1, and lower end RDNA2 w/o unsupported hacks (6700 XT and below) are excluded.

  • AI Seamless Texture Generator Built-In to Blender
    15 projects | news.ycombinator.com | 19 Sep 2022
    https://rocmdocs.amd.com/en/latest/Deep_learning/Deep-learni...

    RadeonOpenCompute/ROCm_Documentation: https://github.com/RadeonOpenCompute/ROCm_Documentation

    ROCm-Developer-Tools/HIPIFYhttps://github.com/ROCm-Developer-Tools/HIPIFY :

    > hipify-clang is a clang-based tool for translating CUDA sources into HIP sources. It translates CUDA source into an abstract syntax tree, which is traversed by transformation matchers. After applying all the matchers, the output HIP source is produced.

    ROCmSoftwarePlatform/gpufort: https://github.com/ROCmSoftwarePlatform/gpufort :

    > GPUFORT: S2S translation tool for CUDA Fortran and Fortran+X in the spirit of hipify

    ROCm-Developer-Tools/HIP https://github.com/ROCm-Developer-Tools/HIP:

    > HIP is a C++ Runtime API and Kernel Language that allows developers to create portable applications for AMD and NVIDIA GPUs from single source code. [...] Key features include:

    > - HIP is very thin and has little or no performance impact over coding directly in CUDA mode.

    > - HIP allows coding in a single-source C++ programming language including features such as templates, C++11 lambdas, classes, namespaces, and more.

    > - HIP allows developers to use the "best" development environment and tools on each target platform.

    > - The [HIPIFY] tools automatically convert source from CUDA to HIP.

    > - * Developers can specialize for the platform (CUDA or AMD) to tune for performance or handle tricky cases.*

  • 单位要求五一之后上缴旧电脑,统一换国产新电脑、新系统,由于不兼容windows软件,所以还要装个windows模拟器,导致办公效率倒退10年。主任吐槽说,这不是用落后代替先进么,我心说连他都看出来了。
    1 project | /r/CLTV | 29 Apr 2022
    并且有一个自动转换工具 https://github.com/ROCm-Developer-Tools/HIPIFY https://rocmdocs.amd.com/en/latest/Programming_Guides/HIP-porting-guide.html
  • Hipify: Convert CUDA to Portable C++ Code
    1 project | news.ycombinator.com | 31 Jul 2021
  • Hipify: Convert CUDA to Portable Hip C++ Code
    1 project | news.ycombinator.com | 2 Jun 2021
  • Deep Learning options on Radeon RX 6800
    4 projects | /r/Amd | 16 Apr 2021
    It might be worth checking out HIPIFY, which lets you automatically convert CUDA code to vendor neutral code that can be run on any GPU. Disclaimer, I have never used it and have no idea how it works.
  • Will NVIDIA's cryptocurrency limiter interfere with nouveau drivers?
    4 projects | /r/linux | 22 Feb 2021
    CUDA zu AMD HIP conversion: https://github.com/ROCm-Developer-Tools/HIPIFY

What are some alternatives?

When comparing gptq and HIPIFY you can also consider the following projects:

OmniQuant - [ICLR2024 spotlight] OmniQuant is a simple and powerful quantization technique for LLMs.

ZLUDA - CUDA on AMD GPUs

triton - Development repository for the Triton language and compiler

ROCm - AMD ROCm™ Software - GitHub Home [Moved to: https://github.com/ROCm/ROCm]

coriander - Build NVIDIA® CUDA™ code for OpenCL™ 1.2 devices

ncnn - ncnn is a high-performance neural network inference framework optimized for the mobile platform

FastChat - An open platform for training, serving, and evaluating large language models. Release repo for Vicuna and Chatbot Arena.

llama-cpp-python - Python bindings for llama.cpp

llama.cpp - LLM inference in C/C++

rocm-build - build scripts for ROCm

mlc-llm - Enable everyone to develop, optimize and deploy AI models natively on everyone's devices.

kompute - General purpose GPU compute framework built on Vulkan to support 1000s of cross vendor graphics cards (AMD, Qualcomm, NVIDIA & friends). Blazing fast, mobile-enabled, asynchronous and optimized for advanced GPU data processing usecases. Backed by the Linux Foundation.