예제 #1
0
파일: Core.cs 프로젝트: y-hama/CNNPlatform
        public void BuildAllMethod()
        {
            try
            {
                if (PlatformInitialized && OptionalUseGPU)
                {
                    #region BuildProgram
                    Assembly asm = Assembly;
                    if (asm == null)
                    {
                        asm = Assembly.GetExecutingAssembly();
                    }
                    var types = asm.GetTypes();

                    #region SharedMethod
                    string sharedmethod = string.Empty;
                    foreach (var item in types)
                    {
                        if (SharedNameSpaceList.Contains(item.Namespace))
                        {
                            var source = (Function.SourceCode)Activator.CreateInstance(item);
                            sharedmethod += source.Source + "\n";
                            Build(source.Name, source.Source);
                        }
                    }
                    #endregion
                    SharedMethodSource = sharedmethod;

                    List <Function.FunctionBase> fList = new List <Function.FunctionBase>();
                    foreach (var item in types)
                    {
                        if (NameSpaceList.Contains(item.Namespace) && !item.FullName.Contains(@"+<>"))
                        {
                            fList.Add((Function.FunctionBase)Activator.CreateInstance(item));
                        }
                    }

                    // FunctionBase作成時にビルドを実行するため、以下は不要となった
                    //foreach (var item in fList)
                    //{
                    //    if (item.IsGpuProcess)
                    //    {
                    //        var sourceList = item.GetSourceList();
                    //        foreach (var source in sourceList)
                    //        {
                    //            //Console.WriteLine(sharedmethod + source.Item2 + "\n");
                    //            Build(source.Item1, sharedmethod + source.Item2);
                    //        }
                    //    }
                    //}
                    #endregion
                }
            }
            catch (Exception ex)
            {
                State.ExceptionState(ex);
            }
        }
예제 #2
0
파일: Core.cs 프로젝트: y-hama/SpkNeu
        public void BuildAllMethod()
        {
            if (PlatformInitialized && OptionalUseGPU)
            {
                #region BuildProgram
                Assembly asm = Assembly;
                if (asm == null)
                {
                    asm = Assembly.GetExecutingAssembly();
                }
                var types = asm.GetTypes();

                string sharedmethod = string.Empty;
                #region SharedMethod
                foreach (var item in types)
                {
                    if (SharedNameSpaceList.Contains(item.Namespace))
                    {
                        var source = (Function.SourceCode)Activator.CreateInstance(item);
                        sharedmethod += source.Source + "\n";
                        Build(source.Name, source.Source);
                    }
                }
                #endregion

                List <Function.FunctionBase> fList = new List <Function.FunctionBase>();
                foreach (var item in types)
                {
                    if (NameSpaceList.Contains(item.Namespace))
                    {
                        fList.Add((Function.FunctionBase)Activator.CreateInstance(item));
                    }
                }

                foreach (var item in fList)
                {
                    if (item.IsGpuProcess)
                    {
                        var sourceList = item.GetSourceList();
                        foreach (var source in sourceList)
                        {
                            //Console.WriteLine(sharedmethod + source.Item2 + "\n");
                            Build(source.Item1, sharedmethod + source.Item2);
                        }
                    }
                }
                #endregion
            }
        }