論文検索アンテナ

論文検索をすこし身近に、すこしべんりに。

の検索結果

Rumpfr: A Fast and Memory Leak-free Rust Binding to the GNU MPFR Library CiNiiでみる

著者名:
Tomoya Michinaka  Hideyuki Kawabata  Tetsuo Hironaka 

抄録:
The GNU MPFR library for arbitrary-precision floating-point arithmetic is widely used, and its Foreign Function Interface bindings to various languages have been developed. For the Rust programming language, existing bindings to the MPFR library include gmp-mpfr-sys (a low-level binding) and Rug (a binding that utilizes gmp-mpfr-sys to provide a more user-friendly interface). However, neither has sufficient descriptiveness and performance as bindings for general users of Rust, which is a programming language featuring high memory safety and high speed. We have developed a Rust binding, Rumpfr, to the MPFR library, that offers an easy way to write programs that perform high-speed multiple-precision floating-point computation. Rumpfr provides an interface that follows that of the MPFR library but hides the complexity of managing the mantissa area of floating-point numbers from the user. Rumpfr uses Rust's variable-length arrays to allocate mantissa areas, making it easy to handle without compromising Rust's high memory safety. In this paper, we describe the design and implementation of Rumpfr and present the results of numerical experiments demonstrating that Rumpfr can be used to write programs with low overhead.------------------------------This is a preprint of an article intended for publication Journal ofInformation Processing(JIP). This preprint should not be cited. Thisarticle should be cited as: Journal of Information Processing Vol.29(2021) (online)------------------------------The GNU MPFR library for arbitrary-precision floating-point arithmetic is widely used, and its Foreign Function Interface bindings to various languages have been developed. For the Rust programming language, existing bindings to the MPFR library include gmp-mpfr-sys (a low-level binding) and Rug (a binding that utilizes gmp-mpfr-sys to provide a more user-friendly interface). However, neither has sufficient descriptiveness and performance as bindings for general users of Rust, which is a programming language featuring high memory safety and high speed. We have developed a Rust binding, Rumpfr, to the MPFR library, that offers an easy way to write programs that perform high-speed multiple-precision floating-point computation. Rumpfr provides an interface that follows that of the MPFR library but hides the complexity of managing the mantissa area of floating-point numbers from the user. Rumpfr uses Rust's variable-length arrays to allocate mantissa areas, making it easy to handle without compromising Rust's high memory safety. In this paper, we describe the design and implementation of Rumpfr and present the results of numerical experiments demonstrating that Rumpfr can be used to write programs with low overhead.------------------------------This is a preprint of an article intended for publication Journal ofInformation Processing(JIP). This preprint should not be cited. Thisarticle should be cited as: Journal of Information Processing Vol.29(2021) (online)------------------------------

出版年月日:
2021-09-30 , 
巻:
14 , 
号:
4 , 
ページ:
- , 
ISSN:
1882-7802

PelemayFp: An Efficient Parallelization Library for Elixir Based on Skeletons for Data Parallelism CiNiiでみる

著者名:
Susumu Yamazaki 

