CUDA.Compiler.hpp 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. // CodeGear C++Builder
  2. // Copyright (c) 1995, 2022 by Embarcadero Technologies, Inc.
  3. // All rights reserved
  4. // (DO NOT EDIT: machine generated header) 'CUDA.Compiler.pas' rev: 35.00 (Windows)
  5. #ifndef Cuda_CompilerHPP
  6. #define Cuda_CompilerHPP
  7. #pragma delphiheader begin
  8. #pragma option push
  9. #pragma option -w- // All warnings off
  10. #pragma option -Vx // Zero-length empty class member
  11. #pragma pack(push,8)
  12. #include <System.hpp>
  13. #include <SysInit.hpp>
  14. #include <Winapi.Windows.hpp>
  15. #include <Winapi.ShellAPI.hpp>
  16. #include <Winapi.TlHelp32.hpp>
  17. #include <System.UITypes.hpp>
  18. #include <System.SysUtils.hpp>
  19. #include <System.Classes.hpp>
  20. #include <Vcl.Forms.hpp>
  21. #include <Vcl.Dialogs.hpp>
  22. #include <CUDA.Parser.hpp>
  23. #include <GLS.ApplicationFileIO.hpp>
  24. //-- user supplied -----------------------------------------------------------
  25. namespace Cuda
  26. {
  27. namespace Compiler
  28. {
  29. //-- forward type declarations -----------------------------------------------
  30. class DELPHICLASS TGLCUDACompiler;
  31. //-- type declarations -------------------------------------------------------
  32. enum DECLSPEC_DENUM TGLCUDACompilerOutput : unsigned char { codeUndefined, codePtx, codeCubin, codeGpu };
  33. enum DECLSPEC_DENUM TGLCUDAVirtArch : unsigned char { compute_10, compute_11, compute_12, compute_13, compute_20 };
  34. enum DECLSPEC_DENUM TGLCUDARealArch : unsigned char { sm_10, sm_11, sm_12, sm_13, sm_20, sm_21 };
  35. typedef System::Set<TGLCUDARealArch, TGLCUDARealArch::sm_10, TGLCUDARealArch::sm_21> TGLCUDARealArchs;
  36. class PASCALIMPLEMENTATION TGLCUDACompiler : public System::Classes::TComponent
  37. {
  38. typedef System::Classes::TComponent inherited;
  39. private:
  40. System::UnicodeString FNVCCPath;
  41. System::UnicodeString FCppCompilerPath;
  42. System::Classes::TStringList* FProduct;
  43. System::UnicodeString FProjectModule;
  44. System::UnicodeString FSourceCodeFile;
  45. System::UnicodeString FConsoleContent;
  46. TGLCUDACompilerOutput FOutputCodeType;
  47. TGLCUDAVirtArch FVirtualArch;
  48. TGLCUDARealArchs FRealArch;
  49. int FMaxRegisterCount;
  50. Cuda::Parser::TCUDAModuleInfo* FModuleInfo;
  51. void __fastcall SetMaxRegisterCount(int Value);
  52. void __fastcall SetOutputCodeType(const TGLCUDACompilerOutput Value);
  53. bool __fastcall StoreProjectModule();
  54. void __fastcall SetRealArch(TGLCUDARealArchs AValue);
  55. void __fastcall SetNVCCPath(const System::UnicodeString AValue);
  56. void __fastcall SetCppCompilerPath(const System::UnicodeString AValue);
  57. protected:
  58. virtual void __fastcall Loaded();
  59. public:
  60. __fastcall virtual TGLCUDACompiler(System::Classes::TComponent* AOwner);
  61. __fastcall virtual ~TGLCUDACompiler();
  62. virtual void __fastcall Assign(System::Classes::TPersistent* Source);
  63. void __fastcall SetSourceCodeFile(const System::UnicodeString AFileName);
  64. bool __fastcall Compile();
  65. __property System::Classes::TStringList* Product = {read=FProduct, write=FProduct};
  66. __property Cuda::Parser::TCUDAModuleInfo* ModuleInfo = {read=FModuleInfo};
  67. __property System::UnicodeString ConsoleContent = {read=FConsoleContent};
  68. __published:
  69. __property System::UnicodeString NVCCPath = {read=FNVCCPath, write=SetNVCCPath};
  70. __property System::UnicodeString CppCompilerPath = {read=FCppCompilerPath, write=SetCppCompilerPath};
  71. __property System::UnicodeString SourceCodeFile = {read=FSourceCodeFile};
  72. __property System::UnicodeString ProjectModule = {read=FProjectModule, write=FProjectModule, stored=StoreProjectModule};
  73. __property TGLCUDACompilerOutput OutputCodeType = {read=FOutputCodeType, write=SetOutputCodeType, default=1};
  74. __property TGLCUDARealArchs RealArchitecture = {read=FRealArch, write=SetRealArch, default=8};
  75. __property TGLCUDAVirtArch VirtualArchitecture = {read=FVirtualArch, write=FVirtualArch, default=3};
  76. __property int MaxRegisterCount = {read=FMaxRegisterCount, write=SetMaxRegisterCount, default=32};
  77. };
  78. typedef bool __fastcall (*TFindCuFileFunc)(System::UnicodeString &AModuleName);
  79. //-- var, const, procedure ---------------------------------------------------
  80. extern DELPHI_PACKAGE TFindCuFileFunc vFindCuFileFunc;
  81. } /* namespace Compiler */
  82. } /* namespace Cuda */
  83. #if !defined(DELPHIHEADER_NO_IMPLICIT_NAMESPACE_USE) && !defined(NO_USING_NAMESPACE_CUDA_COMPILER)
  84. using namespace Cuda::Compiler;
  85. #endif
  86. #if !defined(DELPHIHEADER_NO_IMPLICIT_NAMESPACE_USE) && !defined(NO_USING_NAMESPACE_CUDA)
  87. using namespace Cuda;
  88. #endif
  89. #pragma pack(pop)
  90. #pragma option pop
  91. #pragma delphiheader end.
  92. //-- end unit ----------------------------------------------------------------
  93. #endif // Cuda_CompilerHPP