[PR]
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
プログラミング、3DCGとその他いろいろについて
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
cl_int clGetPlatformIDs( cl_uint num_entries, cl_platform_id *platforms, cl_uint *num_platforms );
名前 | 数値 | 説明 |
CL_SUCCESS | 0 | 関数が成功しました。 |
CL_INVALID_VALUE | -30 | 関数が失敗しました。num_entriesが0で、platformsがNULLではありません。あるいはnum_platformsとplatformsの両方がNULLです。 |
CL_OUT_OF_HOST_MEMORY | -6 | メモリが足りません。 |
using System;class Program{static void Main(){int platformCount = 0;OpenCLFunctions.clGetPlatformIDs(0, null, out platformCount);Console.WriteLine(platformCount);}}
using System;using System.Runtime.InteropServices;static class OpenCLFunctions{[DllImport("OpenCL.dll")]public static extern int clGetPlatformIDs(int entryCount, IntPtr[] platforms, out int platformCount);}
using System;class Program{static void Main(){foreach (var platform in getPlatforms()){Console.WriteLine(platform);}}private static IntPtr[] getPlatforms(){int platformCount;OpenCLFunctions.clGetPlatformIDs(0, null, out platformCount);IntPtr[] result = new IntPtr[platformCount];OpenCLFunctions.clGetPlatformIDs(platformCount, result, out platformCount);return result;}}
cl_int clGetPlatformInfo( cl_platform_id platform, cl_platform_info param_name, size_t param_value_size, void *param_value, size_t *param_value_size_ret )
cl_platform_info | 値 | 解説 |
CL_PLATFORM_PROFILE | 0x0900 | OpenCLのプロファイル文字列です。実装によってサポートされているプロファイル名を表します。この値は次のうちのどれか一つになります。 FULL_PROFILEはOpenCLの仕様を実装が満たしていることを意味します。 EMBEDDED_PROFILEは、実装がOpenCLのサブセットを満たしているという意味です。 |
CL_PLATFORM_VERSION | 0x0901 | OpenCLのバージョンです。 |
CL_PLATFORM_NAME | 0x0902 | プラットフォームの名前です。 |
CL_PLATFORM_VENDOR | 0x0903 | ベンダー名です。 |
CL_PLATFORM_EXTENSIONS | 0x0904 | 拡張名のリストを返します。それぞれの拡張はスペースで区切られています。 |
名前 | 数値 | 解説 |
CL_SUCCESS | 0 | 関数が成功しました。 |
CL_INVALID_PLATFORM | -32 | platformが有効な値ではありません。 |
CL_INVALID_VALUE | -30 | param_nameが有効な値でないか、あるいはparam_value_sizeが戻り値の型のサイズより小さくparam_valueがNULLではありません。 |
CL_OUT_OF_HOST_MEMORY | -6 | メモリが足りません。 |
using System;class Program{static void Main(){foreach (var platform in getPlatforms()){Console.WriteLine(getPlatformInfo(platform, PlatformInfo.Name));}}private static string getPlatformInfo(IntPtr platform, PlatformInfo platformInfo){int parameterValueSize;OpenCLFunctions.clGetPlatformInfo(platform,platformInfo,0,null,out parameterValueSize);System.Text.StringBuilder result = new System.Text.StringBuilder(parameterValueSize);OpenCLFunctions.clGetPlatformInfo(platform,platformInfo,parameterValueSize,result,out parameterValueSize);return result.ToString();}private static IntPtr[] getPlatforms(){int platformCount;OpenCLFunctions.clGetPlatformIDs(0, null, out platformCount);IntPtr[] result = new IntPtr[platformCount];OpenCLFunctions.clGetPlatformIDs(platformCount, result, out platformCount);return result;}}
using System;using System.Runtime.InteropServices;static class OpenCLFunctions{[DllImport("OpenCL.dll")]public static extern int clGetPlatformIDs(int entryCount, IntPtr[] platforms, out int platformCount);[DllImport("OpenCL.dll")]public static extern int clGetPlatformInfo(IntPtr platform,PlatformInfo parameterName,int parameterValueSize,System.Text.StringBuilder parameterValue,out int parameterValueSizeReturn);}enum PlatformInfo{Profile = 0x0900,Version = 0x0901,Name = 0x0902,Vendor = 0x0903,Extensions = 0x0904}