AUTOMAP: Inferring Rank-Polymorphic Function Applications with Integer Linear Programming

被引:0
|
作者
Schenck, Robert [1 ]
Hinnerskov, Nikolaj Hey [1 ]
Henriksen, Troels [1 ]
Madsen, Magnus [2 ]
Elsman, Martin [1 ]
机构
[1] Univ Copenhagen, Copenhagen, Denmark
[2] Aarhus Univ, Aarhus, Denmark
来源
关键词
data parallelism; constraint-based type systems; array programming;
D O I
10.1145/3689774
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Dynamically typed array languages such as Python, APL, and Matlab lift scalar operations to arrays and replicate scalars to fit applications. We present a mechanism for automatically inferring map and replicate operations in a statically-typed language in a way that resembles the programming experience of a dynamically-typed language while preserving the static typing guarantees. Our type system-which supports parametric polymorphism, higher-order functions, and top-level let-generalization-makes use of integer linear programming in order to find the minimum number of operations needed to elaborate to a well-typed program. We argue that the inference system provides useful and unsurprising guarantees to the programmer. We demonstrate important theoretical properties of the mechanism and report on the implementation of the mechanism in the statically-typed array programming language Futhark.
引用
收藏
页数:27
相关论文
共 36 条
  • [1] NOTE ON RANK FUNCTION AND INTEGER PROGRAMMING
    WOODALL, DR
    DISCRETE MATHEMATICS, 1977, 17 (02) : 215 - 218
  • [2] A Method for Inferring Polymers Based on Linear Regression and Integer Programming
    Ido, Ryota
    Cao, Shengjuan
    Zhu, Jianshen
    Azam, Naveed Ahmed
    Haraguchi, Kazuya
    Zhao, Liang
    Nagamochi, Hiroshi
    Akutsu, Tatsuya
    IEEE-ACM TRANSACTIONS ON COMPUTATIONAL BIOLOGY AND BIOINFORMATICS, 2024, 21 (06) : 1623 - 1632
  • [3] Applications of an Improved PSO in Integer Linear Programming
    Wang, Ying
    Journal of Computers (Taiwan), 2021, 32 (06) : 98 - 106
  • [4] Method of non-linear penalty function for solving integer programming and mixed integer programming
    Meng, Zhi-Qing
    Hu, Qi-Ying
    Yang, Xiao-Qi
    Kongzhi yu Juece/Control and Decision, 2002, 17 (03): : 310 - 314
  • [5] CONVEX ANALYSIS IN Zn AND APPLICATIONS TO INTEGER LINEAR PROGRAMMING
    Li, Jun
    Mastroeni, Giandomenico
    SIAM JOURNAL ON OPTIMIZATION, 2020, 30 (04) : 2809 - 2840
  • [6] A New Subclass of Integer Linear Programming Problems and Its Applications
    Wang, Yue-Li
    Hsu, Cheng-Ju
    Liu, Jia-Jie
    Ko, Ming-Tat
    Wang, Fu-Hsing
    IEEE TRANSACTIONS ON COMPUTERS, 2012, 61 (12) : 1813 - 1822
  • [7] An integer linear programming model for mapping applications on hybrid systems
    Theodoridis, G.
    Vassiliadis, N.
    Nikolaidis, S.
    IET COMPUTERS AND DIGITAL TECHNIQUES, 2009, 3 (01): : 33 - 42
  • [8] Integer Linear Programming in Designing Universal Arrays with Multiplexed Applications
    Rahman, Atif
    Naznin, Mahmuda
    Hasan, Masud
    ICECT: 2009 INTERNATIONAL CONFERENCE ON ELECTRONIC COMPUTER TECHNOLOGY, PROCEEDINGS, 2009, : 215 - 218
  • [9] Piecewise Linear Function Fitting via Mixed-Integer Linear Programming
    Rebennack, Steffen
    Krasko, Vitally
    INFORMS JOURNAL ON COMPUTING, 2020, 32 (02) : 507 - 530
  • [10] A mixed integer linear programming (MILP) framework for inferring time delay in gene regulatory networks
    Dasika, MS
    Gupta, A
    Maranas, CD
    PACIFIC SYMPOSIUM ON BIOCOMPUTING 2004, 2003, : 474 - 485