論文の概要: Generating Concurrent Programs From Sequential Data Structure Knowledge
Using Answer Set Programming
- arxiv url: http://arxiv.org/abs/2109.08298v1
- Date: Fri, 17 Sep 2021 01:49:42 GMT
- ステータス: 処理完了
- システム内更新日: 2021-09-21 02:15:54.592145
- Title: Generating Concurrent Programs From Sequential Data Structure Knowledge
Using Answer Set Programming
- Title(参考訳): 応答集合型プログラミングを用いた逐次データ構造知識からの並列プログラム生成
- Authors: Sarat Chandra Varanasi (The University of Texas at Dallas), Neeraj
Mittal (The University of Texas at Dallas), Gopal Gupta (The University of
Texas at Dallas)
- Abstract要約: 人間はしばしば、逐次バージョンをそれぞれの同時バージョンに変換することで、同時データ構造操作を設計する。
自動コモンセンス推論を用いて、この設計プロセスを機械化する。
本稿では,シーケンシャルなデータ構造を等価な並列バージョンに変換する上で,いくつかの理由について述べる。
- 参考スコア(独自算出の注目度): 1.4911092205861822
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: We tackle the problem of automatically designing concurrent data structure
operations given a sequential data structure specification and knowledge about
concurrent behavior. Designing concurrent code is a non-trivial task even in
simplest of cases. Humans often design concurrent data structure operations by
transforming sequential versions into their respective concurrent versions.
This requires an understanding of the data structure, its sequential behavior,
thread interactions during concurrent execution and shared memory
synchronization primitives. We mechanize this design process using automated
commonsense reasoning. We assume that the data structure description is
provided as axioms alongside the sequential code of its algebraic operations.
This information is used to automatically derive concurrent code for that data
structure, such as dictionary operations for linked lists and binary search
trees. Knowledge in our case is expressed using Answer Set Programming (ASP),
and we employ deduction and abduction -- just as humans do -- in the reasoning
involved. ASP allows for succinct modeling of first order theories of pointer
data structures, run-time thread interactions and shared memory
synchronization. Our reasoner can systematically make the same judgments as a
human reasoner, while constructing provably safe concurrent code. We present
several reasoning challenges involved in transforming the sequential data
structure into its equivalent concurrent version. All the reasoning tasks are
encoded in ASP and our reasoner can make sound judgments to transform
sequential code into concurrent code. To the best of our knowledge, our work is
the first one to use commonsense reasoning to automatically transform
sequential programs into concurrent code. We also have developed a tool that we
describe that relies on state-of-the-art ASP solvers and performs the reasoning
tasks involved to generate concurrent code.
- Abstract(参考訳): 逐次データ構造仕様と並列動作に関する知識を与えられた並列データ構造操作を自動設計する問題に取り組む。
最も単純な場合であっても、並列コードの設計は簡単ではない。
人間はしばしば、逐次バージョンをそれぞれの同時バージョンに変換することで、同時データ構造操作を設計する。
これは、データ構造、シーケンシャルな振る舞い、並行実行中のスレッドインタラクション、共有メモリ同期プリミティブを理解する必要がある。
自動コモンセンス推論を用いてこの設計プロセスを機械化する。
データ構造記述は代数演算のシーケンシャルコードと並行して公理として提供されると仮定する。
この情報は、リンクリストの辞書操作やバイナリ検索ツリーなどのデータ構造のための並列コードを自動的に導き出すために使用される。
私たちの場合の知識は、解答セットプログラミング(ASP)を使って表現されます。
aspはポインタデータ構造の1次理論、ランタイムスレッドインタラクション、共有メモリ同期の簡潔なモデリングを可能にする。
我々の推論者は、確実に安全な並行コードを構築しながら、人間の推論者と同じ判断を体系的に行うことができる。
逐次データ構造を等価な並列バージョンに変換する上で,いくつかの推論課題を提示する。
すべての推論タスクはaspでエンコードされ、推論者はシーケンシャルコードを並列コードに変換するために適切な判断を行うことができます。
私たちの知る限りでは、シーケンシャルプログラムを並列コードに変換するのにCommonsense reasoningを使うのは、私たちの仕事が初めてです。
我々はまた、最先端のaspソルバに依存し、並行コードを生成するための推論タスクを実行するツールも開発した。
関連論文リスト
- Language Models as Compilers: Simulating Pseudocode Execution Improves Algorithmic Reasoning in Language Models [17.76252625790628]
本稿では,言語モデルの推論過程を2段階に分解するフレームワークであるThink-and-Executeについて述べる。
7つのアルゴリズム的推論タスクについて広範な実験を行い、思考と実行の有効性を実証する。
論文 参考訳(メタデータ) (2024-04-03T08:49:11Z) - Complex Reasoning over Logical Queries on Commonsense Knowledge Graphs [61.796960984541464]
論理クエリをサンプリングして作成した新しいデータセットであるCOM2(COMplex COMmonsense)を提示する。
我々は、手書きのルールと大きな言語モデルを用いて、複数の選択とテキスト生成の質問に言語化します。
COM2でトレーニングされた言語モデルでは、複雑な推論能力が大幅に改善されている。
論文 参考訳(メタデータ) (2024-03-12T08:13:52Z) - When Do Program-of-Thoughts Work for Reasoning? [51.2699797837818]
本稿では,コードと推論能力の相関性を測定するために,複雑性に富んだ推論スコア(CIRS)を提案する。
具体的には、抽象構文木を用いて構造情報をエンコードし、論理的複雑性を計算する。
コードはhttps://github.com/zjunlp/EasyInstructのEasyInstructフレームワークに統合される。
論文 参考訳(メタデータ) (2023-08-29T17:22:39Z) - Query Structure Modeling for Inductive Logical Reasoning Over Knowledge
Graphs [67.043747188954]
KGに対する帰納的論理的推論のための構造モデル付きテキスト符号化フレームワークを提案する。
線形化されたクエリ構造とエンティティを、事前訓練された言語モデルを使ってエンコードして、回答を見つける。
2つの帰納的論理推論データセットと3つの帰納的推論データセットについて実験を行った。
論文 参考訳(メタデータ) (2023-05-23T01:25:29Z) - Locksynth: Deriving Synchronization Code for Concurrent Data Structures
with ASP [6.105901090451622]
並列データ構造に対する破壊的な更新に必要な同期を自動的に導出するツールである Locksynth を提案する。
Locksynthは、抽象同期コードの導出に関するこれまでの作業の実装として機能します。
論文 参考訳(メタデータ) (2023-05-20T20:28:20Z) - ORCHARD: A Benchmark For Measuring Systematic Generalization of
Multi-Hierarchical Reasoning [8.004425059996963]
本稿では,Transformer と LSTM のモデルが体系的一般化において驚くほど失敗することを示す。
また、階層間の参照の増加に伴い、Transformerはランダムにしか動作しないことを示す。
論文 参考訳(メタデータ) (2021-11-28T03:11:37Z) - Discovering Non-monotonic Autoregressive Orderings with Variational
Inference [67.27561153666211]
我々は、訓練データから高品質な生成順序を純粋に検出する、教師なし並列化可能な学習装置を開発した。
エンコーダを非因果的注意を持つトランスフォーマーとして実装し、1つのフォワードパスで置換を出力する。
言語モデリングタスクにおける経験的結果から,我々の手法は文脈認識であり,一定の順序と競合する,あるいはより優れた順序を見つけることができる。
論文 参考訳(メタデータ) (2021-10-27T16:08:09Z) - Contrastive Learning for Source Code with Structural and Functional
Properties [66.10710134948478]
本稿では,ソースコードの特徴に基づいて事前学習に焦点を当てた,新たな自己教師型モデルBOOSTを提案する。
私たちは、機能的に等価なコードを生成する自動化された構造誘導型コード変換アルゴリズムを採用しています。
私たちは、対照的な学習目標を通じて、機能的に等価なコードをより近く、異なるコードに近づける方法で、モデルをトレーニングします。
論文 参考訳(メタデータ) (2021-10-08T02:56:43Z) - GraphCodeBERT: Pre-training Code Representations with Data Flow [97.00641522327699]
本稿では,コード固有の構造を考慮したプログラミング言語の事前学習モデルであるGraphCodeBERTを提案する。
これは変数間の"where-the-value-comes-from"の関係をエンコードするコードのセマンティックレベルの構造です。
コード検索,クローン検出,コード翻訳,コード改良の4つのタスクにおいて,本モデルを評価する。
論文 参考訳(メタデータ) (2020-09-17T15:25:56Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。