タグ

プログラミングに関するyunottinoatamaのブックマーク (72)

  • 有効なWikiNameではありません - PukiWiki for PBCGLab

    Site admin: fujis PukiWiki 1.5.4 © 2001-2022 PukiWiki Development Team. Powered by PHP 8.1.27. HTML convert time: 0.007 sec.

  • [#Unity] ComputeShaderで近傍探索の高速化 - Qiita

    この記事は、Unity Advent Calender 2017 19日目の記事です。 はじめに 記事では、かなり前に実装した ComputeShaderで格子探索を行うアルゴリズムを解説します。 追記 : 卒論執筆で時間が取れずリポジトリの雑な説明になりそうです...すいません... 近傍探索とは、前もってデータ構造を最適化しておき、 値の利用時に全数探索をしないことで計算速度を飛躍的に向上させるアルゴリズムのことを指します。 主に使用される場面として、 Boids Simulation N-Body Simulation SPH Simulation があります。 いずれも物理的な2点間の距離を算出する必要があるアルゴリズムですが、 全数探索を行っていると、すべての要素毎にすべての要素との距離を計算する必要があります。 (俗に$O(n^2)$の実行時間を要すると言います) 当然この方

    [#Unity] ComputeShaderで近傍探索の高速化 - Qiita
  • なぜ「2人用F-ZERO」ができなかったのか - ポルノアニメ

    はい。 ああ、近所の通り魔は捕まったそうです。これで背後を警戒しなくてよくなりますね(尚、実際は数日で忘れて背後なんか見なくなってた) さて、なぜかヨーロッパの人達はレトロゲームが大好きなようでTwitter等でよく反応をもらう(日人より多い)のですが、その中で Mode 7 使わないの?使ってよ、と言われて、せっかくなので全機能制覇を目指してテストプログラムを作ってみました。 Mode 7 というのはF-ZEROやパイロットウィングスみたいな……と言えばもう伝わったかと思いますが、巨大な一枚絵をグリグリ回すスーファミ独特の疑似3Dのことを指しています。(尚、下に書きましたが技術的には「画面モード7」の応用例として疑似3Dがあるだけで、疑似3DのことをMode 7と呼ぶのは俗称です) ↓結果としてはこんな感じに 実は「画面モード7」自体には3D機能は無く平面の変形機能を提供するだけで、遠

    なぜ「2人用F-ZERO」ができなかったのか - ポルノアニメ
  • introdunction to SIMD programming - primitive: blog

    Unite 2015 Tokyo の講演で詳細を話せなかったのが心残りだったので、大量のオブジェクトの更新処理についてこの場で書いてみます。 主に C++ で、簡単なパーティクルエンジンを作り、それを SIMD を用いて高速化する手順を解説します。 話を簡単にするため、以下の前提を設けます。 ・x86 環境のみ考慮 ・パーティクルは位置と速度のみを保持 ・パーティクル同士の相互衝突は総当たりで計算 総当たりなので超遅いですが、実装は容易で SIMD による恩恵を受けやすく、題材として手頃です。 この記事の中で引用されているソースの元は こちら、ビルド結果 (上のスクリーンショットのデモプログラム) は こちら になります。 相互衝突するパーティクルを実装する場合、お互いの距離を計算し、当たっていたらめり込み具合に応じて押し返す、というのがよくある実装だと思います。まずはそれをストレートに

    introdunction to SIMD programming - primitive: blog
  • Intel ISPC & SPH on CPU - primitive: blog

    コミケに参加した方々、お疲れ様でした。 サイトの方では告知し忘れていましたが (…) 今回は落選でした。次回の冬コミは既に申し込み済みで、受かれば参加します。牛歩の歩みですが、来年 5 月までには何らかの形で完成した作品を出すつもりです。 前回の冬コミ版は SPH (流体シム) を CUDA で実装しており、ゆえに Radeon では動かないし、GeForce でも 500 系未満だと予想外に遅く、スペックの差をどう解決するかが頭が痛い問題だったんですが、現在 Intel ISPC による CPU 実装で行こうという方針に定まりつつあります。 この Intel ISPC なるものが面白いので紹介。 http://ispc.github.com/ GPGPU 的な並列プログラミングの思想を CPUSIMD で実現するプログラム言語です。SIMD の各要素 (lane) を実行単位と見立

    Intel ISPC & SPH on CPU - primitive: blog
  • サルでもわかる 逆引きデザインパターン 第2章 逆引きカタログ ロジック編 Singleton(シングルトン)

    イントロダクション オブジェクトを生成するnewは非常に負荷のかかる処理ですので、使いまわしが効くオブジェクトを毎回newするのはパフォーマンス上問題です。 たとえば、後述のファクトリメソッドパターンで取り上げるファクトリは毎回newする必要がないため、初めに生成したオブジェクトを再利用すぺきです。 また、データベースのコネクションプール数を制限したい場合、データベースアクセスオブジェクトの生成数を制限する必要があります。 このようにオブジェクトの生成数を制限したいときは、シングルトンパターンの出番です。 このパターンを使えば、オブジェクトを外部から直接生成させることを防ぐことができ、クラス自体に同時に生成できるオブジェクトの数を管理する機能を持たせることができます。 パターン解説 シングルトンパターンの特徴は、シングルトンクラスのオブジェクト生成を、シングルトンクラス自身が提供するオブジ

  • ソートアルゴリズムを極める! 〜 なぜソートを学ぶのか 〜 - Qiita

    NTT データ数理システムでリサーチャーをしている大槻 (通称、けんちょん) です。 今回はソートについて記します。 0. はじめに データ構造とアルゴリズムを学ぶと一番最初に「線形探索」や「ソート」が出て来ます。これらのテーマは応用情報技術者試験などでも頻出のテーマであり、アルゴリズムの Hello World とも呼ぶべきものです。 特にソートは、 計算量の改善 ($O(n^2)$ から $O(n\log{n})$ へ) 分割統治法 ヒープ、バケットなどのデータ構造 乱択アルゴリズムの思想 といった様々なアルゴリズム技法を学ぶことができるため、大学の授業でも、アルゴリズム関連の入門書籍でも、何種類ものソートアルゴリズムが詳細に解説される傾向にあります。記事でも、様々なソートアルゴリズムを一通り解説してみました。 しかしながら様々な種類のソートを勉強するのもよいが、「ソートの使い方」や

    ソートアルゴリズムを極める! 〜 なぜソートを学ぶのか 〜 - Qiita
  • その8 4分木空間分割を最適化する!

    ホーム<ゲームつくろー!<衝突判定編 2D衝突編 その8 4分木空間分割を最適化する!(理屈編) ゲーム空間に置いたオブジェクトを総当りで衝突判定する事ははっきりと非効率だと言えます。ちょっと計算してみましょう。60FPSのゲームの1フリップ約16.6ミリ秒の内衝突判定に10%の時間余裕(1.66ミリ秒)を与えられたとします。もし1000回の衝突判定に1ミリ秒かかるなら(1000回/msec)、判定回数は1660回以下に抑えないと間に合いません。総当りだとこれは58オブジェクトくらいで限界です。判定時間が200回/msecならオブジェクトはたった18個で限界。これはどう考えても節約が無いとゲームになりません。 オブジェクトの全ての位置が決まった時、自分とぶつかる可能性があるのは自分の周りのオブジェクトだけです。遠い所にある物は判定する必要すらありません。そこで「空間をある程度制限してその中

  • 式が書ければ「京」が使える | 理化学研究所

    要旨 理化学研究所(理研)計算科学研究機構コデザイン推進チームの村主崇行特別研究員らと、千葉大学の堀田英之特任助教、神戸大学の牧野淳一郎教授、京都大学の細野七月特任助教、富士通株式会社の井上晃マネージャーらの共同研究グループ※は、スーパーコンピュータ「京(けい)」[1]を用いて、数式のような簡潔な指示を書くだけでスーパーコンピュータでの計算に必要となる高度なプログラムを自動生成できるプログラミング言語「Formura」を開発しました。 スーパーコンピュータでの計算に必要となるプログラムはときに数十万行にも及び、作成やチューニングは大変困難です。一方で、原理的にはシミュレーションしたい自然現象とその離散化法[2]を指定すれば、プログラムは機械的に生成できます。しかし、プログラミングはシミュレーションとコンピュータ双方に深い知識が必要となる非常に高度な作業であり、多数の計算機を協調して動作させ

  • - 自動化のためのGNU Make入門講座 - Makefileの基本:ルール

    ここでは,メイクファイルの基的な書き方としてルールの説明をしましょう.ここからは,Makefileといえばmakeが参照するメイクファイルのことを指すものとします. コメントと改行 その前に少しコメントの書き方について解説しておきます.Makefileでは,#から行末までがコメントです.例えば, # # Hello Worldを出力する # all: @echo Hello World! のように使います. また,makeは基的に行指向です.見やすくするために改行したい場合はバックスラッシュ\を使って改行を無視させることができます.例えば,マクロの定義(後述)で object_files = \ foo.o \ bar.o \ baz.o と書けば,makeは改行を無視して次のように解釈します. object_files = foo.o bar.o baz.o ここで注意することは,f

  • 高専プロコンの問題がクソすぎるのでプログラミングを放り出して人力に走るのは最適解であり協賛企業はプログラミングを軽視する企業として唾棄されるべき

    高専プロコンの問題がクソすぎるのでプログラミングを放り出して人力に走るのは最適解であり協賛企業はプログラミングを軽視する企業として唾棄されるべき 第27回高等専門学校プログラミングコンテストが不評を買っている。プログラミングコンテストと名前が付いているのにもかかわらず、選の上位入賞者は、人力で問題を説いたという。特にコンピューターを持ち込んですらいないチームまでいたという噂まで流れている始末。 なぜそんな残念な結果になるのか、高専生のアルゴリズム力が低いからこうなったのだろうか。この謎を改名すべく、筆者は課題を確認した。 http://www.procon.gr.jp/uploads/procon27/1_Apply27.pdf 課題を要約すると、以下の通りだ。 問題 「一枚の木の板(中密度繊維板)を切り出して、50個以下のピース(凹多面体を含む多角形)に分割する。このピースを枠内で組み

  • HPCと10年戦ってわかったこと - Qiita

    はじめに 「◯◯と10年戦ってわかったこと」というポエムを書けば、他の人がその「◯◯」についてちゃんとした記事を書いてくれそうな気がしてきた。僕もポエムを書いてみたいが、10年戦ったものなんてあまりない。僕自身は全くHPCの人ではないのだけれど、HPCの人々と関わる仕事を一応10年くらい続けてきたので、HPCに関するポエムを書いてみる。これはあくまでポエムであって、当然だがフィクションで、いかなる実在の人物、現実のスパコン、メーカ、団体とも関係ないことはご留意されたい。 HPCってなに? HPCというのは「High Performance Computing」の略で、日語では「高性能計算」とか言うんですかね。こういう略語にありがちだけれど、HPCが意味する分野は人によって全然違う。データセンターなんかもHPCの分野なんだろうけれど、とりあえずここでは科学技術計算に用いるスパコンと、その周

    HPCと10年戦ってわかったこと - Qiita
  • シフト演算子使うなって言われた

    リーダー「ここの処理普通に書いて」 俺「どこがおかしいんですか?」 リーダー「シフト演算子使わないで。可読性下がるから。」 俺「…」 これって俺が悪いのか? 別にコーディング規約にそんなこと書いてないし、 この仕事やっててシフト演算子ごときで可読性って呆れてしまった。 やってられんわ。

    シフト演算子使うなって言われた
  • プログラムにコメント書かない文化もあるよって話|NZ MoyaSystem

    以下の記事を読んで。 530000micro.hatenablog.com 僕が勤めている会社では、原則、プログラムにコメントを書かないのがルールです。 人生で初めてプログラムに触れてからこのかた、プログラムには必ずコメントを書けと指導されて来ましたし、自分自身も、後輩たちにちゃんとコメント書けよと言い聞かせてきました。そんなわけで、最初に全然コメントのないソースコードの山を見たときは、正直「ゲッ、なんじゃこりゃ……」と面らったのは確かです。 ところが、「なぜうちのプログラムにはコメントがないのか?」と同僚に尋ねてみると、実に納得の行く回答が返ってきたのでした。 なぜコメントが必要なプログラムを書くのか? 同僚いわく、「コメントが無くても読めるようなプログラムを書け」という思想が根底にあるのだそう。 適切に関数や変数が命名され、スコープがきちんと管理され、ロジックの流れが整理されているコ

    プログラムにコメント書かない文化もあるよって話|NZ MoyaSystem
  • ユーザー支援事例報告 | HPCI戦略プログラム分野5

    このページでは、完了しましたユーザー支援でどのようなことをしたかということを報告していきますので、ぜひご覧ください。コメントや質問がありましたら、 jicfus-support-at-ccs.tsukuba.ac.jp (-at-を@にして下さい)までお送りください。 計算の概略

  • ハッカソン基礎知識

    ここ数日ハッカソンでエゴサしていると、色々と誤解がありそうなので、ここらでハッカソン基礎知識(2016年度版)を書いておく。 ハッカソンとは ハック+マラソンの造語。期間中に缶詰になって、プログラミングをする、プログラマーの為の遊び。 ここ7年くらいで、企業が「私達のAPIでハックしてください」という事で、賞金出したりしてる。 原理的なハッカソン(今40歳以上くらい?)だと「旅館に泊まって、みんなでバグ潰す、サークル合宿」のイメージが強く 最近のハッカソン(20〜30歳くらい?)だと「企業の製品を合法的に改造して、新しい使い方を提案して勝負するイベント」のイメージが強い。 現代ハッカソンの利点 非公開のAPIが使える 一般には公開されてない製品のAPIが使える。場合によってはマニュアルまで貰える。極まれに未発売製品まで触らせて貰える。 企業側も「新サービスや社内APIを使った時、何の化学反

  • ハッカソンの揉め事の内実

    実際のシリコンバレーツアーの賞品(シリコンバレーへの旅費とホテル代で1万ドル。ツアーの目的は500startupsでのプレゼン。) はこちらのハッカソンです。 http://peatix.com/event/52344 ハッカソン優勝時のメンバーから、2人が辞退したので、I氏が人を集めた。 メンバーが変わることを主催者に相談し、プロダクトを完成させるためということで、主催者もそのメンバーをツアーに加えることを承認した。 呼ばれたメンバーはヘルス系のアプリを、ツアーの目玉の500startupsでのプレゼン前日の夜遅くまで、開発していた。(I氏は寝ていたが。) プレゼン当日もI氏は英語が喋れないので、基的に他のメンバーがプレゼン。 帰国後にもサービスの開発を続けるようI氏がメンバーに迫ったが、I氏のツアーでの酷い対応にメンバーは続けないことを選択。 さらに、嫌がる学生には特許を書くよう強要

  • 長文日記

    yunottinoatama
    yunottinoatama 2016/03/01
    >しかしこれだけいろんなイベントで優勝してれば、成功体験を共有してる人もいるから擁護する人も出てきそうなものなのに出てこないのは不思議というかなんというか。
  • ハッカソンマスター、石崎仁一とは何か

    http://anond.hatelabo.jp/20160229181829 ハッカソンにおける石崎仁一氏について、語りましょう。   東京都内でハッカソンに何度か出ている人ならば、この石崎氏を知る人は少なくないでしょう。 ブコメでも「有名な人」と書かれている通り、それなりに名の通った人です。良くも悪くも。 氏は2013年頃から色々なハッカソンに出場し、様々な賞を受賞しています。 しかし、 彼自身は、プログラミングもデザインもできません。 彼が行う事は、制作物の企画立案。そしてプレゼンテーションです。 石崎氏の企画力 企画力は、まぁあると思いますが、決して突出したものではありません。むしろ特殊なものです。 どういう事かというと、ハッカソンにおいてウケる企画というものを、彼は知っています。   ハッカソンでは土日2日間の開発でプロダクトを製作。それに対していくつかの協賛企業から賞が送られま

  • ハッカソンの揉め事

    https://www.facebook.com/jinichii/posts/952405481522310?pnref=story http://www.bokukoko.info/entry/2016/02/27/%E5%8B%89%E5%BC%B7%E4%BC%9A%E3%83%BB%E3%83%8F%E3%83%83%E3%82%AB%E3%82%BD%E3%83%B3%E9%81%8B%E5%96%B6%E8%80%85%E3%81%AE%E7%9A%86%E6%A7%98%E3%80%81%E5%8F%82%E5%8A%A0%E3%81%AB%E3%81%AF%E6%96%99%E9%87%91%E3%81%A8 の話。 東京地検特捜部は29日、コンサルタント会社「UEエンジニアリング」(東京都港区)と、役員松沢弘康容疑者(39)を法人税法違反(脱税)で東京地裁に起訴した。共