예제 #1
0
        public WorkerThread(StressTest parent, string threadname, int seed)
        {
            //set things up for the operation selector
            if (true)
            {
                CumulativeProbabilityOfOperation = new double[(int)Operation.NOFELEMENTS];

                //this is the relative likelihoods of choosing those operations
                CumulativeProbabilityOfOperation[(int)Operation.GAUSSIAN]   = 1;
                CumulativeProbabilityOfOperation[(int)Operation.PADDING]    = 1;
                CumulativeProbabilityOfOperation[(int)Operation.CONVERTTO]  = 1;
                CumulativeProbabilityOfOperation[(int)Operation.REGIONMASK] = 1;

                //accumulate
                CumulativeProbabilityOfOperation = CumulativeSum(CumulativeProbabilityOfOperation);
                //normalize
                double suminv = 1.0 / CumulativeProbabilityOfOperation.Last();
                for (int i = 0; i < CumulativeProbabilityOfOperation.Length; ++i)
                {
                    CumulativeProbabilityOfOperation[i] *= suminv;
                }
            }

            this.Parent      = parent;
            this.Random      = new System.Random(seed);
            this.Thread      = new System.Threading.Thread(() => Entry(this));
            this.Thread.Name = threadname;
            this.Thread.Start();
        }
예제 #2
0
        static void Main(string[] args)
        {
            //this does not work
            //System.Environment.SetEnvironmentVariable("OPENCV_OPENCL_DEVICE", ":GPU:0");
            System.Console.WriteLine($"todiloo! Emgu GPU is {Emgu.CV.Ocl.Device.Default.Name}");
            System.Console.WriteLine($"Current time is {DateTime.UtcNow} UTC");
#if DEBUG
            System.Console.WriteLine("Buildmode=debug");
#else
            System.Console.WriteLine("Buildmode=release");
#endif
            //setup a program object
            var st = new StressTest();

            try
            {
                st.Run();
            } catch (System.Exception e)
            {
                System.Console.WriteLine($"\n\nCaught exception {e}");
            }
            System.Console.WriteLine($"Exiting progam at {DateTime.UtcNow} UTC");
        }