Michael Abrash - Michael Abrash

Michael Abrash
Michael Abrash na Facebooku F8 2015.jpg
Michael Abrash jako główny naukowiec Oculus VR na scenie podczas Facebooka F8 2015
Urodzony 1957 (wiek 63–64)
Zawód Programista.
Pisarz techniczny
Pracodawca Oculus VR
Tytuł Główny naukowiec

Michael Abrash jest dyrektorem ds. Oprogramowania, programistą i autorem technicznym specjalizującym się w optymalizacji kodu i języku asemblera 80x86 , którego reputacja została ugruntowana przez jego książkę Zen of Assembly Language Volume 1: Knowledge z 1990 roku oraz miesięczną kolumnę w Dr Dobb's Journal na początku lat 90. Późniejsza książka, Zen of Graphics Programming , zastosowała te pomysły do ​​grafiki 2D i 3D przed pojawieniem się akceleratorów sprzętowych dla komputerów PC. Chociaż nie jest wyłącznie programistą gier, Abrash przez większość swojej kariery pracował nad technologią bazową dla gier, takich jak Quake . Od 2014 roku jest głównym naukowcem Oculus VR , spółki zależnej Facebook, Inc.

Programista gier

Abrash po raz pierwszy kupił mikrokomputer podczas studiów podyplomowych na Uniwersytecie Pensylwanii . Zanim zajął się pisaniem technicznym, Abrash był programistą gier na początku istnienia IBM PC . Jego pierwszą grą komercyjną był klon Space Invaders wydany przez Datamost w 1982 roku jako Space Strike . Jest współautorem kilku gier na PC wraz z Danem Illowsky'm, który wcześniej napisał udany klon Pac-Mana Snack Attack dla Apple II. Abrash i Illowsky pracowali razem nad podobnym do Galaxian Cosmic Crusader (1982), grą w labiryncie Snack Attack II (1982) i grą platformową Big Top (1983).

Po pracy w firmie Microsoft nad grafiką i kodem asemblera dla systemu Windows NT 3.1 , w połowie lat 90. powrócił do branży gier wideo, aby pracować nad Quake dla id Software . Część technologii stojącej za Quake jest udokumentowana w Abrash's Ramblings in Realtime opublikowanym w Dr. Dobb's Journal . Wspomina Quake jako swoją ulubioną grę wszechczasów. Po wydaniu Quake , Abrash wrócił do Microsoftu, aby pracować nad badaniami nad językiem naturalnym, a następnie przeniósł się do zespołu Xbox do 2001 roku.

W 2002 roku Abrash trafił do RAD Game Tools, gdzie był współautorem programu renderującego Pixomatic , który emuluje funkcjonalność karty graficznej na poziomie DirectX 7 i jest używany jako renderer oprogramowania w takich grach jak Unreal Tournament 2004 . Pod koniec 2005 roku Pixomatic został przejęty przez firmę Intel . Tworząc Pixomatic, on i Mike Sartain zaprojektowali nową architekturę o nazwie Larrabee , która jest teraz częścią projektu GPGPU Intela .

Gabe Newell , dyrektor zarządzający Valve , powiedział, że „próbował zatrudnić Michaela Abrasha od zawsze. […] Mniej więcej raz na kwartał idziemy na obiad i mówię„ czy jesteście już gotowi do pracy tutaj? ”„ W 2011 roku Abrash podjął decyzję o dołączeniu do Valve.

28 marca 2014 r., Trzy dni po ogłoszeniu przez Facebooka umów na zakup firmy, firma Oculus VR zajmująca się produkcją słuchawek do wirtualnej rzeczywistości opublikowała oświadczenie, w którym stwierdził, że Michael Abrash dołączył do ich firmy jako główny naukowiec .

Pisarz techniczny

Wczesna praca

Michael Abrash był felietonistą w latach 80. dla magazynu o nazwie Programmer's Journal . Artykuły te zostały zebrane w książce z 1989 roku, Power Graphics Programming .

Jego druga książka, Zen of Assembly Language Volume 1: Knowledge (1990), skupiała się na pisaniu wydajnego kodu asemblera dla 16-bitowego procesora 8086, ale została wydana po tym, jak procesor 80486 był już dostępny. Oprócz optymalizacji na poziomie montażu, książka skupiła się na częściach systemu, które dyskretnie wpływają na wydajność kodu, co nazwał „zjadaczami cykli”. Kluczowym punktem Zen of Assembly Language jest to, że wydajność musi być zawsze mierzona, a książka zawiera narzędzie „Zen Timer”, aby sprawdzić, czy teoretyczne optymalizacje kodu faktycznie zadziałały. Tom 2 nigdy nie został opublikowany.

Książki Dr. Dobba i późniejsze

