![]() ![]() Therefore, the implementation makes the algorithm heavily memory-bound. This leads to unnecessary data traffic between global memory and the GPU cache, as well as between the GPU cache and ALU unit in the GPU. Each input image pixel is loaded by 9 separate work-items in other words, each work-item loads 9 pixels from the global memory, and that global memory is used only once by the work-item. In a bid to parallelize arithmetic operations, we have neglected the efficiency of memory load operations and data reuse. Since each output pixel can be evaluated independently of other pixels, we have exploited the data-parallel nature of the problem. Assuming the input is a 2-dimensional, grayscale image with size of WxH, where W is width and H is height, the kernel needs to launch ( WxH) work-items in total. To do this, each work-item needs to load 3x3 pixels i.e., the center pixel corresponding to its global work-item ID, plus the neighboring 8 pixels. Naïve implementationĪ naïve implementation is to have one work-item generate one filtered output pixel. In this blog, we show how to use the GPGPU capabilities of the Adreno GPU to perform blazing-fast edge detection with this filter. Like other image processing operations, the Sobel filter is an embarrassingly parallel operation that is ripe for accelerating on a GPU. Figure 1 shows the two kernels.įigure 1: The two kernels for horizontal and vertical directions It comprises two 3x3 kernels that compute the image derivatives in horizontal (X) and vertical (Y) directions. The Sobel filter is used in many image processing and computer vision algorithms for edge detection. The optimization is based on data load improvement, OpenCL functions, and support for those functions in the Adreno GPU hardware. In this post we’ll cover a two-step optimization for apps that use the Sobel filter. Our previous post about OpenCL optimization on the Qualcomm® Adreno™ GPU described several candidate use cases. Co-written with Hongqiang Wang and Alex Bourd ![]()
0 Comments
![]() While Cars 2 may not do anything to revolutionize the racing genre, it doesn't do anything wrong either. These modes are a nice diversion for when you get tired of the more standard racing affairs. Disruptor is a capture the flag type game, where players must take a spawned bomb to their opponents base in order to destroy it. Arena is a pure head to head destruction competition, where the first player to destroy enough cars wins. Cars 2 also boasts local multiplayer, and in addition to every mode listed above being able to play with friends, there are also two multiplayer specific modes. Each of these modes switches up the formula of driving around a track just enough to be worth playing. Survival mode gives you a constantly depleting shield that you can replenish by driving through checkpoints and destroying enemies. You must destroy as many as you can to keep the timer from reaching zero. Attack mode has you chasing down Professor Z's minions, cleverly named Lemons, on the race track. And like Mario Kart, the further behind the leader you are the better weapon you will obtain. Battle race gives the game a Mario Kart feel as random weapon pickups are available on the track. There's more than just the standard race mode that Cars 2 has to offer. You will need to use all your racing skill if you wish to take home every gold. Again, don't go into Cars 2 thinking every race will be a walk in the park. Each raceway has numerous hidden shortcuts to find, and you will need to use them if you want to win some of the races later on in the campaign. A nice touch was added to the drifts, where if you drift into a wall your character will automatically hop up on two wheels to ride the wall and keep the speed and flow of the race in tact. You can gain turbo by pulling off aerial stunts, bashing into other cars, or drifting. But the similar feel is a solid one as each car handles nicely as you careen around the track. All your favorite Cars characters are on display, and while they do have differing stats (the only two stats being speed or power), they all handle fairly similarly. So much for drama! Don't let the child friendly appearance of the game's subject matter confuse you, Cars 2 is a very well made racing game. But none of this is actually happening, because the entire game takes place inside a simulation. The best way to do this, obviously, is to have a bunch of races. agents are out to stop Professor Z from setting off weapons all over the world. Of course it's a racing game! And a surprisingly solid one at that. ![]() Interestingly for a game consisting completely of cars, the game is a first person puzzle platformer, with some light RPG elements thrown in for good measure. Interestingly for a game consisting completely of cars, the game is a Cars 2 is a video game adaptation of the Pixar film of the same name.
|
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |