Saved in:
Bibliographic Details
Main Authors: Chen, Ethan, Chang, Jiwon, Zhu, Yuhao
Format: Preprint
Published: 2024
Subjects:
Online Access:https://arxiv.org/abs/2409.02771
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866916381764616192
author Chen, Ethan
Chang, Jiwon
Zhu, Yuhao
author_facet Chen, Ethan
Chang, Jiwon
Zhu, Yuhao
contents Color programmers manipulate lights, materials, and the resulting colors from light-material interactions. Existing libraries for color programming provide only a thin layer of abstraction around matrix operations. Color programs are, thus, vulnerable to bugs arising from mathematically permissible but physically meaningless matrix computations. Correct implementations are difficult to write and optimize. We introduce CoolerSpace to facilitate physically correct and computationally efficient color programming. CoolerSpace raises the level of abstraction of color programming by allowing programmers to focus on describing the logic of color physics. Correctness and efficiency are handled by CoolerSpace. The type system in CoolerSpace assigns physical meaning and dimensions to user-defined objects. The typing rules permit only legal computations informed by color physics and perception. Along with type checking, CoolerSpace also generates performance-optimized programs using equality saturation. CoolerSpace is implemented as a Python library and compiles to ONNX, a common intermediate representation for tensor computations. CoolerSpace not only prevents common errors in color programming, but also does so without run-time overhead: even unoptimized CoolerSpace programs out-perform existing Python-based color programming systems by up to 5.7 times; our optimizations provide up to an additional 1.4 times speed-up.
format Preprint
id arxiv_https___arxiv_org_abs_2409_02771
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle CoolerSpace: A Language for Physically Correct and Computationally Efficient Color Programming
Chen, Ethan
Chang, Jiwon
Zhu, Yuhao
Programming Languages
Graphics
Color programmers manipulate lights, materials, and the resulting colors from light-material interactions. Existing libraries for color programming provide only a thin layer of abstraction around matrix operations. Color programs are, thus, vulnerable to bugs arising from mathematically permissible but physically meaningless matrix computations. Correct implementations are difficult to write and optimize. We introduce CoolerSpace to facilitate physically correct and computationally efficient color programming. CoolerSpace raises the level of abstraction of color programming by allowing programmers to focus on describing the logic of color physics. Correctness and efficiency are handled by CoolerSpace. The type system in CoolerSpace assigns physical meaning and dimensions to user-defined objects. The typing rules permit only legal computations informed by color physics and perception. Along with type checking, CoolerSpace also generates performance-optimized programs using equality saturation. CoolerSpace is implemented as a Python library and compiles to ONNX, a common intermediate representation for tensor computations. CoolerSpace not only prevents common errors in color programming, but also does so without run-time overhead: even unoptimized CoolerSpace programs out-perform existing Python-based color programming systems by up to 5.7 times; our optimizations provide up to an additional 1.4 times speed-up.
title CoolerSpace: A Language for Physically Correct and Computationally Efficient Color Programming
topic Programming Languages
Graphics
url https://arxiv.org/abs/2409.02771