|
|
(9 intermediate revisions by the same user not shown) |
Line 1: |
Line 1: |
| Reverse engineering of the [[CUDA]] system. CUDA primarily communicates with the NVIDIA closed-source driver via several dozen undocumented ioctl()s. My open source implementation, libcudest, is located at [http://github.com/dankamongmen/libcudest GitHub]. It began as a project for Hyesoon Kim's [[Grad school|CS4803DGC]] at the Georgia Institute of Technology. | | __INDEX__ |
| | Reverse engineering of the [[CUDA]] system. CUDA primarily communicates with the NVIDIA closed-source driver via several dozen undocumented ioctl()s. My open source implementation, libcudest, is located at [http://github.com/dankamongmen/libcudest GitHub]. Sundry utilities for reverse engineering are also within this repository, though recent modifications to [http://kadu.net/~joi/valgrind-mmt.git/ valgrind-mmt] have rather superseded my tools. |
| | |
| | libcudest began as a project for Hyesoon Kim's [[Grad school|CS4803DGC]] at the Georgia Institute of Technology. |
| ==Driver versions== | | ==Driver versions== |
| Newer drivers can be used with older CUDA versions, but the converse is not true. The "CUDA macroversion" listed below is the first CUDA release designed explicitly for use with the listed drivers. | | Newer drivers can be used with older CUDA versions, but the converse is not true. The "CUDA macroversion" listed below is the first CUDA release designed explicitly for use with the listed drivers. |
Line 335: |
Line 338: |
| | cuInit | | | cuInit |
| | | | | |
| * Inputs: | | * [[#GPU methods|GPU method]] invocation. Second and third words specify the method being called. Fifth and sixth specify the address being passed; seventh and eighth the size thereof. |
| | Sample inputs: |
| <pre>0x7fffffffd310: 3251635025 3251635025 533 0 | | <pre>0x7fffffffd310: 3251635025 3251635025 533 0 |
| 0x7fffffffd320: 4294955888 32767 132 0</pre> | | 0x7fffffffd320: 4294955888 32767 132 0</pre> |
| * Outputs are unchanged | | * First and second words are *not* always equivalent. |
| | * Outputs are usually unchanged, but not always: |
| | <pre>ioctl 2a, 32-byte param, fd 3 0xc1d04214 0x5c000002 0x2080012f 0x00000000 |
| | 0x0010 0x950713f0 0x00007fff 0x000000a8 0x00000000 |
| | GPU method 0x5c000002:2080012f 0x00000000 0x00000000 0x00000000 0x00000000 |
| | 0x0010 0x00000000 0x00000000 0x00000000 0x00000000 |
| | 0x0020 0x00000000 0x00000000 0x00000000 0x00000000 |
| | 0x0030 0x00000000 0x00000000 0x00000000 0x00000000 |
| | 0x0040 0x00000000 0x00000000 0x00000000 0x00000000 |
| | 0x0050 0x00000000 0x00000000 0x00000000 0x00000000 |
| | 0x0060 0x00000000 0x00000000 0x00000000 0x00000000 |
| | 0x0070 0x00000000 0x00000000 0x00000000 0x00000000 |
| | 0x0080 0x00000000 0x00000000 0x00000000 0x00000000 |
| | 0x0090 0x00000000 0x00000000 0x00000000 0x00000000 |
| | 0x00a0 0x00000000 0x00000000 |
| | RESULT: 0 0xc1d04214 0x5c000002 0x2080012f 0x00000000 |
| | 0x0010 0x950713f0 0x00007fff 0x000000a8 0x00000029 |
| | GPU method 0x5c000002:2080012f **************MODIFICATION FROM CALL |
| | 0x00000000 0x00000000 0x00000000 0x00000000 |
| | 0x0010 0x00000000 0x00000000 0x00000000 0x00000000 |
| | 0x0020 0x00000000 0x00000000 0x00000000 0x00000000 |
| | 0x0030 0x00000000 0x00000000 0x00000000 0x00000000 |
| | 0x0040 0x00000000 0x00000000 0x00000000 0x00000000 |
| | 0x0050 0x00000000 0x00000000 0x00000000 0x00000000 |
| | 0x0060 0x00000000 0x00000000 0x00000000 0x00000000 |
| | 0x0070 0x00000000 0x00000000 0x00000000 0x00000000 |
| | 0x0080 0x00000000 0x00000000 0x00000000 0x00000000 |
| | 0x0090 0x00000000 0x00000000 0x00000000 0x00000000 |
| | 0x00a0 0x00000000 0x00000000 </pre> |
| |- | | |- |
| | 0x2b | | | 0x2b |
Line 345: |
Line 377: |
| | cuInit | | | cuInit |
| | | | | |
| | * GPU object creation(?) |
| |- | | |- |
| | 0x4d | | | 0x4d |
Line 416: |
Line 449: |
| |- | | |- |
| |} | | |} |
| | | ==GPU methods== |
| ==disassembly== | |
| This disassembly makes use of <tt>libcuda.so.195.36.15</tt> (0867d66be617faab3782fa0ba19ec9ba, 7404990 bytes). Symbols were extracted via <tt>objdump -T</tt>.
| |
| AMD64 ABI:
| |
| * Integer arguments via RDI, RSI, RDX, RCX, R8 and R9, then stack
| |
| * FP arguments in XMM0..XMM7, then stack
| |
| * Return value in RAX
| |
| {| border="1" class="sortable" | | {| border="1" class="sortable" |
| ! location (.text is 000000000007fd10) | | ! Code |
| ! length | | ! Param size |
| ! symbol | | ! Notes |
| ! notes
| |
| |-
| |
| | ebce0
| |
| |
| |
| |
| |
| |<code>
| |
| ebce0: 41 55 push %r13
| |
| ebce2: 49 89 fd mov %rdi,%r13
| |
| ebce5: 41 54 push %r12
| |
| ebce7: 49 89 f4 mov %rsi,%r12
| |
| ebcea: 55 push %rbp
| |
| ebceb: 53 push %rbx
| |
| ebcec: 48 83 ec 08 sub $0x8,%rsp
| |
| ebcf0: 8b 35 2a 49 72 00 mov 0x72492a(%rip),%esi # 810620 <__isinff@plt+0x790920>
| |
| ebcf6: 85 f6 test %esi,%esi
| |
| ebcf8: 0f 84 16 01 00 00 je ebe14 <__isinff@plt+0x6c114>
| |
| ebcfe: 8b 0d 2c 49 72 00 mov 0x72492c(%rip),%ecx # 810630 <__isinff@plt+0x790930>
| |
| ebd04: 85 c9 test %ecx,%ecx
| |
| ebd06: 0f 8e 08 01 00 00 jle ebe14 <__isinff@plt+0x6c114>
| |
| ebd0c: 48 8d 1d 0d 49 72 00 lea 0x72490d(%rip),%rbx # 810620 <__isinff@plt+0x790920>
| |
| ebd13: 31 ed xor %ebp,%ebp
| |
| ebd15: 48 8b 7b 28 mov 0x28(%rbx),%rdi
| |
| ebd19: 4c 89 e2 mov %r12,%rdx
| |
| ebd1c: 4c 89 ee mov %r13,%rsi
| |
| ebd1f: ff c5 inc %ebp
| |
| ebd21: ff 53 20 callq *0x20(%rbx)
| |
| ebd24: 48 83 c3 18 add $0x18,%rbx
| |
| ebd28: 39 2d 02 49 72 00 cmp %ebp,0x724902(%rip) # 810630 <__isinff@plt+0x790930>
| |
| ebd2e: 0f 8e e0 00 00 00 jle ebe14 <__isinff@plt+0x6c114>
| |
| ebd34: 48 8b 7b 28 mov 0x28(%rbx),%rdi
| |
| ebd38: 4c 89 e2 mov %r12,%rdx
| |
| ebd3b: 4c 89 ee mov %r13,%rsi
| |
| ebd3e: ff 53 20 callq *0x20(%rbx)
| |
| ebd41: 8d 45 01 lea 0x1(%rbp),%eax
| |
| ebd44: 39 05 e6 48 72 00 cmp %eax,0x7248e6(%rip) # 810630 <__isinff@plt+0x790930>
| |
| ebd4a: 48 8d 4b 18 lea 0x18(%rbx),%rcx
| |
| ebd4e: 0f 8e c0 00 00 00 jle ebe14 <__isinff@plt+0x6c114>
| |
| ebd54: 48 8b 79 28 mov 0x28(%rcx),%rdi
| |
| ebd58: 4c 89 e2 mov %r12,%rdx
| |
| ebd5b: 4c 89 ee mov %r13,%rsi
| |
| ebd5e: ff 51 20 callq *0x20(%rcx)
| |
| ebd61: 8d 55 02 lea 0x2(%rbp),%edx
| |
| ebd64: 39 15 c6 48 72 00 cmp %edx,0x7248c6(%rip) # 810630 <__isinff@plt+0x790930>
| |
| ebd6a: 48 8d 4b 30 lea 0x30(%rbx),%rcx
| |
| ebd6e: 0f 8e a0 00 00 00 jle ebe14 <__isinff@plt+0x6c114>
| |
| ebd74: 48 8b 79 28 mov 0x28(%rcx),%rdi
| |
| ebd78: 4c 89 e2 mov %r12,%rdx
| |
| ebd7b: 4c 89 ee mov %r13,%rsi
| |
| ebd7e: ff 51 20 callq *0x20(%rcx)
| |
| ebd81: 8d 7d 03 lea 0x3(%rbp),%edi
| |
| ebd84: 39 3d a6 48 72 00 cmp %edi,0x7248a6(%rip) # 810630 <__isinff@plt+0x790930>
| |
| ebd8a: 48 8d 4b 48 lea 0x48(%rbx),%rcx
| |
| ebd8e: 0f 8e 80 00 00 00 jle ebe14 <__isinff@plt+0x6c114>
| |
| ebd94: 48 8b 79 28 mov 0x28(%rcx),%rdi
| |
| ebd98: 4c 89 e2 mov %r12,%rdx
| |
| ebd9b: 4c 89 ee mov %r13,%rsi
| |
| ebd9e: ff 51 20 callq *0x20(%rcx)
| |
| ebda1: 44 8d 45 04 lea 0x4(%rbp),%r8d
| |
| ebda5: 44 39 05 84 48 72 00 cmp %r8d,0x724884(%rip) # 810630 <__isinff@plt+0x790930>
| |
| ebdac: 48 8d 4b 60 lea 0x60(%rbx),%rcx
| |
| ebdb0: 7e 62 jle ebe14 <__isinff@plt+0x6c114>
| |
| ebdb2: 48 8b 79 28 mov 0x28(%rcx),%rdi
| |
| ebdb6: 4c 89 e2 mov %r12,%rdx
| |
| ebdb9: 4c 89 ee mov %r13,%rsi
| |
| ebdbc: ff 51 20 callq *0x20(%rcx)
| |
| ebdbf: 44 8d 4d 05 lea 0x5(%rbp),%r9d
| |
| ebdc3: 44 39 0d 66 48 72 00 cmp %r9d,0x724866(%rip) # 810630 <__isinff@plt+0x790930>
| |
| ebdca: 48 8d 4b 78 lea 0x78(%rbx),%rcx
| |
| ebdce: 7e 44 jle ebe14 <__isinff@plt+0x6c114>
| |
| ebdd0: 48 8b 79 28 mov 0x28(%rcx),%rdi
| |
| ebdd4: 4c 89 e2 mov %r12,%rdx
| |
| ebdd7: 4c 89 ee mov %r13,%rsi
| |
| ebdda: ff 51 20 callq *0x20(%rcx)
| |
| ebddd: 44 8d 55 06 lea 0x6(%rbp),%r10d
| |
| ebde1: 44 39 15 48 48 72 00 cmp %r10d,0x724848(%rip) # 810630 <__isinff@plt+0x790930>
| |
| ebde8: 48 8d 8b 90 00 00 00 lea 0x90(%rbx),%rcx
| |
| ebdef: 7e 23 jle ebe14 <__isinff@plt+0x6c114>
| |
| ebdf1: 48 8b 79 28 mov 0x28(%rcx),%rdi
| |
| ebdf5: 4c 89 e2 mov %r12,%rdx
| |
| ebdf8: 4c 89 ee mov %r13,%rsi
| |
| ebdfb: 83 c5 07 add $0x7,%ebp
| |
| ebdfe: 48 81 c3 a8 00 00 00 add $0xa8,%rbx
| |
| ebe05: ff 51 20 callq *0x20(%rcx)
| |
| ebe08: 39 2d 22 48 72 00 cmp %ebp,0x724822(%rip) # 810630 <__isinff@plt+0x790930>
| |
| ebe0e: 0f 8f 01 ff ff ff jg ebd15 <__isinff@plt+0x6c015>
| |
| ebe14: 48 83 c4 08 add $0x8,%rsp
| |
| ebe18: 5b pop %rbx
| |
| ebe19: 5d pop %rbp
| |
| ebe1a: 41 5c pop %r12
| |
| ebe1c: 41 5d pop %r13
| |
| ebe1e: c3 retq
| |
| </code>
| |
| |-
| |
| | 5c7850
| |
| |
| |
| | Pthread_setspecific()
| |
| |<code>
| |
| 5c7850: ff cf dec %edi
| |
| 5c7852: e9 e9 7c ab ff jmpq 7f540 <pthread_setspecific@plt>
| |
| </code>
| |
| |-
| |
| | |
| | 5c7860
| |
| |
| |
| | Pthread_getspecific()
| |
| |<code>
| |
| 5c7860: ff cf dec %edi
| |
| 5c7862: e9 49 83 ab ff jmpq 7fbb0 <pthread_getspecific@plt>
| |
| </code>
| |
| |-
| |
| | 905d0
| |
| |
| |
| | "lookupContext()"
| |
| |<code>
| |
| // Check for 0x321cbda00, the "driver deinitialized" magic constant. Return 4 if set.
| |
| | |
| 905d0: 48 8b 05 91 e0 77 00 mov 0x77e091(%rip),%rax # 80e668 <__isinff@plt+0x78e968> push %rbx
| |
| 905d8: b9 04 00 00 00 mov $0x4,%ecx
| |
| 905dd: 48 89 fb mov %rdi,%rbx
| |
| 905e0: 8b 90 88 01 00 00 mov 0x188(%rax),%edx
| |
| 905e6: 81 fa 00 ba 1c 32 cmp $0x321cba00,%edx
| |
| 905ec: 74 0a je 905f8 <__isinff@plt+0x108f8>
| |
| | |
| // Check for 0xabc123, the "driver initialized" magic constant. Return 3 if unset.
| |
| | |
| 905ee: 81 fa 23 c1 ab 00 cmp $0xabc123,%edx
| |
| 905f4: b1 03 mov $0x3,%cl
| |
| 905f6: 74 08 je 90600 <__isinff@plt+0x10900>
| |
| 905f8: 5b pop %rbx
| |
| 905f9: 89 c8 mov %ecx,%eax
| |
| 905fb: c3 retq
| |
| 905fc: 66 66 66 90 xchg %ax,%ax
| |
| | |
| // Also return 3 (DRIVER_UNINITIALIZED) if we were passed an uninitialized key.
| |
| | |
| 90600: 30 c9 xor %cl,%cl
| |
| 90602: 48 85 ff test %rdi,%rdi
| |
| 90605: 74 f1 je 905f8 <__isinff@plt+0x108f8>
| |
| | |
| // Call pthread_getspecific()
| |
| | |
| 90607: 8b 38 mov (%rax),%edi
| |
| 90609: e8 52 72 53 00 callq 5c7860 <__isinff@plt+0x547b60>
| |
| | |
| // Check for NULL from pthread_getspecific(). Return 201 (INVALID_CONTEXT) in that case.
| |
| | |
| 9060e: 48 85 c0 test %rax,%rax
| |
| 90611: 48 89 03 mov %rax,(%rbx)
| |
| 90614: b9 c9 00 00 00 mov $0xc9,%ecx
| |
| 90619: 74 dd je 905f8 <__isinff@plt+0x108f8>
| |
| | |
| // We had a valid context object. Return 0x338 bytes into it.
| |
| | |
| 9061b: 8b 88 38 03 00 00 mov 0x338(%rax),%ecx
| |
| 90621: 5b pop %rbx
| |
| 90622: 89 c8 mov %ecx,%eax
| |
| 90624: c3 retq
| |
| </code>
| |
| |-
| |
| | ebcd0
| |
| |
| |
| |
| |
| |<code>
| |
| ebcd0: 31 c0 xor %eax,%eax
| |
| ebcd2: 83 3d 4b 49 72 00 00 cmpl $0x0,0x72494b(%rip) # 810624 <__isinff@plt+0x790924>
| |
| ebcd9: 0f 95 c0 setne %al
| |
| ebcdc: c3 retq
| |
| </code>
| |
| |-
| |
| |81460
| |
| |
| |
| |
| |
| |<code>
| |
| 81460: 53 push %rbx
| |
| 81461: 89 fb mov %edi,%ebx
| |
| 81463: e8 b8 f2 00 00 callq 90720 <__isinff@plt+0x10a20>
| |
| 81468: 85 db test %ebx,%ebx
| |
| 8146a: 74 07 je 81473 <__isinff@plt+0x1773>
| |
| 8146c: 5b pop %rbx
| |
| 8146d: b8 01 00 00 00 mov $0x1,%eax
| |
| 81472: c3 retq
| |
| 81473: 5b pop %rbx
| |
| 81474: e9 07 f4 00 00 jmpq 90880 <__isinff@plt+0x10b80>
| |
| </code>
| |
| |-
| |
| | 90720
| |
| |
| |
| |
| |
| |<code>
| |
| 90720: 53 push %rbx
| |
| 90721: 48 8b 1d 40 df 77 00 mov 0x77df40(%rip),%rbx # 80e668 <__isinff@plt+0x78e968>
| |
| 90728: 8b 83 80 01 00 00 mov 0x180(%rbx),%eax
| |
| 9072e: 85 c0 test %eax,%eax
| |
| 90730: 74 02 je 90734 <__isinff@plt+0x10a34>
| |
| 90732: 5b pop %rbx
| |
| 90733: c3 retq
| |
| 90734: 48 8d bb 78 01 00 00 lea 0x178(%rbx),%rdi
| |
| 9073b: 31 d2 xor %edx,%edx
| |
| 9073d: be 01 00 00 00 mov $0x1,%esi
| |
| 90742: e8 b9 69 53 00 callq 5c7100 <__isinff@plt+0x547400>
| |
| 90747: 85 c0 test %eax,%eax
| |
| 90749: 0f 84 9a 00 00 00 je 907e9 <__isinff@plt+0x10ae9>
| |
| 9074f: 44 8b 9b 80 01 00 00 mov 0x180(%rbx),%r11d
| |
| 90756: 45 85 db test %r11d,%r11d
| |
| 90759: 75 d7 jne 90732 <__isinff@plt+0x10a32>
| |
| 9075b: e8 20 70 53 00 callq 5c7780 <__isinff@plt+0x547a80>
| |
| 90760: 8b 93 80 01 00 00 mov 0x180(%rbx),%edx
| |
| 90766: 85 d2 test %edx,%edx
| |
| 90768: 75 c8 jne 90732 <__isinff@plt+0x10a32>
| |
| 9076a: e8 11 70 53 00 callq 5c7780 <__isinff@plt+0x547a80>
| |
| 9076f: 8b 8b 80 01 00 00 mov 0x180(%rbx),%ecx
| |
| 90775: 85 c9 test %ecx,%ecx
| |
| 90777: 75 b9 jne 90732 <__isinff@plt+0x10a32>
| |
| 90779: e8 02 70 53 00 callq 5c7780 <__isinff@plt+0x547a80>
| |
| 9077e: 8b b3 80 01 00 00 mov 0x180(%rbx),%esi
| |
| 90784: 85 f6 test %esi,%esi
| |
| 90786: 75 aa jne 90732 <__isinff@plt+0x10a32>
| |
| 90788: e8 f3 6f 53 00 callq 5c7780 <__isinff@plt+0x547a80>
| |
| 9078d: 8b bb 80 01 00 00 mov 0x180(%rbx),%edi
| |
| 90793: 85 ff test %edi,%edi
| |
| 90795: 75 9b jne 90732 <__isinff@plt+0x10a32>
| |
| 90797: e8 e4 6f 53 00 callq 5c7780 <__isinff@plt+0x547a80>
| |
| 9079c: 44 8b 83 80 01 00 00 mov 0x180(%rbx),%r8d
| |
| 907a3: 45 85 c0 test %r8d,%r8d
| |
| 907a6: 75 8a jne 90732 <__isinff@plt+0x10a32>
| |
| 907a8: e8 d3 6f 53 00 callq 5c7780 <__isinff@plt+0x547a80>
| |
| 907ad: 44 8b 8b 80 01 00 00 mov 0x180(%rbx),%r9d
| |
| 907b4: 45 85 c9 test %r9d,%r9d
| |
| 907b7: 0f 85 75 ff ff ff jne 90732 <__isinff@plt+0x10a32>
| |
| 907bd: e8 be 6f 53 00 callq 5c7780 <__isinff@plt+0x547a80>
| |
| 907c2: 44 8b 93 80 01 00 00 mov 0x180(%rbx),%r10d
| |
| 907c9: 45 85 d2 test %r10d,%r10d
| |
| 907cc: 0f 85 60 ff ff ff jne 90732 <__isinff@plt+0x10a32>
| |
| 907d2: e8 a9 6f 53 00 callq 5c7780 <__isinff@plt+0x547a80>
| |
| 907d7: 44 8b 9b 80 01 00 00 mov 0x180(%rbx),%r11d
| |
| 907de: 45 85 db test %r11d,%r11d
| |
| 907e1: 0f 84 74 ff ff ff je 9075b <__isinff@plt+0x10a5b>
| |
| 907e7: 5b pop %rbx
| |
| 907e8: c3 retq
| |
| </code>
| |
| |-
| |
| |0x90880
| |
| |
| |
| |
| |
| |<code>
| |
| 90880: 41 54 push %r12
| |
| 90882: 55 push %rbp
| |
| 90883: 53 push %rbx
| |
| 90884: 31 db xor %ebx,%ebx
| |
| 90886: 48 81 ec 00 08 00 00 sub $0x800,%rsp
| |
| 9088d: e8 8e fe ff ff callq 90720 <__isinff@plt+0x10a20>
| |
| 90892: 48 8b 2d cf dd 77 00 mov 0x77ddcf(%rip),%rbp # 80e668 <__isinff@plt+0x78e968>8 lea 0x8(%rbp),%rdi
| |
| 9089d: e8 1e 6f 53 00 callq 5c77c0 <__isinff@plt+0x547ac0>
| |
| 908a2: 81 bd 88 01 00 00 23 cmpl $0xabc123,0x188(%rbp)
| |
| 908a9: c1 ab 00
| |
| 908ac: 0f 84 16 01 00 00 je 909c8 <__isinff@plt+0x10cc8>
| |
| 908b2: 4c 8d a4 24 00 04 00 lea 0x400(%rsp),%r12
| |
| 908b9: 00
| |
| 908ba: 48 8d 3d eb 77 53 00 lea 0x5377eb(%rip),%rdi # 5c80ac <__isinff@plt+0x5483ac>0 00 mov $0x400,%edx
| |
| 908c6: c6 84 24 00 04 00 00 movb $0x0,0x400(%rsp)
| |
| 908cd: 00
| |
| 908ce: c6 04 24 00 movb $0x0,(%rsp)
| |
| 908d2: 4c 89 e6 mov %r12,%rsi
| |
| 908d5: e8 76 70 53 00 callq 5c7950 <__isinff@plt+0x547c50>
| |
| 908da: 48 8d 3d cb 76 53 00 lea 0x5376cb(%rip),%rdi # 5c7fac <__isinff@plt+0x5482ac> mov %rsp,%rsi
| |
| 908e4: ba 00 04 00 00 mov $0x400,%edx
| |
| 908e9: e8 62 70 53 00 callq 5c7950 <__isinff@plt+0x547c50>
| |
| 908ee: 80 3c 24 00 cmpb $0x0,(%rsp)
| |
| 908f2: 0f 85 e8 00 00 00 jne 909e0 <__isinff@plt+0x10ce0>
| |
| 908f8: c7 85 c0 03 00 00 00 movl $0x0,0x3c0(%rbp)
| |
| 908ff: 00 00 00
| |
| 90902: e8 89 6e 53 00 callq 5c7790 <__isinff@plt+0x547a90>
| |
| 90907: 48 8d bd a0 01 00 00 lea 0x1a0(%rbp),%rdi
| |
| 9090e: 31 f6 xor %esi,%esi
| |
| 90910: ba 00 01 00 00 mov $0x100,%edx
| |
| 90915: 89 85 90 04 00 00 mov %eax,0x490(%rbp)
| |
| 9091b: c7 85 a0 04 00 00 00 movl $0x0,0x4a0(%rbp)
| |
| 90922: 00 00 00
| |
| 90925: 48 c7 85 98 04 00 00 movq $0x0,0x498(%rbp)
| |
| 9092c: 00 00 00 00
| |
| 90930: c7 85 b0 03 00 00 00 movl $0x0,0x3b0(%rbp)
| |
| 90937: 00 00 00
| |
| 9093a: c7 85 a0 02 00 00 00 movl $0x0,0x2a0(%rbp)
| |
| 90941: 00 00 00
| |
| 90944: c7 85 94 01 00 00 00 movl $0x0,0x194(%rbp)
| |
| 9094b: 00 00 00
| |
| 9094e: e8 3d f0 fe ff callq 7f990 <memset@plt>
| |
| 90953: 48 8d bd c0 04 00 00 lea 0x4c0(%rbp),%rdi
| |
| 9095a: e8 b1 c4 00 00 callq 9ce10 <__isinff@plt+0x1d110>
| |
| 9095f: e8 cc 1e 07 00 callq 102830 <__isinff@plt+0x82b30>
| |
| 90964: 85 c0 test %eax,%eax
| |
| 90966: 89 c3 mov %eax,%ebx
| |
| 90968: 0f 84 9a 00 00 00 je 90a08 <__isinff@plt+0x10d08>
| |
| 9096e: 48 8b bd b8 03 00 00 mov 0x3b8(%rbp),%rdi
| |
| 90975: 48 85 ff test %rdi,%rdi
| |
| 90978: 74 10 je 9098a <__isinff@plt+0x10c8a>
| |
| 9097a: e8 d1 a8 00 00 callq 9b250 <__isinff@plt+0x1b550>
| |
| 9097f: 48 c7 85 b8 03 00 00 movq $0x0,0x3b8(%rbp)
| |
| 90986: 00 00 00 00
| |
| 9098a: 85 db test %ebx,%ebx
| |
| 9098c: 75 72 jne 90a00 <__isinff@plt+0x10d00>
| |
| 9098e: c7 85 88 01 00 00 23 movl $0xabc123,0x188(%rbp)
| |
| 90995: c1 ab 00
| |
| 90998: c7 85 94 04 00 00 00 movl $0x0,0x494(%rbp)
| |
| 9099f: 00 00 00
| |
| 909a2: e8 79 b4 05 00 callq ebe20 <__isinff@plt+0x6c120>
| |
| 909a7: e8 24 b3 05 00 callq ebcd0 <__isinff@plt+0x6bfd0>
| |
| 909ac: 84 c0 test %al,%al
| |
| 909ae: 0f 85 ac 00 00 00 jne 90a60 <__isinff@plt+0x10d60>
| |
| 909b4: e8 b7 20 07 00 callq 102a70 <__isinff@plt+0x82d70>
| |
| 909b9: 31 db xor %ebx,%ebx
| |
| 909bb: e8 10 b3 05 00 callq ebcd0 <__isinff@plt+0x6bfd0>
| |
| 909c0: 84 c0 test %al,%al
| |
| 909c2: 0f 85 7f 00 00 00 jne 90a47 <__isinff@plt+0x10d47>
| |
| 909c8: 48 8d 7d 08 lea 0x8(%rbp),%rdi
| |
| 909cc: e8 df 6d 53 00 callq 5c77b0 <__isinff@plt+0x547ab0>
| |
| 909d1: 48 81 c4 00 08 00 00 add $0x800,%rsp
| |
| 909d8: 89 d8 mov %ebx,%eax
| |
| 909da: 5b pop %rbx
| |
| 909db: 5d pop %rbp
| |
| 909dc: 41 5c pop %r12
| |
| 909de: c3 retq
| |
| 909df: 90 nop
| |
| 909e0: 80 bc 24 00 04 00 00 cmpb $0x0,0x400(%rsp)
| |
| 909e7: 00
| |
| 909e8: 0f 84 0a ff ff ff je 908f8 <__isinff@plt+0x10bf8>
| |
| 909ee: c7 85 c0 03 00 00 01 movl $0x1,0x3c0(%rbp)
| |
| 909f5: 00 00 00
| |
| 909f8: e9 05 ff ff ff jmpq 90902 <__isinff@plt+0x10c02>
| |
| 909fd: 66 66 90 xchg %ax,%ax
| |
| 90a00: 89 9d 88 01 00 00 mov %ebx,0x188(%rbp)
| |
| 90a06: eb c0 jmp 909c8 <__isinff@plt+0x10cc8>
| |
| 90a08: 48 8b 3d 19 e5 77 00 mov 0x77e519(%rip),%rdi # 80ef28 <__isinff@plt+0x78f228>
| |
| 90a0f: b3 02 mov $0x2,%bl
| |
| 90a11: e8 6a 6e 53 00 callq 5c7880 <__isinff@plt+0x547b80>
| |
| 90a16: 85 c0 test %eax,%eax
| |
| 90a18: 89 45 00 mov %eax,0x0(%rbp)
| |
| 90a1b: 0f 84 4d ff ff ff je 9096e <__isinff@plt+0x10c6e>
| |
| 90a21: be 01 00 00 00 mov $0x1,%esi
| |
| 90a26: 4c 89 e7 mov %r12,%rdi
| |
| 90a29: e8 a2 66 53 00 callq 5c70d0 <__isinff@plt+0x5473d0>
| |
| 90a2e: f6 84 24 0a 04 00 00 testb $0x8,0x40a(%rsp)
| |
| 90a35: 08
| |
| 90a36: 75 3b jne 90a73 <__isinff@plt+0x10d73>
| |
| 90a38: e8 23 bc 01 00 callq ac660 <__isinff@plt+0x2c960>
| |
| 90a3d: e8 ce b5 05 00 callq ec010 <__isinff@plt+0x6c310>
| |
| 90a42: e9 47 ff ff ff jmpq 9098e <__isinff@plt+0x10c8e>
| |
| 90a47: 48 8b 3d 0a cd 77 00 mov 0x77cd0a(%rip),%rdi # 80d758 <__isinff@plt+0x78da58>
| |
| 90a4e: 31 f6 xor %esi,%esi
| |
| 90a50: e8 8b b2 05 00 callq ebce0 <__isinff@plt+0x6bfe0>
| |
| 90a55: e9 6e ff ff ff jmpq 909c8 <__isinff@plt+0x10cc8>
| |
| 90a5a: 66 66 90 xchg %ax,%ax
| |
| 90a5d: 66 66 90 xchg %ax,%ax
| |
| 90a60: 48 8b 3d b1 dd 77 00 mov 0x77ddb1(%rip),%rdi # 80e818 <__isinff@plt+0x78eb18>
| |
| 90a67: 31 f6 xor %esi,%esi
| |
| 90a69: e8 72 b2 05 00 callq ebce0 <__isinff@plt+0x6bfe0>
| |
| 90a6e: e9 41 ff ff ff jmpq 909b4 <__isinff@plt+0x10cb4>
| |
| 90a73: 83 8d a4 04 00 00 01 orl $0x1,0x4a4(%rbp)
| |
| 90a7a: eb bc jmp 90a38 <__isinff@plt+0x10d38>
| |
| 90a7c: 66 66 66 90 xchg %ax,%ax
| |
| 90a80: 53 push %rbx
| |
| 90a81: 48 8b 1d e0 db 77 00 mov 0x77dbe0(%rip),%rbx # 80e668 <__isinff@plt+0x78e968>
| |
| 90a88: 8b 3b mov (%rbx),%edi
| |
| 90a8a: 85 ff test %edi,%edi
| |
| 90a8c: 75 12 jne 90aa0 <__isinff@plt+0x10da0>
| |
| 90a8e: c7 83 88 01 00 00 00 movl $0x321cba00,0x188(%rbx)
| |
| 90a95: ba 1c 32
| |
| 90a98: 5b pop %rbx
| |
| 90a99: c3 retq
| |
| </code>
| |
| |-
| |
| |0x10a6a0
| |
| |0x18c
| |
| |cuCtxSynchronize
| |
| |
| |
| |-
| |
| |0x10a830
| |
| |0x253
| |
| |cuInit
| |
| |<code>
| |
| 10a830: 48 89 5c 24 e0 mov %rbx,-0x20(%rsp)
| |
| 10a835: 48 89 6c 24 e8 mov %rbp,-0x18(%rsp)
| |
| 10a83a: 89 fd mov %edi,%ebp
| |
| 10a83c: 4c 89 64 24 f0 mov %r12,-0x10(%rsp)
| |
| 10a841: 4c 89 6c 24 f8 mov %r13,-0x8(%rsp)
| |
| 10a846: 48 81 ec 88 00 00 00 sub $0x88,%rsp
| |
| 10a84d: 48 c7 44 24 48 00 00 movq $0x0,0x48(%rsp)
| |
| 10a854: 00 00
| |
| 10a856: e8 75 14 fe ff callq ebcd0 <__isinff@plt+0x6bfd0>
| |
| 10a85b: 84 c0 test %al,%al
| |
| 10a85d: 89 c3 mov %eax,%ebx
| |
| 10a85f: 0f 85 52 01 00 00 jne 10a9b7 <__isinff@plt+0x8acb7>
| |
| 10a865: 45 31 ed xor %r13d,%r13d
| |
| 10a868: 44 8b 0d a5 5f 70 00 mov 0x705fa5(%rip),%r9d # 810814 <__isinff@plt+0x790b14>
| |
| 10a86f: 45 85 c9 test %r9d,%r9d
| |
| 10a872: 0f 84 08 01 00 00 je 10a980 <__isinff@plt+0x8ac80>
| |
| | |
| // first-time initialization sequence returns to here
| |
| | |
| 10a878: 89 ef mov %ebp,%edi
| |
| 10a87a: e8 e1 6b f7 ff callq 81460 <__isinff@plt+0x1760>
| |
| 10a87f: 44 8b 15 8e 5f 70 00 mov 0x705f8e(%rip),%r10d # 810814 <__isinff@plt+0x790b14>
| |
| 10a886: 41 89 c4 mov %eax,%r12d
| |
| 10a889: 45 85 d2 test %r10d,%r10d
| |
| 10a88c: 0f 84 b4 00 00 00 je 10a946 <__isinff@plt+0x8ac46>
| |
| 10a892: 84 db test %bl,%bl
| |
| 10a894: 0f 95 c3 setne %bl
| |
| 10a897: 44 84 eb test %r13b,%bl
| |
| 10a89a: 75 24 jne 10a8c0 <__isinff@plt+0x8abc0>
| |
| 10a89c: 44 89 e0 mov %r12d,%eax
| |
| 10a89f: 48 8b 5c 24 68 mov 0x68(%rsp),%rbx
| |
| 10a8a4: 48 8b 6c 24 70 mov 0x70(%rsp),%rbp
| |
| 10a8a9: 4c 8b 64 24 78 mov 0x78(%rsp),%r12
| |
| 10a8ae: 4c 8b ac 24 80 00 00 mov 0x80(%rsp),%r13
| |
| 10a8b5: 00
| |
| 10a8b6: 48 81 c4 88 00 00 00 add $0x88,%rsp
| |
| 10a8bd: c3 retq
| |
| 10a8be: 66 90 xchg %ax,%ax
| |
| 10a8c0: fc cld
| |
| 10a8c1: 31 c0 xor %eax,%eax
| |
| 10a8c3: b9 08 00 00 00 mov $0x8,%ecx
| |
| 10a8c8: 48 89 e7 mov %rsp,%rdi
| |
| 10a8cb: f3 48 ab rep stos %rax,%es:(%rdi)
| |
| 10a8ce: 4c 8b 2d 93 3d 70 00 mov 0x703d93(%rip),%r13 # 80e668 <__isinff@plt+0x78e968>
| |
| 10a8d5: 89 6c 24 50 mov %ebp,0x50(%rsp)
| |
| 10a8d9: 48 8d 6c 24 50 lea 0x50(%rsp),%rbp
| |
| 10a8de: 41 8b 7d 00 mov 0x0(%r13),%edi
| |
| 10a8e2: e8 79 cf 4b 00 callq 5c7860 <__isinff@plt+0x547b60>
| |
| 10a8e7: 4c 8d 1d 75 0a 4d 00 lea 0x4d0a75(%rip),%r11 # 5db363 <__isinff@plt+0x55b663>
| |
| 10a8ee: 48 89 c2 mov %rax,%rdx
| |
| 10a8f1: 48 89 04 24 mov %rax,(%rsp)
| |
| 10a8f5: 31 c0 xor %eax,%eax
| |
| 10a8f7: 48 85 d2 test %rdx,%rdx
| |
| 10a8fa: 48 c7 44 24 08 00 00 movq $0x0,0x8(%rsp)
| |
| 10a901: 00 00
| |
| 10a903: c7 44 24 10 01 00 00 movl $0x1,0x10(%rsp)
| |
| 10a90a: 00
| |
| 10a90b: 4c 89 5c 24 18 mov %r11,0x18(%rsp)
| |
| 10a910: 48 89 6c 24 20 mov %rbp,0x20(%rsp)
| |
| 10a915: 74 07 je 10a91e <__isinff@plt+0x8ac1e>
| |
| 10a917: 48 8b 82 f0 03 00 00 mov 0x3f0(%rdx),%rax
| |
| 10a91e: 48 8b 74 24 48 mov 0x48(%rsp),%rsi
| |
| 10a923: 48 8b 3d 16 43 70 00 mov 0x704316(%rip),%rdi # 80ec40 <__isinff@plt+0x78ef40>
| |
| 10a92a: 48 89 44 24 28 mov %rax,0x28(%rsp)
| |
| 10a92f: 44 89 64 24 38 mov %r12d,0x38(%rsp)
| |
| 10a934: 48 89 74 24 30 mov %rsi,0x30(%rsp)
| |
| 10a939: 48 89 e6 mov %rsp,%rsi
| |
| 10a93c: e8 9f 13 fe ff callq ebce0 <__isinff@plt+0x6bfe0>
| |
| 10a941: e9 56 ff ff ff jmpq 10a89c <__isinff@plt+0x8ab9c>
| |
| 10a946: 48 8d 3d 8d 00 4d 00 lea 0x4d008d(%rip),%rdi # 5da9da <__isinff@plt+0x55acda>
| |
| 10a94d: e8 0e 4b f7 ff callq 7f460 <getenv@plt>
| |
| 10a952: 48 85 c0 test %rax,%rax
| |
| 10a955: 74 17 je 10a96e <__isinff@plt+0x8ac6e>
| |
| 10a957: 31 c9 xor %ecx,%ecx
| |
| 10a959: ba 0a 00 00 00 mov $0xa,%edx
| |
| 10a95e: 31 f6 xor %esi,%esi
| |
| 10a960: 48 89 c7 mov %rax,%rdi
| |
| 10a963: e8 c8 4f f7 ff callq 7f930 <__strtol_internal@plt>
| |
| 10a968: 89 05 aa 5e 70 00 mov %eax,0x705eaa(%rip) # 810818 <__isinff@plt+0x790b18>
| |
| 10a96e: c7 05 9c 5e 70 00 01 movl $0x1,0x705e9c(%rip) # 810814 <__isinff@plt+0x790b14>
| |
| 10a975: 00 00 00
| |
| 10a978: e9 15 ff ff ff jmpq 10a892 <__isinff@plt+0x8ab92>
| |
| 10a97d: 66 66 90 xchg %ax,%ax
| |
| | |
| // first-time initialization sequence.
| |
| | |
| 10a980: 48 8d 3d 53 00 4d 00 lea 0x4d0053(%rip),%rdi # 5da9da <__isinff@plt+0x55acda> "CUDA_API_TRACE_PTR"
| |
| 10a987: e8 d4 4a f7 ff callq 7f460 <getenv@plt>
| |
| 10a98c: 48 85 c0 test %rax,%rax
| |
| 10a98f: 74 17 je 10a9a8 <__isinff@plt+0x8aca8>
| |
| | |
| // we go to 10a9a8 if CUDA_API_TRACE_PTR is unset
| |
| | |
| 10a991: 31 c9 xor %ecx,%ecx
| |
| 10a993: ba 0a 00 00 00 mov $0xa,%edx
| |
| 10a998: 31 f6 xor %esi,%esi
| |
| 10a99a: 48 89 c7 mov %rax,%rdi
| |
| 10a99d: e8 8e 4f f7 ff callq 7f930 <__strtol_internal@plt>
| |
| 10a9a2: 89 05 70 5e 70 00 mov %eax,0x705e70(%rip) # 810818 <__isinff@plt+0x790b18>
| |
| | |
| // set cudaInitialized to 1
| |
| | |
| 10a9a8: c7 05 62 5e 70 00 01 movl $0x1,0x705e62(%rip) # 810814 <__isinff@plt+0x790b14>
| |
| 10a9af: 00 00 00
| |
| 10a9b2: e9 c1 fe ff ff jmpq 10a878 <__isinff@plt+0x8ab78>
| |
| | |
| | |
| 10a9b7: 31 ff xor %edi,%edi
| |
| 10a9b9: e8 12 5c f8 ff callq 905d0 <__isinff@plt+0x108d0>
| |
| 10a9be: 85 c0 test %eax,%eax
| |
| 10a9c0: 0f 85 9f fe ff ff jne 10a865 <__isinff@plt+0x8ab65>
| |
| 10a9c6: fc cld
| |
| 10a9c7: 31 c0 xor %eax,%eax
| |
| 10a9c9: b9 07 00 00 00 mov $0x7,%ecx
| |
| 10a9ce: 48 89 e7 mov %rsp,%rdi
| |
| 10a9d1: f3 48 ab rep stos %rax,%es:(%rdi)
| |
| 10a9d4: 48 8b 05 8d 3c 70 00 mov 0x703c8d(%rip),%rax # 80e668 <__isinff@plt+0x78e968>
| |
| 10a9db: 89 6c 24 50 mov %ebp,0x50(%rsp)
| |
| 10a9df: 8b 38 mov (%rax),%edi
| |
| 10a9e1: e8 7a ce 4b 00 callq 5c7860 <__isinff@plt+0x547b60>
| |
| 10a9e6: 48 85 c0 test %rax,%rax
| |
| 10a9e9: 48 89 04 24 mov %rax,(%rsp)
| |
| 10a9ed: 74 69 je 10aa58 <__isinff@plt+0x8ad58>
| |
| 10a9ef: 48 ff 80 f0 03 00 00 incq 0x3f0(%rax)
| |
| 10a9f6: 48 8d 54 24 50 lea 0x50(%rsp),%rdx
| |
| 10a9fb: 48 8d 35 61 09 4d 00 lea 0x4d0961(%rip),%rsi # 5db363 <__isinff@plt+0x55b663>
| |
| 10aa02: 48 8b 04 24 mov (%rsp),%rax
| |
| 10aa06: 48 c7 44 24 08 00 00 movq $0x0,0x8(%rsp)
| |
| 10aa0d: 00 00
| |
| 10aa0f: 48 89 54 24 20 mov %rdx,0x20(%rsp)
| |
| 10aa14: 31 d2 xor %edx,%edx
| |
| 10aa16: c7 44 24 10 01 00 00 movl $0x1,0x10(%rsp)
| |
| 10aa1d: 00
| |
| 10aa1e: 48 89 74 24 18 mov %rsi,0x18(%rsp)
| |
| 10aa23: 48 85 c0 test %rax,%rax
| |
| 10aa26: 74 07 je 10aa2f <__isinff@plt+0x8ad2f>
| |
| 10aa28: 48 8b 90 f0 03 00 00 mov 0x3f0(%rax),%rdx
| |
| 10aa2f: 48 8b 3d ea 35 70 00 mov 0x7035ea(%rip),%rdi # 80e020 <__isinff@plt+0x78e320>
| |
| 10aa36: 4c 8d 44 24 48 lea 0x48(%rsp),%r8
| |
| 10aa3b: 48 89 e6 mov %rsp,%rsi
| |
| 10aa3e: 41 bd 01 00 00 00 mov $0x1,%r13d
| |
| 10aa44: 48 89 54 24 28 mov %rdx,0x28(%rsp)
| |
| 10aa49: 4c 89 44 24 30 mov %r8,0x30(%rsp)
| |
| 10aa4e: e8 8d 12 fe ff callq ebce0 <__isinff@plt+0x6bfe0>
| |
| 10aa53: e9 10 fe ff ff jmpq 10a868 <__isinff@plt+0x8ab68>
| |
| 10aa58: 4c 8d 05 04 09 4d 00 lea 0x4d0904(%rip),%r8 # 5db363 <__isinff@plt+0x55b663>
| |
| 10aa5f: 4c 8d 64 24 50 lea 0x50(%rsp),%r12
| |
| 10aa64: 31 d2 xor %edx,%edx
| |
| 10aa66: 48 c7 44 24 08 00 00 movq $0x0,0x8(%rsp)
| |
| 10aa6d: 00 00
| |
| 10aa6f: c7 44 24 10 01 00 00 movl $0x1,0x10(%rsp)
| |
| 10aa76: 00
| |
| 10aa77: 4c 89 44 24 18 mov %r8,0x18(%rsp)
| |
| 10aa7c: 4c 89 64 24 20 mov %r12,0x20(%rsp)
| |
| 10aa81: eb ac jmp 10aa2f <__isinff@plt+0x8ad2f>
| |
| 10aa83: 66 66 66 90 xchg %ax,%ax
| |
| 10aa87: 66 66 90 xchg %ax,%ax
| |
| 10aa8a: 66 66 90 xchg %ax,%ax
| |
| 10aa8d: 66 66 90 xchg %ax,%ax</code>
| |
| |-
| |
| |0x10aa90
| |
| |0x272
| |
| |cuGetExportTable
| |
| |
| |
| |-
| |
| |0x10ad10
| |
| |0x286
| |
| |cuGraphicsUnmapResources
| |
| |
| |
| |-
| |
| |0x10afa0
| |
| |0x286
| |
| |cuGraphicsMapResources
| |
| |
| |
| |-
| |
| |0x10b230
| |
| |0x272
| |
| |cuGraphicsResourceSetMapFlags
| |
| |
| |
| |-
| |
| |0x10b4b0
| |
| |0x28e
| |
| |cuGraphicsResourceGetMappedPointer
| |
| |
| |
| |-
| |
| |0x10b740
| |
| |0x2b2
| |
| |cuGraphicsSubResourceGetMappedArray
| |
| |
| |
| |-
| |
| |0x10ba00
| |
| |0x24d
| |
| |cuGraphicsUnregisterResource
| |
| |
| |
| |-
| |
| |0x10bc50
| |
| |0x245
| |
| |cuStreamDestroy
| |
| |
| |
| |-
| |
| |0x10bea0
| |
| |0x245
| |
| |cuStreamSynchronize
| |
| |
| |
| |-
| |
| |0x10c0f0
| |
| |0x245
| |
| |cuStreamQuery
| |
| |
| |
| |-
| |
| |0x10c340
| |
| |0x272
| |
| |cuStreamCreate
| |
| |
| |
| |-
| |
| |0x10c5c0
| |
| |0x28e
| |
| |cuEventElapsedTime
| |
| |
| |
| |-
| |
| |0x10c850
| |
| |0x24d
| |
| |cuEventDestroy
| |
| |
| |
| |-
| |
| |0x10caa0
| |
| |0x24d
| |
| |cuEventSynchronize
| |
| |
| |
| |-
| |
| |0x10ccf0
| |
| |0x24d
| |
| |cuEventQuery
| |
| |
| |
| |-
| |
| |0x10cf40
| |
| |0x261
| |
| |cuEventRecord
| |
| |
| |
| |-
| |
| |0x10d1b0
| |
| |0x272
| |
| |cuEventCreate
| |
| |
| |
| |-
| |
| |0x10d430
| |
| |0x2aa
| |
| |cuLaunchGridAsync
| |
| |
| |
| |-
| |
| |0x10d6e0
| |
| |0x28e
| |
| |cuLaunchGrid
| |
| |
| |
| |-
| |
| |0x10d970
| |
| |0x24d
| |
| |cuLaunch
| |
| |
| |
| |-
| |
| |0x10dbc0
| |
| |0x28e
| |
| |cuParamSetTexRef
| |
| |
| |
| |-
| |
| |0x10de50
| |
| |0x2b9
| |
| |cuParamSetv
| |
| |
| |
| |-
| |
| |0x10e110
| |
| |0x2b5
| |
| |cuParamSetf
| |
| |
| |
| |-
| |
| |0x10e3d0
| |
| |0x28e
| |
| |cuParamSeti
| |
| |
| |
| |-
| |
| |0x10e660
| |
| |0x272
| |
| |cuParamSetSize
| |
| |
| |
| |-
| |
| |0x10e8e0
| |
| |0x272
| |
| |cuTexRefGetFlags
| |
| |
| |
| |-
| |
| |0x10eb60
| |
| |0x28e
| |
| |cuTexRefGetFormat
| |
| |
| |
| |-
| |
| |0x10edf0
| |
| |0x272
| |
| |cuTexRefGetFilterMode
| |
| |
| |
| |-
| |
| |0x10f070
| |
| |0x28e
| |
| |cuTexRefGetAddressMode
| |
| |
| |
| |-
| |
| |0x10f300
| |
| |0x272
| |
| |cuTexRefGetArray
| |
| |
| |
| |-
| |
| |0x10f580
| |
| |0x272
| |
| |cuTexRefGetAddress
| |
| |
| |
| |-
| |
| |0x10f800
| |
| |0x272
| |
| |cuTexRefSetFlags
| |
| |
| |
| |-
| |
| |0x10fa80
| |
| |0x272
| |
| |cuTexRefSetFilterMode
| |
| |
| |
| |-
| |
| |0x10fd00
| |
| |0x28e
| |
| |cuTexRefSetAddressMode
| |
| |
| |
| |-
| |
| |0x10ff90
| |
| |0x28e
| |
| |cuTexRefSetFormat
| |
| |
| |
| |-
| |
| |0x11a0d0
| |
| |0x28e
| |
| |cuCtxCreate
| |
| |
| |
| |-
| |
| |0x11a360
| |
| |0x28e
| |
| |cuDeviceGetAttribute
| |
| |
| |
| |-
| |
| |0x11a5f0
| |
| |0x272
| |
| |cuDeviceGetProperties
| |
| |
| |
| |-
| |
| |0x11a870
| |
| |0x272
| |
| |cuDeviceTotalMem
| |
| |
| |
| |-
| |
| |0x11aaf0
| |
| |0x28e
| |
| |cuDeviceComputeCapability
| |
| |
| |
| |-
| |
| |0x11ad80
| |
| |0x28e
| |
| |cuDeviceGetName
| |
| |
| |
| |-
| |
| |0x11b010
| |
| |0x24d
| |
| |cuDeviceGetCount
| |
| |<code>
| |
| 11b010: 48 89 5c 24 e0 mov %rbx,-0x20(%rsp)
| |
| 11b015: 48 89 6c 24 e8 mov %rbp,-0x18(%rsp)
| |
| 11b01a: 48 89 fd mov %rdi,%rbp
| |
| 11b01d: 4c 89 64 24 f0 mov %r12,-0x10(%rsp)
| |
| 11b022: 4c 89 6c 24 f8 mov %r13,-0x8(%rsp)
| |
| 11b027: 48 83 ec 78 sub $0x78,%rsp
| |
| 11b02b: 48 c7 44 24 48 00 00 movq $0x0,0x48(%rsp)
| |
| 11b032: 00 00
| |
| 11b034: e8 97 0c fd ff callq ebcd0 <__isinff@plt+0x6bfd0>
| |
| 11b039: 84 c0 test %al,%al
| |
| 11b03b: 89 c3 mov %eax,%ebx
| |
| 11b03d: 0f 85 4d 01 00 00 jne 11b190 <__isinff@plt+0x9b490>
| |
| 11b043: 45 31 ed xor %r13d,%r13d
| |
| 11b046: 44 8b 0d c7 57 6f 00 mov 0x6f57c7(%rip),%r9d # 810814 <__isinff@plt+0x790b14>
| |
| 11b04d: 45 85 c9 test %r9d,%r9d
| |
| 11b050: 0f 84 01 01 00 00 je 11b157 <__isinff@plt+0x9b457>
| |
| 11b056: 48 89 ef mov %rbp,%rdi
| |
| | |
| // Perform the basic driver-initialization checks
| |
| | |
| 11b059: e8 42 5b f6 ff callq 80ba0 <__isinff@plt+0xea0>
| |
| 11b05e: 44 8b 15 af 57 6f 00 mov 0x6f57af(%rip),%r10d # 810814 <__isinff@plt+0x790b14>
| |
| 11b065: 41 89 c4 mov %eax,%r12d
| |
| 11b068: 45 85 d2 test %r10d,%r10d
| |
| 11b06b: 0f 84 af 00 00 00 je 11b120 <__isinff@plt+0x9b420>
| |
| 11b071: 84 db test %bl,%bl
| |
| 11b073: 0f 95 c3 setne %bl
| |
| 11b076: 44 84 eb test %r13b,%bl
| |
| 11b079: 75 1c jne 11b097 <__isinff@plt+0x9b397>
| |
| 11b07b: 44 89 e0 mov %r12d,%eax
| |
| 11b07e: 48 8b 5c 24 58 mov 0x58(%rsp),%rbx
| |
| 11b083: 48 8b 6c 24 60 mov 0x60(%rsp),%rbp
| |
| 11b088: 4c 8b 64 24 68 mov 0x68(%rsp),%r12
| |
| 11b08d: 4c 8b 6c 24 70 mov 0x70(%rsp),%r13
| |
| 11b092: 48 83 c4 78 add $0x78,%rsp
| |
| 11b096: c3 retq
| |
| | |
| // handle weird case
| |
|
| |
| 11b097: fc cld
| |
| 11b098: 31 c0 xor %eax,%eax
| |
| 11b09a: b9 08 00 00 00 mov $0x8,%ecx
| |
| 11b09f: 48 89 e7 mov %rsp,%rdi
| |
| 11b0a2: f3 48 ab rep stos %rax,%es:(%rdi)
| |
| 11b0a5: 4c 8b 2d bc 35 6f 00 mov 0x6f35bc(%rip),%r13 # 80e668 <__isinff@plt+0x78e968>
| |
| 11b0ac: 48 89 6c 24 40 mov %rbp,0x40(%rsp)
| |
| 11b0b1: 48 8d 6c 24 40 lea 0x40(%rsp),%rbp
| |
| 11b0b6: 41 8b 7d 00 mov 0x0(%r13),%edi
| |
| 11b0ba: e8 a1 c7 4a 00 callq 5c7860 <__isinff@plt+0x547b60>
| |
| 11b0bf: 4c 8d 1d 6a 02 4c 00 lea 0x4c026a(%rip),%r11 # 5db330 <__isinff@plt+0x55b630>
| |
| 11b0c6: 48 89 c2 mov %rax,%rdx
| |
| 11b0c9: 48 89 04 24 mov %rax,(%rsp)
| |
| 11b0cd: 31 c0 xor %eax,%eax
| |
| 11b0cf: 48 85 d2 test %rdx,%rdx
| |
| 11b0d2: 48 c7 44 24 08 00 00 movq $0x0,0x8(%rsp)
| |
| 11b0d9: 00 00
| |
| 11b0db: c7 44 24 10 04 00 00 movl $0x4,0x10(%rsp)
| |
| 11b0e2: 00
| |
| 11b0e3: 4c 89 5c 24 18 mov %r11,0x18(%rsp)
| |
| 11b0e8: 48 89 6c 24 20 mov %rbp,0x20(%rsp)
| |
| 11b0ed: 74 07 je 11b0f6 <__isinff@plt+0x9b3f6>
| |
| 11b0ef: 48 8b 82 f0 03 00 00 mov 0x3f0(%rdx),%rax
| |
| 11b0f6: 48 8b 74 24 48 mov 0x48(%rsp),%rsi
| |
| 11b0fb: 48 8b 3d 3e 3b 6f 00 mov 0x6f3b3e(%rip),%rdi # 80ec40 <__isinff@plt+0x78ef40>
| |
| 11b102: 48 89 44 24 28 mov %rax,0x28(%rsp)
| |
| 11b107: 44 89 64 24 38 mov %r12d,0x38(%rsp)
| |
| 11b10c: 48 89 74 24 30 mov %rsi,0x30(%rsp)
| |
| 11b111: 48 89 e6 mov %rsp,%rsi
| |
| 11b114: e8 c7 0b fd ff callq ebce0 <__isinff@plt+0x6bfe0>
| |
| 11b119: e9 5d ff ff ff jmpq 11b07b <__isinff@plt+0x9b37b>
| |
| 11b11e: 66 90 xchg %ax,%ax
| |
| | |
| // Handler for no-context case
| |
| | |
| 11b120: 48 8d 3d b3 f8 4b 00 lea 0x4bf8b3(%rip),%rdi # 5da9da <__isinff@plt+0x55acda>
| |
| 11b127: e8 34 43 f6 ff callq 7f460 <getenv@plt>
| |
| 11b12c: 48 85 c0 test %rax,%rax
| |
| 11b12f: 74 17 je 11b148 <__isinff@plt+0x9b448>
| |
| 11b131: 31 c9 xor %ecx,%ecx
| |
| 11b133: ba 0a 00 00 00 mov $0xa,%edx
| |
| 11b138: 31 f6 xor %esi,%esi
| |
| 11b13a: 48 89 c7 mov %rax,%rdi
| |
| 11b13d: e8 ee 47 f6 ff callq 7f930 <__strtol_internal@plt>
| |
| 11b142: 89 05 d0 56 6f 00 mov %eax,0x6f56d0(%rip) # 810818 <__isinff@plt+0x790b18>
| |
| 11b148: c7 05 c2 56 6f 00 01 movl $0x1,0x6f56c2(%rip) # 810814 <__isinff@plt+0x790b14>
| |
| 11b14f: 00 00 00
| |
| 11b152: e9 1a ff ff ff jmpq 11b071 <__isinff@plt+0x9b371>
| |
| 11b157: 48 8d 3d 7c f8 4b 00 lea 0x4bf87c(%rip),%rdi # 5da9da <__isinff@plt+0x55acda>
| |
| 11b15e: e8 fd 42 f6 ff callq 7f460 <getenv@plt>
| |
| 11b163: 48 85 c0 test %rax,%rax
| |
| 11b166: 74 17 je 11b17f <__isinff@plt+0x9b47f>
| |
| 11b168: 31 c9 xor %ecx,%ecx
| |
| 11b16a: ba 0a 00 00 00 mov $0xa,%edx
| |
| 11b16f: 31 f6 xor %esi,%esi
| |
| 11b171: 48 89 c7 mov %rax,%rdi
| |
| 11b174: e8 b7 47 f6 ff callq 7f930 <__strtol_internal@plt>
| |
| 11b179: 89 05 99 56 6f 00 mov %eax,0x6f5699(%rip) # 810818 <__isinff@plt+0x790b18>
| |
| 11b17f: c7 05 8b 56 6f 00 01 movl $0x1,0x6f568b(%rip) # 810814 <__isinff@plt+0x790b14>
| |
| 11b186: 00 00 00
| |
| 11b189: e9 c8 fe ff ff jmpq 11b056 <__isinff@plt+0x9b356>
| |
| 11b18e: 66 90 xchg %ax,%ax
| |
| 11b190: 31 ff xor %edi,%edi
| |
| 11b192: e8 39 54 f7 ff callq 905d0 <__isinff@plt+0x108d0>
| |
| 11b197: 85 c0 test %eax,%eax
| |
| 11b199: 0f 85 a4 fe ff ff jne 11b043 <__isinff@plt+0x9b343>
| |
| 11b19f: fc cld
| |
| 11b1a0: 31 c0 xor %eax,%eax
| |
| 11b1a2: b9 07 00 00 00 mov $0x7,%ecx
| |
| 11b1a7: 48 89 e7 mov %rsp,%rdi
| |
| 11b1aa: f3 48 ab rep stos %rax,%es:(%rdi)
| |
| 11b1ad: 48 8b 05 b4 34 6f 00 mov 0x6f34b4(%rip),%rax # 80e668 <__isinff@plt+0x78e968>
| |
| 11b1b4: 48 89 6c 24 40 mov %rbp,0x40(%rsp)
| |
| 11b1b9: 8b 38 mov (%rax),%edi
| |
| 11b1bb: e8 a0 c6 4a 00 callq 5c7860 <__isinff@plt+0x547b60>
| |
| 11b1c0: 48 85 c0 test %rax,%rax
| |
| 11b1c3: 48 89 04 24 mov %rax,(%rsp)
| |
| 11b1c7: 74 69 je 11b232 <__isinff@plt+0x9b532>
| |
| 11b1c9: 48 ff 80 f0 03 00 00 incq 0x3f0(%rax)
| |
| 11b1d0: 48 8d 54 24 40 lea 0x40(%rsp),%rdx
| |
| 11b1d5: 48 8d 35 54 01 4c 00 lea 0x4c0154(%rip),%rsi # 5db330 <__isinff@plt+0x55b630>
| |
| 11b1dc: 48 8b 04 24 mov (%rsp),%rax
| |
| 11b1e0: 48 c7 44 24 08 00 00 movq $0x0,0x8(%rsp)
| |
| 11b1e7: 00 00
| |
| 11b1e9: 48 89 54 24 20 mov %rdx,0x20(%rsp)
| |
| 11b1ee: 31 d2 xor %edx,%edx
| |
| 11b1f0: c7 44 24 10 04 00 00 movl $0x4,0x10(%rsp)
| |
| 11b1f7: 00
| |
| 11b1f8: 48 89 74 24 18 mov %rsi,0x18(%rsp)
| |
| 11b1fd: 48 85 c0 test %rax,%rax
| |
| 11b200: 74 07 je 11b209 <__isinff@plt+0x9b509>
| |
| 11b202: 48 8b 90 f0 03 00 00 mov 0x3f0(%rax),%rdx
| |
| 11b209: 48 8b 3d 10 2e 6f 00 mov 0x6f2e10(%rip),%rdi # 80e020 <__isinff@plt+0x78e320>
| |
| 11b210: 4c 8d 44 24 48 lea 0x48(%rsp),%r8
| |
| 11b215: 48 89 e6 mov %rsp,%rsi
| |
| 11b218: 41 bd 01 00 00 00 mov $0x1,%r13d
| |
| 11b21e: 48 89 54 24 28 mov %rdx,0x28(%rsp)
| |
| 11b223: 4c 89 44 24 30 mov %r8,0x30(%rsp)
| |
| 11b228: e8 b3 0a fd ff callq ebce0 <__isinff@plt+0x6bfe0>
| |
| 11b22d: e9 14 fe ff ff jmpq 11b046 <__isinff@plt+0x9b346>
| |
| 11b232: 4c 8d 05 f7 00 4c 00 lea 0x4c00f7(%rip),%r8 # 5db330 <__isinff@plt+0x55b630>
| |
| 11b239: 4c 8d 64 24 40 lea 0x40(%rsp),%r12
| |
| 11b23e: 31 d2 xor %edx,%edx
| |
| 11b240: 48 c7 44 24 08 00 00 movq $0x0,0x8(%rsp)
| |
| 11b247: 00 00
| |
| 11b249: c7 44 24 10 04 00 00 movl $0x4,0x10(%rsp)
| |
| 11b250: 00
| |
| 11b251: 4c 89 44 24 18 mov %r8,0x18(%rsp)
| |
| 11b256: 4c 89 64 24 20 mov %r12,0x20(%rsp)
| |
| 11b25b: eb ac jmp 11b209 <__isinff@plt+0x9b509>
| |
| 11b25d: 66 66 90 xchg %ax,%ax
| |
| 11b260: 48 89 5c 24 d8 mov %rbx,-0x28(%rsp)
| |
| 11b265: 48 89 6c 24 e0 mov %rbp,-0x20(%rsp)
| |
| 11b26a: 48 89 fd mov %rdi,%rbp
| |
| 11b26d: 4c 89 64 24 e8 mov %r12,-0x18(%rsp)
| |
| 11b272: 4c 89 6c 24 f0 mov %r13,-0x10(%rsp)
| |
| 11b277: 41 89 f4 mov %esi,%r12d
| |
| 11b27a: 4c 89 74 24 f8 mov %r14,-0x8(%rsp)
| |
| 11b27f: 48 81 ec 88 00 00 00 sub $0x88,%rsp
| |
| 11b286: 48 c7 44 24 58 00 00 movq $0x0,0x58(%rsp)
| |
| 11b28d: 00 00
| |
| 11b28f: e8 3c 0a fd ff callq ebcd0 <__isinff@plt+0x6bfd0>
| |
| 11b294: 84 c0 test %al,%al
| |
| 11b296: 89 c3 mov %eax,%ebx
| |
| 11b298: 0f 85 62 01 00 00 jne 11b400 <__isinff@plt+0x9b700>
| |
| 11b29e: 45 31 f6 xor %r14d,%r14d
| |
| 11b2a1: 44 8b 0d 6c 55 6f 00 mov 0x6f556c(%rip),%r9d # 810814 <__isinff@plt+0x790b14>
| |
| 11b2a8: 45 85 c9 test %r9d,%r9d
| |
| 11b2ab: 0f 84 16 01 00 00 je 11b3c7 <__isinff@plt+0x9b6c7>
| |
| 11b2b1: 44 89 e6 mov %r12d,%esi
| |
| 11b2b4: 48 89 ef mov %rbp,%rdi
| |
| 11b2b7: e8 34 5b f6 ff callq 80df0 <__isinff@plt+0x10f0>
| |
| 11b2bc: 44 8b 15 51 55 6f 00 mov 0x6f5551(%rip),%r10d # 810814 <__isinff@plt+0x790b14>
| |
| 11b2c3: 41 89 c5 mov %eax,%r13d
| |
| 11b2c6: 45 85 d2 test %r10d,%r10d
| |
| 11b2c9: 0f 84 c1 00 00 00 je 11b390 <__isinff@plt+0x9b690>
| |
| 11b2cf: 84 db test %bl,%bl
| |
| 11b2d1: 0f 95 c3 setne %bl
| |
| 11b2d4: 41 84 de test %bl,%r14b
| |
| 11b2d7: 75 27 jne 11b300 <__isinff@plt+0x9b600>
| |
| 11b2d9: 44 89 e8 mov %r13d,%eax
| |
| 11b2dc: 48 8b 5c 24 60 mov 0x60(%rsp),%rbx
| |
| 11b2e1: 48 8b 6c 24 68 mov 0x68(%rsp),%rbp
| |
| 11b2e6: 4c 8b 64 24 70 mov 0x70(%rsp),%r12
| |
| 11b2eb: 4c 8b 6c 24 78 mov 0x78(%rsp),%r13
| |
| 11b2f0: 4c 8b b4 24 80 00 00 mov 0x80(%rsp),%r14
| |
| 11b2f7: 00
| |
| 11b2f8: 48 81 c4 88 00 00 00 add $0x88,%rsp
| |
| 11b2ff: c3 retq
| |
| 11b300: fc cld
| |
| 11b301: 31 c0 xor %eax,%eax
| |
| 11b303: b9 08 00 00 00 mov $0x8,%ecx
| |
| 11b308: 48 89 e7 mov %rsp,%rdi
| |
| 11b228: e8 b3 0a fd ff callq ebce0 <__isinff@plt+0x6bfe0>
| |
| 11b22d: e9 14 fe ff ff jmpq 11b046 <__isinff@plt+0x9b346>
| |
| 11b232: 4c 8d 05 f7 00 4c 00 lea 0x4c00f7(%rip),%r8 # 5db330 <__isinff@plt+0x55b630>24 40 lea 0x40(%rsp),%r12
| |
| 11b23e: 31 d2 xor %edx,%edx
| |
| 11b240: 48 c7 44 24 08 00 00 movq $0x0,0x8(%rsp)
| |
| 11b247: 00 00
| |
| 11b249: c7 44 24 10 04 00 00 movl $0x4,0x10(%rsp)
| |
| 11b250: 00
| |
| 11b251: 4c 89 44 24 18 mov %r8,0x18(%rsp)
| |
| 11b256: 4c 89 64 24 20 mov %r12,0x20(%rsp)
| |
| 11b25b: eb ac jmp 11b209 <__isinff@plt+0x9b509></code>
| |
| |-
| |
| |0x11b260
| |
| |0x272
| |
| |cuDeviceGet
| |
| |
| |
| |-
| |
| |0x11b4e0
| |
| |0x24d
| |
| |cuDriverGetVersion
| |
| |
| |
| |-
| |
| |0x11b730
| |
| |0x18c
| |
| |cuGLInit
| |
| |
| |
| |-
| |
| |0x11b8c0
| |
| |0x28e
| |
| |cuGLCtxCreate
| |
| |
| |
| |-
| |
| |0x11bb50
| |
| |0x261
| |
| |cuGLUnmapBufferObjectAsync
| |
| |
| |
| |-
| |
| |0x11bdc0
| |
| |0x2aa
| |
| |cuGLMapBufferObjectAsync
| |
| |
| |
| |-
| |
| |0x11c070
| |
| |0x261
| |
| |cuGLSetBufferObjectMapFlags
| |
| |
| |
| |-
| |
| |0x11c2e0
| |
| |0x253
| |
| |cuGLUnregisterBufferObject
| |
| |
| |
| |-
| |
| |0x11c540
| |
| |0x253
| |
| |cuGLUnmapBufferObject
| |
| |
| |
| |-
| |
| |0x11c7a0
| |
| |0x28e
| |
| |cuGLMapBufferObject
| |
| |
| |
| |-
| |
| |0x11ca30
| |
| |0x253
| |
| |cuGLRegisterBufferObject
| |
| |
| |
| |-
| |
| |0x11cc90
| |
| |0x2b2
| |
| |cuGraphicsGLRegisterImage
| |
| |
| |
| |-
| |
| |0x11cf50
| |
| |0x28e
| |
| |cuGraphicsGLRegisterBuffer
| |
| |
| |
| |-
| |
| |0x81ef0
| |
| |0x5f
| |
| |cuMemGetAttribute
| |
| |
| |
| |-
| |
| |0x110a30
| |
| |0x24d
| |
| |cuTexRefDestroy
| |
| |
| |
| |-
| |
| |0x110c80
| |
| |0x24d
| |
| |cuTexRefCreate
| |
| |
| |
| |-
| |
| |0x110ed0
| |
| |0x272
| |
| |cuArray3DGetDescriptor
| |
| |
| |
| |-
| |
| |0x111b20
| |
| |0x272
| |
| |cuFuncSetCacheConfig
| |
| |
| |
| |-
| |
| |0x111da0
| |
| |0x28e
| |
| |cuFuncGetAttribute
| |
| |
| |
| |-
| |
| |0x112b30
| |
| |0x2d5
| |
| |cuMemsetD2D8
| |
| |
| |
| |-
| |
| |0x112e10
| |
| |0x28d
| |
| |cuMemsetD32
| |
| |
| |
| |-
| |
| |0x113ac0
| |
| |0x2cc
| |
| |cuMemcpyAtoHAsync
| |
| |
| |
| |-
| |
| |0x113d90
| |
| |0x2cc
| |
| |cuMemcpyHtoAAsync
| |
| |
| |
| |-
| |
| |0x114ac0
| |
| |0x24d
| |
| |cuMemcpy2DUnaligned
| |
| |
| |
| |- | | |- |
| |0x114d10 | | ! COLSPAN="3" style="background:#efefef;" | 0x5c000002 (per-device) |
| |0x24d
| |
| |cuMemcpy2D
| |
| |
| |
| |- | | |- |
| |0x114f60 | | | 0x20800110 |
| |0x2d4 | | | 0x84 |
| |cuMemcpyAtoA
| |
| |
| |
| |-
| |
| |0x115a80
| |
| |0x2b2
| |
| |cuMemcpyDtoA
| |
| |
| |
| |-
| |
| |0x115d40
| |
| |0x28d
| |
| |cuMemcpyDtoD
| |
| |
| |
| |-
| |
| |0x115fd0
| |
| |0x28e
| |
| |cuMemcpyDtoH
| |
| |
| |
| |-
| |
| |0x116a00
| |
| |0x28e
| |
| |cuMemHostAlloc
| |
| |
| |
| |-
| |
| |0x116c90
| |
| |0x24d
| |
| |cuMemFreeHost
| |
| |
| |
| |-
| |
| |0x116ee0
| |
| |0x272
| |
| |cuMemAllocHost
| |
| |
| |
| |-
| |
| |0x117bb0
| |
| |0x272
| |
| |cuMemGetInfo
| |
| |
| |
| |-
| |
| |0x117e30
| |
| |0x28e
| |
| |cuModuleGetTexRef
| |
| |
| |
| |-
| |
| |0x118ae0
| |
| |0x2d4
| |
| |cuModuleLoadDataEx
| |
| |
| |
| |-
| |
| |0x118dc0
| |
| |0x272
| |
| |cuModuleLoadData
| |
| |
| |
| |-
| |
| |0x119c00
| |
| |0x272
| |
| |cuCtxAttach
| |
| |
| |
| |-
| |
| |0x119e80
| |
| |0x24d
| |
| |cuCtxDestroy
| |
| |
| |
| |-
| |
| |0x1104e0
| |
| |0x2b2
| |
| |cuTexRefSetAddress
| |
| |
| |
| |-
| |
| |0x1107a0
| |
| |0x28e
| |
| |cuTexRefSetArray
| |
| |
| |
| |-
| |
| |0x1113d0
| |
| |0x24d
| |
| |cuArrayDestroy
| |
| |
| |
| |-
| |
| |0x1118a0
| |
| |0x272
| |
| |cuArrayCreate
| |
| |
| |
| |-
| |
| |0x1122b0
| |
| |0x2b2
| |
| |cuFuncSetBlockShape
| |
| |
| |
| |-
| |
| |0x1130a0
| |
| |0x29d
| |
| |cuMemsetD16
| |
| |
| |
| |-
| |
| |0x1135e0
| |
| |0x261
| |
| |cuMemcpy3DAsync
| |
| |
| |
| |-
| |
| |0x1145c0
| |
| |0x2aa
| |
| |cuMemcpyHtoDAsync
| |
| |
| |
| |-
| |
| |0x1157c0
| |
| |0x2b1
| |
| |cuMemcpyAtoD
| |
| |
| |
| |-
| |
| |0x1164f0
| |
| |0x272
| |
| |cuMemHostGetFlags
| |
| |
| |
| |-
| |
| |0x1173f0
| |
| |0x253
| |
| |cuMemFree
| |
| |
| |
| |-
| |
| |0x1180c0
| |
| |0x2b9
| |
| |cuModuleGetGlobal
| |
| |
| |
| |-
| |
| |0x1192c0
| |
| |0x24d
| |
| |cuCtxGetDevice
| |
| |
| |
| |-
| |
| |0x1199b0
| |
| |0x24d
| |
| |cuCtxDetach
| |
| |
| |
| |-
| |
| |0x102120
| |
| |0x119
| |
| |clGetExtensionFunctionAddress
| |
| |
| |
| |-
| |
| |0x110220
| |
| |0x2b2
| |
| |cuTexRefSetAddress2D
| |
| |
| |
| |-
| |
| |0x111150
| |
| |0x272
| |
| |cuArray3DCreate
| |
| |
| |
| |-
| |
| |0x111620
| |
| |0x272
| |
| |cuArrayGetDescriptor
| |
| |
| |
| |-
| |
| |0x112030
| |
| |0x272
| |
| |cuFuncSetSharedSize
| |
| |
| |
| |-
| |
| |0x112570
| |
| |0x2d3
| |
| |cuMemsetD2D32
| |
| |
| |
| |-
| |
| |0x112850
| |
| |0x2d5
| |
| |cuMemsetD2D16
| |
| |
| |
| |-
| |
| |0x113340
| |
| |0x29c
| |
| |cuMemsetD8
| |
| |
| |
| |-
| |
| |0x113850
| |
| |0x261
| |
| |cuMemcpy2DAsync
| |
| |
| |
| |-
| |
| |0x114060
| |
| |0x2aa
| |
| |cuMemcpyDtoDAsync
| |
| |
| |
| |-
| |
| |0x114310
| |
| |0x2aa
| |
| |cuMemcpyDtoHAsync
| |
| |
| |
| |-
| |
| |0x114870
| |
| |0x24d
| |
| |cuMemcpy3D
| |
| |
| |
| |-
| |
| |0x115240
| |
| |0x2b2
| |
| |cuMemcpyAtoH
| |
| |
| |
| |-
| |
| |0x115500
| |
| |0x2b9
| |
| |cuMemcpyHtoA
| |
| |
| |
| |-
| |
| |0x116260
| |
| |0x28d
| |
| |cuMemcpyHtoD
| |
| |
| |
| |-
| |
| |0x116770
| |
| |0x28e
| |
| |cuMemHostGetDevicePointer
| |
| |
| |
| |-
| |
| |0x117160
| |
| |0x28e
| |
| |cuMemGetAddressRange
| |
| |
| |
| |-
| |
| |0x117650
| |
| |0x2d4
| |
| |cuMemAllocPitch
| |
| |
| |
| |-
| |
| |0x117930
| |
| |0x272
| |
| |cuMemAlloc
| |
| |
| |
| |-
| |
| |0x118380
| |
| |0x28e
| |
| |cuModuleGetFunction
| |
| |
| |
| |-
| |
| |0x118610
| |
| |0x24d
| |
| |cuModuleUnload
| |
| |
| |
| |-
| |
| |0x118860
| |
| |0x272
| |
| |cuModuleLoadFatBinary
| |
| |
| |
| |-
| |
| |0x119040
| |
| |0x272
| |
| |cuModuleLoad
| |
| |
| |
| |-
| |
| |0x119510
| |
| |0x24d
| |
| |cuCtxPopCurrent
| |
| |
| |
| |-
| |
| |0x119760
| |
| |0x24d
| |
| |cuCtxPushCurrent
| |
| | | | | |
| | * Retrieves device name: |
| | <pre>RESULT: 0 0xc1d04277 0x5c000002 0x20800110 0x00000000 |
| | 0x0010 0x73be4970 0x00007fff 0x00000084 0x00000000 |
| | GPU method 0x5c000002:20800110 0x00000000 0x6f466547 0x20656372 0x20535447 |
| | 0x0010 0x4d303633 0x00000000 0x00000000 0x00000000 </pre> |
| | * 6f46654720656372205354474d303633 == "oFeG ecr STGM063" |
| |- | | |- |
| |} | | |} |
|
| |
|
| | | ==disassembly== |
| | These disassemblies makes use of <tt>libcuda.so.195.36.15</tt> (0867d66be617faab3782fa0ba19ec9ba, 7404990 bytes). Symbols were extracted via <tt>objdump -T</tt>. |
| | * AMD64 ABI: |
| | ** Integer arguments via RDI, RSI, RDX, RCX, R8 and R9, then stack |
| | ** FP arguments in XMM0..XMM7, then stack |
| | ** Return value in RAX |
| | ** [[libcuda traces]] |
|
| |
|
| ==See Also== | | ==See Also== |