こんにちはサイボウズ・ラボの光成です。 今回は3月30日に開催された「x86/x64最適化勉強会5」の模様についてお伝えします。 x86/x64最適化勉強会会場 プログラム開発においては、開発の段階において早すぎる最適化は悪、本当に必要になってから最小限だけ行いなさいと言われています。 また今どきのコンパイラは優秀なので、下手な小細工はせずにコンパイラに任せておくのがよいとも言われています。 もちろん一般的にはそれは正しいのですが、普段動画や音声を利用するときに使われているコーデック、ネット上での決済時に利用される暗号ライブラリなどは、人の手によるアセンブリ言語で開発されていることが多いのもまた事実です。 私が主催しているこの勉強会はそういう下回りのライブラリを開発するときに必要な技術や情報の交換のために行っています。 ustreamで過去の会の動画も含めてみることができます。 以下、やや
STMicroelectronicsは、同社子会社のPortland Group(PGI)がマルチコアx86プラットフォーム向けに最適化した「PGI CUDA C/C++コンパイラ(CUDA-x86)」を、2012年1月にリリース予定の「PGI 2012」と共に出荷することを発表した。同製品は、並列化を行うプログラマがAMDおよびIntelのCPUを最大限活用できる新しいCUDAコンパイラであり、x86+GPUアーキテクチャの統合並列プラットフォーム化に向けた重要なステップとなると同社では説明している。 CUDAは、NVIDIA製GPUの処理能力を利用することで演算性能を向上させる並列演算アーキテクチャで、今回発表されたCUDA-x86は、GPUだけではなく広範囲なシステムに対するプログラミング・モデルにまでCUDAの適用範囲を拡げるもの。 x86ホストに対するネイティブCUDA C/C+
Android 4.0(コードネーム:Ice Cream Sandwich)のx86版ソースコードが11月30日(現地時間)、非公式のオープンソースコミュニティー「Android-x86」のサイトで公開された。 同コミュニティーは、台湾のソフトウェア開発者、チーウェイ・ホァン氏らが主催するもので、米Googleは関与しない。ホァン氏によると、同コミュニティーは米AMDから端末やエンジニアなどのサポートを受けているが、米Intelはプロジェクトのサポートを拒否しているという。 まだ完全版ではなく、Wi-Fi、マルチタッチ、AMD Radeonでのハードウェアアクセラレーションには対応するが、音声、カメラ、Intelプラットフォームでのハードウェアアクセラレーションは機能しない。 Googleは、ARMベースのAndroid 4.0のソースコードを11月15日に公開した。 同社は9月、Inte
米国時間の2011年11月15日、1971年に登場し、世界初のワンチップマイクロプロセッサとして知られる米Intel社の「Intel 4004」が、誕生40周年の節目を迎えた。Intelではこのことを記念し、貴重な写真やビデオ・インタビュー、各界代表のコメントなどをまとめたアニバーサリーページを公開している。 当時の4004プロセッサは、12平方mmのダイに、10μ(マイクロ)mプロセスルールで2300個のトランジスタを集積し、4ビットの演算能力を備えるというもので、電卓用のマイクロプロセッサとして開発された。これを今日のパーソナルコンピュータ向けマイクロプロセッサと比較すると、例えば先日発表されたばかりの「Sandy Bridge-E」では、ダイサイズが約434平方mm、トランジスタ数は約22億7000万個、プロセスルールは32n(ナノ)mと、40年を経たとはいえ、その大きな違いに驚かさ
皆さんこんにちは。ミラクル・リナックスの天野光隆です。日経Linux誌では時々登場させていただいてますが、ITproでの寄稿は初めてになります。ミラクル・リナックスは、LinuxサーバーOSや、デジタルサイネージソリューションの開発、販売を行っている会社で、私は組み込み関連の開発を行っています。 Androidは携帯電話のOSというイメージがありますが、普通のパソコンでも動作します。以前にも「話題の携帯向けOS「Android」をx86パソコンで動かしてみよう」という記事がITproに掲載されましたが、今回はより新しいバージョンのAndroidを動かしてみましょう。 「Android 2.3(開発コードネーム:Gingerbread)」は2010年12月に米Googleが正式リリースした、携帯電話向けAndroidの最新版です。前バージョンである「Android 2.2(開発コードネーム:
前記事からの続き。 VirtualBox上でのインストール準備が完了したので、いよいよAndroid-x86-2.2をVirtualBoxの仮想ハードディスクにインストールしていく。 (2)Android-x86-2.2のインストール android-x86-22-genericをVirtualBoxの左側から選択し、「起動」ボタンをクリックする。 インストールメデイアからブートして、android-x86のインストール画面が表示される。ここで矢印キーの「⇓」キーを押して、一番下の「Installation – Install Android x86 to harddisk」を選択して、「Enter」キーを押す。 次に仮想ハードディスクのパーティションを設定する。 「Choose Partition」画面で、「 Create /Modify partiotions」を矢印キーで選択し、「E
Android-x86-2.2をVirtualBoxにインストールした。 この作業で使用したものは、以下のとおり。 ①acer ASPIRE 1410(Windows7 home premiumが動作するPC) ②VirtualBoxのWindows版(VirtualBox-3.2.12-68302-Win.exe) ③Android-x86のversion 2.2 (android-x86-2.2-generic.iso) 準備はすぐにできるが、インストールの手順はいくらか複雑なので、以下にメモを残した。 インストールは、(1)VirtualBoxの設定、(2)Android-x86-2.2のインストール、(3)Android-x86-2.2の設定の順に進める。 (1)VirtualBoxの設定 VirtualBoxを実行し、「新規」ボタンをクリックする。 「新規仮想マシンの作成」
Androidをエミュレータで動かすと遅い。いろいろ調べると、Android-x86というx86上にportingしているプロジェクトがあった。そして、Androidーx86 1.6をwindows上のVirtualBoxで動かしてみたところ、そこそこの速度で動くことがわかった。 今回、2011年1月13日にAndroid 2.2をx86にportingしたものがリリースされたので、VirtualBox上にインストールしてみた。その結果、かなりまともに動くようになったので、公開することにした。 VirtualBoxは、x86仮想化ソフトウェアパッケージでオラクルから無償で提供されている。Android-x86をVirtualBoxでインストール・実行することができたので、実行環境をそのままパッケージとして保存することが可能である。つまり、VirtualBoxの「仮想アプライアンスのエクスポ
というわけで、昨日から話題沸騰の Javascript PC Emulator すごいですね。JavaScript で書かれた x86 PC エミュレータ上で Linux 動かして、入ってる tcc 使えばそこそこのソースもコンパイルして動いたり。 もとのディスク容量が少ないので、適当な母艦を用意して、こんな感じ で新しいディスクイメージ作って、CocProxy や Fiddler の AutoResponder を使って root.bin へのリクエストをローカルのファイルに差し替えてやれば、好きなファイルも入れられますね。 というわけで、SpiderMonkey を入れて動かしてみました。ブラウザ内でJavaScriptが動くなんてムネアツですね! 手順としては、コンパイルの簡単な SpiderMonkey 1.7 を x86 の32ビットマシンで -static 付きでビルドして、r
環境が整ったので少しずつコードを書いたりしてるわけですが、デバッグに使っているAndroidのエミュレータが遅いんですよね。作業が終わるまでは立ち上げっぱなしなので、起動の遅さはまあ許せるんですが、処理自体が遅いのはちょっといただけません。 何か良い方法は無いのかと思ってネットを徘徊しまくってた訳ですが、そこで思い出したのがx86用のAndroid。Androidのアプリはその仕組み上、CPUにほとんど(NDKを使ってネイティブコードを書かない限り)依存しないのでこんなものが作られている訳ですが、仮想PCソフトでx86バイナリのAndroidを動かせば、AVD(ARMのエミュレータ)上でARMバイナリのAndroidを動かすよりは軽くなるはず。見てみると3週間ほど前にAndroid 2.2(Froyo)が公開されていて良い感じです。 ということで、VirtualBoxにインストールしたAn
日本ではNTTドコモから「HT-03A」が発売され、目下話題を集めているGoogleの「Android」。言わずと知れたスマートフォンなどの携帯機器向けOSだが、実機で利用するにはいくつかのハードルがあり、多くのユーザは開発環境に付属のエミュレータを利用していた。 そこにリリースされたのが、Androidを一般的なPCで実行できる「Live Android」。LiveCD/LiveUSBの形で提供されるため、x86を搭載したPC実機や仮想化ソフトで直接実行可能だ。それでは早速、レビューを開始してみよう。 あのAndroidがPC実機上や仮想化ソフトで動作する WebKitベースのブラウザを搭載、日本語も表示できる 動画 - 「Live Android」起動の様子 LiveCD版「Live Android」の起動と動作の様子(Mac OS X用VMware Fusionを利用)
Android SDKのエミュレータは動作が遅くて使い物にならない。 なので、エミュレータの代わりにVMWareを使ってデバッグする。 環境作成 基本的にエディタとコンソールを使って開発するので、 Eclipseとか使う場合はどうするかは知りません。 Android SDK http://developer.android.com/intl/ja/sdk/index.html からSDKをダウンロード 解凍して適当なディレクトリに移動 tools あたりにパスを通しておく adb コマンドが使えればOK VMWareにAndroid OSをインストール http://www.android-x86.org/download からAndroid OS をダウンロード( StableRelease のAndroid-x86 x.x live & installation iso image)
This is a project to port Android Open Source Project to x86 platform, formerly known as "patch hosting for android x86 support". The original plan is to host different patches for android x86 support from open source community. A few months after we created the project, we found out that we could do much more than just hosting patches. So we decide to create our code base to provide support on di
皆さんはじめまして,この度ひょんな事から本稿を寄稿することになりました,ミラクルリナックスの中河宏文と申します。ミラクル・リナックスは,LinuxサーバーOSの開発,販売をメインに行っている会社で,現在のメイン・プロダクトとして「Asianux Server 3 == MIRACLE LINUX V5」というLinuxサーバーOSを国内販売しています。私は普段,このミラクル・リナックスで,組み込み関連の開発業務を行っています。 自己紹介はこれくらいにして,早速本題に入らせていただきましょう。突然ですが皆さん,「Android」ってご存知ですか? Androidとは米Googleが2007年11月に発表し,2008年10月にオープンソースとして公開された,携帯電話向けソフトウエア・プラットフォームです。既に米国では,世界初のAndroid搭載スマートフォン「T-Mobile G1」が発売され
libjpeg-turbo Home About libjpeg-turbo Professional Services Sponsors SIMD Coverage of the libjpeg Algorithms "libjpeg-turbo" != "TurboJPEG" Mailing Lists Downloads Digital Signatures (Code Signing Policy) Official Binaries: Supported Platforms and Other Notes YUM and APT Repositories Documentation Reports libjpeg-turbo Performance Study A Study on the Usefulness of DCT Scaling and SmartScale Othe
どの世代でも、当時のマシンに搭載されていた標準的な物理メモリを越えた場所を指している。 これは割り込みベクタの影響でアドレス0を使えない為と、最初の命令フェッチから始まる初期化プログラムをなるべくアドレスの高位に配置することで、一般的なプログラムの使えるアドレス空間を邪魔しないようにとの意図らしい。 BIOSが格納されたROMは、電子回路のレベルでこれら高位アドレスにマッピングされるよう調整されている。 IBM PC 5150 ではROM BIOSがFE000以降にロードされるようになっており、丁度 FFFF0H に、BIOSコードの先頭へJMPする機械語コードが配置されている。(後述) ※1 : 80286は24bitのアドレスバスを持つが、リアルモードでは20bitしか使われない。A20-A23はリセット後は1になっている。そのため、CSこそ"F000H"になっているが、もう4bit分
11月15日(現地時間) 発表 米Intelは15日(現地時間)、世界最初のマイクロプロセッサ「4004」の発表から30周年を迎えたと発表した。4004は、ちょうど30年前の'71年11月15日に「Electronic News」誌に広告が掲載された。 4004は、日本のビジコン株式会社からの電卓用LSIの発注がもととなって開発された製品で、Intelのテッド・ホフ氏とビジコンから派遣された嶋正利氏との共同開発のエピソードはよく知られている。 4004は、10μmプロセスで製造され、3×4mmのダイサイズに2,300個のトランジスタを集積し、クロック108kHzで駆動した。 その後、8bitの8008/8080を開発、'79年に開発された8088がIBM PCに採用されて以来、16bitの8086/80286、32bitの80386/80486(i486)、そしてPentium以降Pent
前回まではインテルの昔の製品を御紹介したが、これに負けないほどやはり製品が多いのがAMDである。こちらもx86系に絞った形で、「K8」以前の製品を解説していきたい。 限られた供給能力が広げた インテルCPUのセカンドソース 元々AMDが躍進を遂げた一因は、インテルとのセカンドソース契約にある。昨今では考えにくい話であるが、1980年代の半導体メーカーの多くは、製品供給能力が限られていた。また製造プロセスそのものが安定しないから、大口顧客は特定のメーカーに依存するのは余程の場合のみ。通常はセカンドソース供給を求めた。先月までは普通に製造できたが、今月は「何かわからない理由で生産量が半減しました」なんて話が本当にあった時代である。 例えば8086の場合、インテルだけから買うのではなく、インテルとセカンドソース契約を結んだ何社かから、同じスペックの8086互換品を購入できるような体制を求めたわけ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く