Na początku do połowy lat dziewięćdziesiątych Abrash napisał dla Dr. Dobb's Journal kolumnę poświęconą programowaniu grafiki na komputery PC , zatytułowaną „Ramblings in Realtime”. W 1991 roku wprowadził tryb X , tryb graficzny VGA 320x240 z kwadratowymi pikselami zamiast lekko wydłużonych pikseli w standardowym trybie 320x200. Jednocześnie przedstawił czytelnikom mało znaną część standardu VGA, pozwalającą na zapis wielu pikseli jednocześnie. Artykuł i jego kontynuacje wzbudziły zainteresowanie wśród programistów gier komputerowych.

Znaczna część zawartości Zen of Assembly Language została zaktualizowana w Zen of Code Optimization: The Ultimate Guide to Writing Software That Powered PC to the Limit (1994), wraz z nowym materiałem. Prezentacja stopniowego udoskonalania programu empirycznie wykazała, w jaki sposób przeprojektowanie algorytmu może poprawić wydajność nawet do współczynnika 100. Z drugiej strony, ponowne kodowanie w języku asemblerowym może poprawić wydajność tylko o współczynnik 10. Abrash pokazał również, jak nieuchwytna wydajność poprawa może nastąpić, a poprawa wydajności w jednym podprogramie może ujawnić wąskie gardła w innych procedurach. Na koniec zademonstrował zależne od procesora ulepszenia wydajności oparte na asemblerze, porównując optymalizacje języka asemblera w różnych generacjach x86, w tym jak zniknęły niektóre mikro-optymalizacje, a nawet spowolniły program.

W 1997 roku ukazała się Czarna Księga Programowania Graficznego Abrasha . Był to zbiór artykułów Dr. Dobb's Journal i jego pracy nad podsystemem graficznym Quake .

Abrash przestał pisać publicznie w 2000 roku do czasu prowadzenia publicznego bloga w Valve „Ramblings in Valve Time” od kwietnia 2012 do stycznia 2014.

Bibliografia

  1. ^ Abrash, Michael (1 kwietnia 1997). „Kilka rzeczy, których nauczyłem się o programowaniu gier w Win32” . Dr Dobb's .
  2. ^ Abrash, Michael (styczeń 1990). Zen języka asemblera: wiedza . Scott Foresman Trade. ISBN   978-0-673-38602-1 .
  3. ^ Abrash, Michael (15.01.1994). Zen of Graphics Programming: najlepszy przewodnik po pisaniu szybkiej grafiki na PC . Grupa Coriolisa; Edycja Bk & Disk. ISBN   978-1-883577-08-7 .
  4. ^ a b „Przedstawiamy Michaela Abrasha, głównego naukowca Oculusa” . Oculus VR. 2014-03-28 . Źródło 28 marca 2014 r .
  5. ^ Haga, James. „Olbrzymia lista klasycznych programistów gier” .
  6. ^ Abrash, Michael (01.02.1996). „Wędrówki w czasie rzeczywistym” . www.drdobbs.com . Źródło 2010-07-10 .
  7. ^ Rurociąg zaworu. „Pipeline Interviews: Michael Abrash on Virtual Reality and the Future of Gaming” . YouTube . Źródło 8 listopada 2016 r .
  8. ^ Abrash, Michael (2009-04-01). „Pierwsze spojrzenie na nowe instrukcje Larrabee (LRBni)” . drdobbs.com/architecture-and-design . Źródło 2010-07-10 .
  9. ^ Walker, John (21.11.2007). „Wyłącznie w RPS: wywiad z Gabe Newellem” . Kamień, papier, strzelba . Źródło 22 stycznia 2010 r .
  10. ^ Crossley, Rob (2011-05-13). „Valve zatrudnia światowej klasy trio deweloperskie” . Rozwijaj się . Źródło 16 maja 2011 r .
  11. ^ „Facebook, aby nabyć Oculus” . Facebook. 2014-03-25 . Źródło 28 marca 2014 r .
  12. ^ Haga, James (18.02.2008). „Pięć pamiętnych książek o programowaniu” . Źródło 2010-07-10 .
  13. ^ Abrash, Michael (08.12.1994). Zen of Code Optimization: najlepszy przewodnik po pisaniu oprogramowania, które doprowadza komputery do granic możliwości . Książki Grupy Coriolis. ISBN   978-1-883577-03-2 .
  14. ^ Abrash, Michael (lipiec 1997). Czarna księga programowania grafiki . Książki Grupy Coriolis. ISBN   978-1-57610-174-2 .
  15. ^ Abrash, Michael (01.11.2001). „Czarna księga programowania grafiki” . www.drdobbs.com/high-performance-computing . Źródło 2010-07-10 .

Zewnętrzne linki