抄録:
In this presentation, we propose Pelemay Fast Parallel map (PelemayFp), which is a library to parallelize Elixir code, efficiently, based on skeletons for data parallelism. PelemayFp is implemented using only Elixir, like Flow, which is a library of previous works. In Flow, the order of the list after computation is not guaranteed, while in PelemayFp, the order of the list is guaranteed because it is sorting while collecting and merging. On the other hand, Pelemay Super Parallelism (Pelemay), which we proposed, generates native code using SIMD instructions and calls it by NIFs, which is one of FFIs that Erlang provides, without performing multi-core parallelism, guaranteeing the order of the list. We evaluated the integer arithmetic performance by logistic mapping of PelemayFp alone, Pelemay alone, the combination of PelemayFp and Pelemay, Flow, and Enum, which is in the standard library of Elixir. When run on an Intel Xeon W-2191B CPU with 18 cores and 36 threads, the PelemayFp alone is up to 2.1 times faster than Enum. It is also faster than Flow without sorting. On the other hand, the combination of PelemayFp and Pelemay is up to 1.27 times faster than Enum. We also estimated the percentage of parallel execution in the entire code based on Amdahl's law. That of PelemayFp is 48-66 percent, while that of the combination of PelemayFp and Pelemay is 21-46 percent. Further analysis revealed that this experimental results can be explained by assuming that when calling native code from Elixir with NIFs, the part that is not executed in parallel increases by about 40 percent. Therefore, when generating native code including SIMD instructions and adopting the approach of parallelizing with Elixir for speeding up, it will be appropriate to incorporate a code optimization mechanism using SIMD instructions into the JIT, which will be released in the next major version of Erlang, or to use another FFI method, Port, instead of using NIFs.In this presentation, we propose Pelemay Fast Parallel map (PelemayFp), which is a library to parallelize Elixir code, efficiently, based on skeletons for data parallelism. PelemayFp is implemented using only Elixir, like Flow, which is a library of previous works. In Flow, the order of the list after computation is not guaranteed, while in PelemayFp, the order of the list is guaranteed because it is sorting while collecting and merging. On the other hand, Pelemay Super Parallelism (Pelemay), which we proposed, generates native code using SIMD instructions and calls it by NIFs, which is one of FFIs that Erlang provides, without performing multi-core parallelism, guaranteeing the order of the list. We evaluated the integer arithmetic performance by logistic mapping of PelemayFp alone, Pelemay alone, the combination of PelemayFp and Pelemay, Flow, and Enum, which is in the standard library of Elixir. When run on an Intel Xeon W-2191B CPU with 18 cores and 36 threads, the PelemayFp alone is up to 2.1 times faster than Enum. It is also faster than Flow without sorting. On the other hand, the combination of PelemayFp and Pelemay is up to 1.27 times faster than Enum. We also estimated the percentage of parallel execution in the entire code based on Amdahl's law. That of PelemayFp is 48-66 percent, while that of the combination of PelemayFp and Pelemay is 21-46 percent. Further analysis revealed that this experimental results can be explained by assuming that when calling native code from Elixir with NIFs, the part that is not executed in parallel increases by about 40 percent. Therefore, when generating native code including SIMD instructions and adopting the approach of parallelizing with Elixir for speeding up, it will be appropriate to incorporate a code optimization mechanism using SIMD instructions into the JIT, which will be released in the next major version of Erlang, or to use another FFI method, Port, instead of using NIFs.

出版年月日:
2021-09-30 , 
巻:
14 , 
号:
4 , 
ページ:
4-4 , 
ISSN:
1882-7802

コロナ禍での大学図書館受託現場におけるニューノーマル CiNiiでみる

著者名:
後藤 陽子 

抄録:

出版年月日:
2021-09 , 
巻:
, 
号:
203 , 
ページ:
8-16 , 
ISSN:
1342-1905

図書館を取り巻く著作権の現状(前編)図書館法との比較を通してみる著作権法(1) CiNiiでみる

著者名:
我妻 潤子 

抄録:

出版年月日:
2021-09 , 
巻:
, 
号:
203 , 
ページ:
1-7 , 
ISSN:
1342-1905

金田平一郎旧蔵書 CiNiiでみる

著者名:
和仁 かや  梶嶋 政司  山根 泰志  宮嶋 舞美 

抄録:
昭和初期から第二次世界大戦直後の九州帝国大学法文学部で法制史講座を担った金田平一郎博士の旧蔵書は,没後その多くが九州大学に納入され長らく分散排架されていたが,70年近くを経てこの度集約・文庫化に至った.本稿ではかかる経緯や目録リストを含めた概要とともに,復元された旧蔵書から判明する金田の関心や当時の学問環境の一端,並びに新規寄贈資料から明らかとなった『御触書集成』刊行にまつわる知見を紹介し,「文庫化」という営為が齎す意義についても考察する.

出版年月日:
2021-08 , 
巻:
, 
号:
2020 , 
ページ:
1-28 , 
ISSN:
1881-3542

【資料】国立公文書館内閣文庫蔵『新増鷹鶻方』(函号三〇六―三〇七)全文紹介 CiNiiでみる

著者名:
二本松 泰子 

抄録:

出版年月日:
2021-07 , 
巻:
, 
号:
5 , 
ページ:
78-88 , 
ISSN:
2435-1024

利用者カードをめぐる最近の動向 : 公共図書館を中心とした CiNiiでみる

著者名:
和知 剛 

抄録:

出版年月日:
2021-06-20 , 
巻:
, 
号:
348 , 
ページ:
13-15 , 
ISSN:
0387-8007

図書館に求められる水害への備え CiNiiでみる

著者名:
加藤 孔敬  川島 宏 

抄録:

出版年月日:
2021-06-20 , 
巻:
, 
号:
348 , 
ページ:
5-8 , 
ISSN:
0387-8007

イベントのオンライン化によって得られたもの : 図書館総合展の事例 CiNiiでみる

著者名:
長沖 竜二 

抄録:

出版年月日:
2021-06-20 , 
巻:
, 
号:
348 , 
ページ:
2-4 , 
ISSN:
0387-8007

書評 Alan Gribben, Mark Twain's Literary Resources : A Reconstruction of His Library and Reading. Vol. 1 (NewSouth Books, 2019) CiNiiでみる

著者名:
宇沢 美子 

抄録:

出版年月日:
2021-06 , 
巻:
, 
号:
20 , 
ページ:
62-64 , 
ISSN:
1346-9622

(公財)味の素食の文化センター 食の文化ライブラリー CiNiiでみる

著者名:
草野 美保 

抄録:

出版年月日:
2021-06 , 
巻:
, 
号:
202 , 
ページ:
41-44 , 
ISSN:
1342-1905

Pandasデータ解析ライブラリで記述された機械学習前処理の性能最適化に関する検討 CiNiiでみる

著者名:
仲池 卓也  川人 基弘  小原 盛幹 

抄録:
従来,機械学習においては,ロジスティック回帰分析等のモデルの実行性能が重要視され,GPU等のハードウェアアクセラレータにより最適化されてきた.しかしながら,モデルの推論精度を向上させるためには,特徴量エンジニアリングを含めたデータの前処理が重要であり,それらの前処理の実行性能は十分に最適化されていない.本発表では,Pandasデータ解析ライブラリで記述された機械学習前処理の性能を最適化する手法を提案する.Pandasは,Pythonで記述されたデータ解析ライブラリであり,その利便性のため,多くのデータサイエンティストに利用されている.しかしながら,すべてのライブラリがPythonで実装されているため,高い性能を求めることが難しい.我々の提案手法は,Pandasで記述された機械学習前処理をONNX形式に変換し,高速な機械学習フレームワークを利用することにより性能向上を目指す.本発表では,我々が実装中のPandasからONNXの変換ツールの概要,およびPandasで記述された前処理とONNXランタイム上の前処理の性能比較について報告を行う.

出版年月日:
2021-05-12 , 
巻:
14 , 
号:
2 , 
ページ:
31-31 , 
ISSN:
1882-7802

Stay connected with your library! コロナ禍の大学図書館利用活性化と今後の展望について CiNiiでみる

著者名:
相場 洋子 

抄録:

出版年月日:
2021-05 , 
巻:
, 
号:
72 , 
ページ:
1-5 , 
ISSN:
0385-7700

「Reading Room」を「Library」に : 東北町での取り組み (特集 青森の図書館) CiNiiでみる

著者名:
渡辺 歩 

抄録:

出版年月日:
2021-05 , 
巻:
, 
号:
529 , 
ページ:
53-58 , 
ISSN:
0386-0914

西洋古代史・古典学研究における批判的校訂本シリーズの利用・管理法に関する一考察 -The Loeb Classical Library- CiNiiでみる

著者名:
遠藤 直子 

抄録:

出版年月日:
2021-04-23 , 
巻:
, 
号:
8 , 
ページ:
35-41 , 
ISSN:
0914-9791