パスワードを忘れた? アカウント作成
6432 story

IBM版Mac OS X用C/C++コンパイラ 15

ストーリー by Acanthopanax
さらに速くなるか 部門より

chiba-f 曰く、 "IBMからMac OS X用C/C++コンパイラのβ版、"XL C V6.0 and XL C++ V6.0 for Mac OS X - Betas"が出ました。それから、Fortranコンパイラのβ版、"XL Fortran V8.1 for Mac OS X - Beta"も同時に公開されました。IBMのページ(C and C++ Compilers - Family Overview)からダウンロードできます。PowerPC G5用ですが、数値計算プログラムでは、G4でも結構良い結果が得られているようです。"

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • Requirements (スコア:3, 参考になる)

    by flutist (16098) on 2003年08月30日 20時30分 (#388545)
    インストールするには gcc 3.3 が必要とのことだったので、ADC [apple.com]から昨年12月の gcc のアップデータをもらってきました。ADCは会員登録が必要です(無料会員でOK)。

    でもこれがインストールできなくて、おかしいな?と思ったら、Developer Toolsのアップデート(やはり昨年12月のもの)が必要でした。gcc の方は12MBくらいでしたが、こっちは301MB。ダウンロードも大変でしたが、インストールに30分かかりました(PBG4, 400MHz)。

    基本的には、gcc 3.3のヘッダとライブラリを使うそうです。一部、stdarg.hとかはibm製。

    Input/Outputなしで、コンパイルオプションもなにもなしで400次元の行列のかけ算のみをプログラムを作って試してみたら、1割ちょっと早くなってました(コマンドラインでtimeコマンドで計っただけ)。プログラムの中身はmallocとdoubleのかけ算のforループのみ、システム時間が0.04秒から0.1秒に長くなって、ユーザー時間が9秒から8秒になりました。

    なんかmathなライブラリやAltiVecを使うプログラムを使って試してみようと思います。
    • インストールにそんなにかかるのでは躊躇してしまうので、
      よろしければ教えていただきたいところが。
      (というか、今現在サイトを見られないのですが)

      1.コンパイル時間はGCCより短いか(特にC++の場合)
      2.GCCのソースとの互換性はどうか
      3.STLのサポート状況は
      4.OpenMP [openmp.org]のサポートはあるか

      など、気がついた点でもあれば教えていただきたいです。
      --
      kaho
      親コメント
      • by flutist (16098) on 2003年09月01日 22時36分 (#389462)
        一般的なことは全然言えないんですが、私が仕事で作ってるもの(実数と乱数でシミュレーションなもの)を -g -O2 でコンパイルしてみたところ、

        1. コンパイル時間はあまり変わりません。6.8秒のが7.08秒に。
        2. ソースの互換性は高いと思います(変更は全くナシで大丈夫そう)。
        3. STLが何か知らないので、なんとも...
        4. OpenMPのサポートは、公式には当然ないと思います。

        ただ、gccのライブラリを使うくらいだから、OpenMPも普通に使えるんじゃないか、と思います。導入してデメリットはないと思いますが、逆にメリットを享受するには、しばらく仕事の片手間に遊んでみないといけないなぁ、と思ってます。
        親コメント
        • ありがとうございます。
          GCCの気に入らないところはC++のプリコンパイルヘッダをサポートして
          いないことでコンパイル時間がかかることなので、G5でない現在乗り換
          えるほどではないかなあ、というところです。
          STLはvectorとかmapとかのC++の機能なのですが、テンプレート回りは
          各コンパイラで実装がかなり違う(違った?)ところなので気になるの
          です。が、ライブラリを共有できるならば速度が必要な部分だけIBMの
          コンパイラを使うという手もありますね。
          OpenMPはGCCには標準のライブラリが用意されていないはずなので、
          ちょっと後で自分で調べてみます。

          #早く来い来いG5・・・・
          --
          kaho
          親コメント
    • いろいろと準備が大変でしたが私も結局試してみました。

      が・・・C++は使えないと考えた方がいいようですね。
      名前空間のサポートやstringはよくても、iostreamやcomplexヘッダをインクルード
      しただけでコンパイラが落ちてしまいました。
      ソース互換性のところまで検討していませんが、gccとのオプションの共通性もあま
      りないようだし、C++の人間でCには戻れない私にはしばらく実用性が低そうです。
      --
      kaho
      親コメント
      • Re:Requirements (スコア:1, 興味深い)

        by Anonymous Coward on 2003年09月02日 18時47分 (#390106)
        "gccとのソース互換"というレベルの話をしていることから外挿して、リンカがこけているに1票。
        make clean相当の作業をしてからコンパイルしなおしてみたら、どうなるでしょうか。
        親コメント
        • もうアンインストールしてしまったので正確な検証はできませんが
          たしかにオブジェクトファイルは作成されていたのでリンカの問題
          だと思います。
          ただ単一のファイルからa.outを作成しようとしただけなのでオブ
          ジェクトファイルを混ぜたせいではないと思っています。

          私の設定や環境の問題である可能性は高いですが、リリースバージョ
          ンになったらまた試してみます。
          --
          kaho
          親コメント
  • by Anonymous Coward on 2003年08月30日 16時05分 (#388474)
    売りものになるんだよね、たぶん。数値処理中心なんだろうし。
    まあgccと互換だとか高速になるだとかあるけど
    とりあえず俺みたいなホビープログラマには関係なさそうな。
  • by Anonymous Coward on 2003年08月31日 1時10分 (#388628)
    自社製品の性能ををきっちり発揮してくれるツール作ってないんだろうか。

    速くする手段を知らないのならパソコンのCPUなんか作っても仕方ないんじゃぁ。
    Intel真似てAltiVecでお茶を濁したりするのもやめて、その開発コストとCPUを占めるスペースを別に使って欲しかった。

    # 素人発言なので…というかID取るのが面倒なのでAC
    • 子会社 [metrowerks.com]に任せきりでしょう。
      親コメント
    • by Average (3404) on 2003年08月31日 23時17分 (#388994) 日記
      内容を見るとむしろシスコのルータ向けの方が数量は出ていたんじゃないでしょうか。
      そもそも年間数百万個程度しか出ない(予定?)のCPUをHPC向けに作るって成功した企業はどこにも無いでしょう。
      数千万個出ているAMDですら赤字っすよ、赤字。
      という訳でワタシはモトローラ頑張っているとは思いますケドネ。
      --
      -----------------
      #そんなワタシはOS/2ユーザー:-)
      親コメント
    • by nInfo (14824) on 2003年09月01日 11時45分 (#389168)
      Metrowerks(Motorolaの一部門)のCode Warriorは、GCCよりずっと速いそうですが?
      AltiVECは、AppleとIBMとMotorolaの共同開発のはずだし、Intelは似たようなもの
      (ベクトルユニット)さえ作ってないと思いますが?AltiVECは大きな長所には違いないし、
      必要だからPowerPC 970にも搭載されている訳で...。
      親コメント
      • by Anonymous Coward
        > Metrowerks(Motorolaの一部門)のCode Warriorは、GCCよりずっと速いそうですが?

        これ、本当ですか?
        確かに昔のgccのppc最適化はとんでもなくひどかったけど、
        Appleのコードが入ってからはそれなりの速さになりましたよ。
        もともとMrC(Apple) >> MCC(Motorola) > CodeWarrior
        という感じで、CodeWar
    • by Anonymous Coward
      Appleが互換機路線だった頃、モトローラからMPWで動くPowerMac用のC,C++とFortranのコンパイラが出てました。Fortranは使ったことがあります。 学割があって、学生証のコピー(日本語)をアメリカのモトローラに送ったら、OKでした。で、$200で買えました。 KAPというソ
      • by kurikinton (16892) on 2003年09月08日 14時01分 (#393227)
        97年ごろにlibmotoという
        PowerPCに最適化された数学ライブラリを
        配布していましたね。
        MkLinux/LinuxPPC上で使わせていただいていました。
        PowerPC601,603とかの時代でした。
        親コメント
typodupeerror

ナニゲにアレゲなのは、ナニゲなアレゲ -- アレゲ研究家

読み込み中...