Giter VIP home page Giter VIP logo

fineco-system's Introduction

FineCo


This repository contains the source code for a research paper that was submitted for publication at the Proceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming 2024 (PPoPP 2024).

What is FineCo


FineCo is a runtime system that can significantly improve the goodput of concurrent DNN inferences. The key idea of FineCo is to manage shared resources between kernels in inference requests in a fine-grained manner to alleviate resource competition and avoid resource waste.

Environment Preparation


  • Hardware&software requirements

    • Hardware Requirements
    • CPU: Intel(R) Xeon(R) Silver 4210R CPU @ 2.40GHz
    • Memroy: 252G
    • NVIDIA Ampere 100 or AMD MI100
  • Software Requirements

  • Ubuntu 20.04.1 (Kernel 5.8.0)

  • GPU Driver: 515.43.04

  • CUDA 11.7

  • Python 3.8.1

Getting Started


The following sections step through the things required to run FineCo.

Code generation for fine-grained resource management (Optional

  • Note: For NVIDIA A100 and AMD MI100, we have placed the generated kernel in the FineCo runtime directory. For example, the implementation of the first depthwise Conv2d operator in MobileNet is in ppopp24-fineco/runtime/fineco/include/kernel/cuda/ MobileNet/depthwise_conv2d_1
  • Build FineCo Compiler: If you want to generate multiple resource-aware codes on different devices, you need to compile our modified TVM:
cd compiler/tvm (CUDA backend) or cd compiler/tvm-hip (HIP backend)
mkdir build && cd build
cp ../config.cmake .
cmake .. && make -j 8
  • Generate resource-aware candidate code implementations
cd ppopp24-fineco/runtime/fineco/code_gen
python3 offline_run.py

Performance Evaluation


  • Compiler performance evaluation
cd ppopp24-fineco/runtime/fineco/code_gen
python3 search_speace.py
  • Runtime performance evaluation
bash build.sh
./main.out

fineco-system's People

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.