{"id":611,"date":"2010-09-26T20:18:22","date_gmt":"2010-09-27T03:18:22","guid":{"rendered":"http:\/\/mcclanahoochie.com\/blog\/?p=611"},"modified":"2015-04-26T20:55:48","modified_gmt":"2015-04-27T03:55:48","slug":"gtc-2010-trip","status":"publish","type":"post","link":"https:\/\/mcclanahoochie.com\/blog\/2010\/09\/gtc-2010-trip\/","title":{"rendered":"GTC 2010 Trip"},"content":{"rendered":"<p>I just got back from Nvidia&#8217;s 2010 GPU Technology <a href=\"http:\/\/www.nvidia.com\/object\/gpu_technology_conference.html\" target=\"_blank\">Conference<\/a> in San Jose California. I had an amazing trip, and am thankful that I got to go, as it was my first visit to California as well as my first trade show attendance.<\/p>\n<p>[Side Note: The afternoon before the conference, I took Caltrain up to the amazing city of San Fransisco to visit a friend. He toured me around the city streets in beautiful California weather. There is so much to see and do (compared to what&#8217;s around GaTech in Atlanta);<br \/>\nI had a wonderful time!]<\/p>\n<figure id=\"attachment_625\" aria-describedby=\"caption-attachment-625\" style=\"width: 630px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2010\/09\/2010-09-20_09-39-29_568.jpg\"><img data-recalc-dims=\"1\" decoding=\"async\" data-attachment-id=\"625\" data-permalink=\"https:\/\/mcclanahoochie.com\/blog\/2010\/09\/gtc-2010-trip\/2010-09-20_09-39-29_568\/#main\" data-orig-file=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2010\/09\/2010-09-20_09-39-29_568.jpg?fit=3264%2C1840&amp;ssl=1\" data-orig-size=\"3264,1840\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;2.8&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;DROIDX 441a0000fff00000015a48270b019014&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;1285000767&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;4.97&quot;,&quot;iso&quot;:&quot;96&quot;,&quot;shutter_speed&quot;:&quot;0.000492&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"2010 GPU Tech Conference\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2010\/09\/2010-09-20_09-39-29_568.jpg?fit=1024%2C577&amp;ssl=1\" class=\"size-large wp-image-625 \" title=\"2010 GPU Tech Conference\" src=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2010\/09\/2010-09-20_09-39-29_568-1024x577.jpg?resize=640%2C360\" alt=\"Arriving at the 2010 GPU Tech Conference\" width=\"640\" height=\"360\" srcset=\"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2010\/09\/2010-09-20_09-39-29_568.jpg?resize=1024%2C577&amp;ssl=1 1024w, https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2010\/09\/2010-09-20_09-39-29_568.jpg?resize=300%2C169&amp;ssl=1 300w, https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2010\/09\/2010-09-20_09-39-29_568.jpg?w=2400&amp;ssl=1 2400w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/a><figcaption id=\"caption-attachment-625\" class=\"wp-caption-text\">Arriving at the 2010 GPU Tech Conference<\/figcaption><\/figure>\n<p>At the conference, I was in awe of<a href=\"http:\/\/www.nvidia.com\/object\/exhibitors.html\" target=\"_blank\"> all the<\/a> surrounding conference speakers and presenters walking around, and got to talk to a few of them, including some Nvidia folks.\u00a0There seemed to be quite a turnout of companies on the show floor, and plenty of neat research posters scattered about. I spent most of my time either helping man the <a href=\"http:\/\/www.arrayfire.com\/\" target=\"_blank\">AccelerEyes<\/a> booth, or attending the tech talks.<\/p>\n<p>The setup for the talks was sort of frustrating, since so many I wanted to go listen to were <a href=\"http:\/\/www.nvidia.com\/content\/GTC\/documents\/GTC2010_Schedule.pdf\" target=\"_blank\">scheduled<\/a> at the same time. About fifteen different rooms hosted talks simultaneously, six different hours of the day. There was no way to attend to all (or even half) of the presentations I wanted to see. Nonetheless, I still attended many cool talks (I can&#8217;t wait for CUDA+OpenCV), and the <a href=\"http:\/\/on-demand-gtc.gputechconf.com\/gtcnew\/on-demand-gtc.php\" target=\"_blank\">keynotes<\/a> were pretty interesting as well (especially Adobe&#8217;s <a href=\"http:\/\/www.engadget.com\/2010\/09\/23\/adobe-shows-off-plenoptic-lenses-that-let-you-refocus-an-image-a\/\" target=\"_blank\">plenoptic lens<\/a> demo).<\/p>\n<p>The neatest part of the conference was getting the opportunity (last minute, not registered at all) to actually speak about some of the <a href=\"http:\/\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2011\/01\/gtc-2010-mm.pdf\">matrix multiplication<\/a> stuff I learned over the summer at AccelerEyes! I was super excited and thankful, as it was an incredible opportunity for getting a little bit of exposure and recognition.<\/p>\n<p>Beside the fact I never travel much, this trip was by far the best one I have ever had. I&#8217;m definitely more motivated to take advantage of any opportunities to travel, as it was well worth all the school I missed (and now need to make up)! On that note though, unfortunately, I have come back with a bit more apathy towards making good grades in school, versus doing actual <a href=\"http:\/\/blog.accelereyes.com\/blog\/2010\/09\/21\/jacket_at_700_gflops\/\" target=\"_blank\">productive<\/a> things while working at a company such as AccelerEyes. Oh well, this hard work will eventually (hopefully)\u00a0<a href=\"http:\/\/mcclanahoochie.com\/blog\/?p=328\" target=\"_blank\">pay off<\/a>, as it did for me to go to this year&#8217;s GTC!<\/p>\n<p>UPDATE &#8211; Random Info Brain Dump: Nvidia announced their CUDA <a href=\"http:\/\/images.anandtech.com\/doci\/3939\/GPURoadmap.png\" target=\"_blank\">roadmap<\/a> ; they also announced their partnership with ARM+Tegra ; they really want mobile Tegra to take off, but it doesn&#8217;t support CUDA, just OpenGL ; the OpenCV maintainers Willow Garage are working with Nvidia crew to &#8220;extend&#8221; (not port) OpenCV with CUDA ; Vasily and I were not the only ones saying people should go for multiple outputs of data per CUDA thread, and an Nvidia fellow asked me if they should re-think their &#8216;<em>CUDA Best Practices<\/em>&#8216; guide that focus on the simple one thread per data element output &#8211; to which I said they should at least provide examples of doing it both ways, because it depends on the algorithm, but in general you see performance improvement with more work per thread ; there was also an announcement of CUDA-x86 from PGI (CUDA C compiler targeting x86 microprocessors) ; Microsoft demoed IE9 Dx11 GPU acceleration ; I saw a couple of neat 3D TVs on the show floor ; Mental Images gave a cool interactive ray tracing demo in the keynote ;\u00a0Wow, I did leave out a bunch from the original post, sorry&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I just got back from Nvidia&#8217;s 2010 GPU Technology Conference in San Jose California. I had an amazing trip, and am thankful that I got to go, as it was my first visit to California as well as my first trade show attendance. [Side Note: The afternoon before the conference, I took Caltrain up to &#8230; <a title=\"GTC 2010 Trip\" class=\"read-more\" href=\"https:\/\/mcclanahoochie.com\/blog\/2010\/09\/gtc-2010-trip\/\" aria-label=\"Read more about GTC 2010 Trip\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"advanced_seo_description":"","jetpack_seo_html_title":"","jetpack_seo_noindex":false,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[1],"tags":[91,223,100,98,97],"class_list":["post-611","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-arrayfire","tag-conference","tag-gpu","tag-gtc","tag-nvidia"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/pZdXI-9R","jetpack-related-posts":[{"id":2230,"url":"https:\/\/mcclanahoochie.com\/blog\/2012\/05\/arrayfire-gtc-2012-presentations\/","url_meta":{"origin":611,"position":0},"title":"ArrayFire GTC 2012 Presentations","author":"mcclanahoochie","date":"May 25, 2012","format":false,"excerpt":"I got another incredible opportunity to give two introductory talks at Nvidia's 2012 GPU Technology Conference about AccelerEyes's two software products:\u00a0Jacket(MATLAB) and ArrayFire(C++) ! Jacket for Multidimensional Scaling in Genomics - \u00a0Video\u00a0 | \u00a0Slides ArrayFire Graphics: A Tutorial - \u00a0Video\u00a0 | \u00a0Slides \u00a0 Enjoy!","rel":"","context":"In \"arrayfire\"","block_context":{"text":"arrayfire","link":"https:\/\/mcclanahoochie.com\/blog\/tag\/arrayfire\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2012\/05\/DSC_0935-2-small-300x198.png?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":887,"url":"https:\/\/mcclanahoochie.com\/blog\/2011\/01\/gtc-2010-presentation\/","url_meta":{"origin":611,"position":1},"title":"GTC 2010 Presentation","author":"mcclanahoochie","date":"January 1, 2011","format":false,"excerpt":"September 2010 I got an incredible opportunity (at the last minute!) to give a short talk\u00a0at Nvidia's GTC 2010 on what I learned about GPU matrix multiplication, while at\u00a0AccelerEyes over the summer! Watch\u00a0presentation here (I'm 19 minutes in)! \u00a0 \u00a0","rel":"","context":"In \"arrayfire\"","block_context":{"text":"arrayfire","link":"https:\/\/mcclanahoochie.com\/blog\/tag\/arrayfire\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2011\/01\/gtc-2010-front-door.jpg?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":1133,"url":"https:\/\/mcclanahoochie.com\/blog\/2011\/03\/the-history-and-evolution-of-gpu-hardware\/","url_meta":{"origin":611,"position":2},"title":"The History and Evolution of GPU Hardware","author":"mcclanahoochie","date":"March 27, 2011","format":false,"excerpt":"Here is a paper survey I wrote last semester in my CS6290 class about how the Graphics Processing Units (GPUs) hardware architecture has evolved over time. I found the research quite interesting, and spent a lot of time doing it. I'm posting this here, as I feel that more people\u2026","rel":"","context":"In \"evolution\"","block_context":{"text":"evolution","link":"https:\/\/mcclanahoochie.com\/blog\/tag\/evolution\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1876,"url":"https:\/\/mcclanahoochie.com\/blog\/2011\/10\/gpu-convolution-opencv-gpu-and-libjacket-part-2\/","url_meta":{"origin":611,"position":3},"title":"GPU Convolutions: OpenCV GPU and LibJacket &#8211; Part 2","author":"mcclanahoochie","date":"October 24, 2011","format":false,"excerpt":"This is a response to my earlier post comparing OpenCV's gpu::convolve() and LibJacket's jkt::conv2() convolution functions, at various image and kernel sizes. That post generated a lot of traffic, most notably from the OpenCV developer community. Taking note of this, it seems that the folks at Willow Garage have re-vamped\u2026","rel":"","context":"In \"arrayfire\"","block_context":{"text":"arrayfire","link":"https:\/\/mcclanahoochie.com\/blog\/tag\/arrayfire\/"},"img":{"alt_text":".","src":"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2011\/10\/Screenshot-f2-2075.png?resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2011\/10\/Screenshot-f2-2075.png?resize=350%2C200 1x, https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2011\/10\/Screenshot-f2-2075.png?resize=525%2C300 1.5x"},"classes":[]},{"id":1810,"url":"https:\/\/mcclanahoochie.com\/blog\/2011\/09\/opencv-vs-libjacket-gpu-sobel-filtering\/","url_meta":{"origin":611,"position":4},"title":"OpenCV vs. LibJacket: GPU Sobel Filtering","author":"mcclanahoochie","date":"September 24, 2011","format":false,"excerpt":"Update: LibJacket has been renamed to\u00a0\u00a0ArrayFire. In response to a comment on a previous post about integrating LibJacket into an OpenCV project, below is just a simple FYI performance comparison of OpenCV's GPU Sobel filter versus LibJacket's conv2\u00a0convolution\u00a0filter (with a sobel kernel)... This is an evolutionary post, so be sure\u2026","rel":"","context":"In \"arrayfire\"","block_context":{"text":"arrayfire","link":"https:\/\/mcclanahoochie.com\/blog\/tag\/arrayfire\/"},"img":{"alt_text":"Sobel filter: OpenCV GPU vs. LibJacket","src":"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2011\/09\/cv-versus-jkt.png?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":886,"url":"https:\/\/mcclanahoochie.com\/blog\/2011\/01\/mtimes-gpu-matrix-multiplication\/","url_meta":{"origin":611,"position":5},"title":"MTIMES &#8211; GPU Matrix Multiplication","author":"mcclanahoochie","date":"January 1, 2011","format":false,"excerpt":"July 2010 OK, it's not really a project, but I did learn a lot about GPU matrix multiplication over the summer, working\u00a0at AccelerEyes. I\u00a0re-worked the back-end CUDA code for\u00a0the MTIMES Jacket function. I also modified it to accelerate SUM, MIN, and\u00a0MAX. Checkout my MTIMES wiki page!","rel":"","context":"In \"arrayfire\"","block_context":{"text":"arrayfire","link":"https:\/\/mcclanahoochie.com\/blog\/tag\/arrayfire\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/mcclanahoochie.com\/blog\/wp-content\/uploads\/2011\/01\/fermi_gflops_single.jpg?resize=350%2C200","width":350,"height":200},"classes":[]}],"jetpack_likes_enabled":false,"_links":{"self":[{"href":"https:\/\/mcclanahoochie.com\/blog\/wp-json\/wp\/v2\/posts\/611","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mcclanahoochie.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mcclanahoochie.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mcclanahoochie.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mcclanahoochie.com\/blog\/wp-json\/wp\/v2\/comments?post=611"}],"version-history":[{"count":0,"href":"https:\/\/mcclanahoochie.com\/blog\/wp-json\/wp\/v2\/posts\/611\/revisions"}],"wp:attachment":[{"href":"https:\/\/mcclanahoochie.com\/blog\/wp-json\/wp\/v2\/media?parent=611"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mcclanahoochie.com\/blog\/wp-json\/wp\/v2\/categories?post=611"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mcclanahoochie.com\/blog\/wp-json\/wp\/v2\/tags?post=611"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}