タグ付けされた質問 「parallel-programming」


10
すべての関数呼び出し/ブロックが個別のスレッドで実行されるプログラミング言語?[閉まっている]
私は現在、すべての関数呼び出し/新しいブロック(if句、ループなど)が別のスレッドで動作するという考え方で、楽しみのためにプログラミング言語を作成しています。新しいスレッドを作成する代わりに、標準では自動的にそれを行う必要があります。メインスレッドで実行する場合は、それを指定する必要があります。 私はマルチスレッドの並列プログラミングについて知らされていませんが、基本(未来、スレッドセーフオブジェクト)は知っています。したがって、そのような言語がどのように構文的に賢く見えるのか、そもそも可能であるのかと疑問に思っています 目標は、それを「有用」にすることではなく、それを楽しむことと学習体験のためのものです。 (投稿する場所が間違っている場合は申し訳ありません。もしそうであれば、私のような質問が許可されている適切な場所を教えていただければ幸いです。)

11
アルゴリズムはコンピューターアーキテクチャに依存しますか?
アルゴリズムはコンピューターアーキテクチャに依存しないことをどこかで読みました(どの本かを忘れました)。アルゴリズム自体が計算であると言う人もいます(マシン?)? 一方、並列プログラミングに関する本には、並列アルゴリズムに関する章があります。並列アルゴリズムは並列アーキテクチャに依存しているように見えますか? 大きな写真が恋しいですか?ありがとう。


1
並列プログラミングライブラリ?(+いくつかの機能)
注:質問はスタックオーバーフローフォーラムには適さないと見なされており、ここに投稿する必要があったため、これは再投稿です。元のトピックはあります。 その作業を実現するために、マルチスレッド、並列処理、および現在利用可能なライブラリについてお話ししたいと思います。特に、この概念を実現するための使いやすいライブラリ(以下を参照)が既に存在するのか、それとも作成する必要があるのか​​、そしてそれがどれほど難しいのかについて疑問に思っています。 私が探しているライブラリの目的: エンジニアや高卒者だけでなく、ほとんどの開発者がアクセスできます(これは、開発者がそれを恐れずに使用したいことを意味します)。 C ++開発者が利用可能 ポータブル(Windows、Mac OS X、Linuxから始めて、モバイルデバイスに拡張) 軽量 使いやすい(アクセシビリティに関連) 私が探している最も重要な機能: タスクの並列処理 タスクのキャンセル(ソフトで突然の方法) タスクの依存関係 既存の関連ライブラリ: スレッドビルディングブロック:使用が非常に複雑で、制限のあるライセンス(GPL /商用)、これは私が見つけた唯一のライブラリで、探しているすべての機能が含まれています Grand Central Dispatch:現在移植性がなく、複雑すぎず、タスクのキャンセルなし(開始後)、タスクの依存関係なし、自動依存関係サポートなし(手動のみ) PFunc:Unixのみ、まだ少し複雑、タスクの依存関係なし、タスクのキャンセルなし Microsoft Task Parallel Library:MSプラットフォームと.NETのみ、ハードキャンセルなし、制限された手動のタスク依存関係(1つのタスクが他の複数のタスクを起動することはできません) OpenCL:現在、すべてのプラットフォームで使用できるわけではありません。GPU並列タスクライブラリほどではありません(希望するほど高レベルではありません)。 OpenMP:Visual Studioの無料バージョンを除いて広くサポートされており、タスクのキャンセルや自動タスクの依存関係はありません これらすべてについてどう思いますか?これらのニーズに対応するライブラリが少ないのはなぜだと思いますか?それとも私はいくつかの素晴らしい図書館を見逃しましたか?そして、それはそれを達成するにはあまりにも多くの仕事を意味すると思いますか?それとも十分に面白くないですか?私が書いた不足は、いくつかの検索で判明したものであり、私はこれらのライブラリの専門家ではありません。 このライブラリの最終的な目的は、たとえそれが夢であったとしても、シーケンシャルプログラミングで通常行うのと同じくらい簡単に並列化された方法でプログラミングすることです。 セイロ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.