ขั้นตอนการติดตั้ง CUDA Toolkit และ NVIDIA CUDA SDK
1. หลังจากที่ Log in เข้าไปที่เครื่องเซิฟเวอร์แล้ว ทำการสร้างไดเรคเทอรี่ส่วนตัวขึ้นมา (ในที่นี้จะเก็บไว้ที่ /tmp/4909611727) ทำการคัดลอกไฟล์ cudatoolkit_2.3_linux_64_ubuntu9.04.run และ cudasdk_2.3_linux.run จาก /home/kasidit มาไว้ยังไดเรคเทอรี่ที่สร้างขึ้น
2. ติดตั้ง CUDA Toolkit ด้วยคำสั่ง sh cudatoolkit_2.3_linux_64_ubuntu9.04.run จากนั้นโปรแกรมจะถามถึง path ที่ต้องการจะใช้ติดตั้ง พิมพ์ /tmp/4909611727 ลงไป
3. คอมไพเลอร์ของ CUDA หรือ nvcc นั้นจะเก็บไว้ที่ /tmp/4909611727/cuda/bin ให้ตั้งค่าของ $PATH และ $LD_LIBRARY_PATH ดังนี้
export PATH=/tmp/4909611727/cuda/bin:$PATH
export LD_LIBRARY_PATH=/tmp/4909611727/cuda/lib64:$LD_LIBRARY_PATH
4. ทดสอบว่าสามารถใช้งาน nvcc ได้ด้วยการพิมพ์คำสั่ง nvcc –version ซึ่งจะได้ผลลัพท์ดังนี้

5. ติดตั้ง NVIDIA CUDA SDK ด้วยคำสั่ง sh cudasdk_2.3_linux.run โปรแกรมจะถามถึง path ที่จะใช้ติดตั้ง ซึ่งถ้าไม่ใส่จะถูกกำหนดให้เป็น NVIDIA_GPU_Computing_SDK แต่ในที่นี้จะกำหนดให้เป็น /tmp/4909611727/NVIDAI_CUDA_SDK
6. คอมไพล์ไฟล์ตัวอย่างที่มากับ NVIDIA CUDA SDK ด้วยการเข้าไปที่ /tmp/4909611727/NVIDIA_CUDA_SDK/C แล้วใช้คำสั่ง make
7. ทดสอบโปรแกรมด้วยการรันโปรแกรมตัวอย่างที่อยู่ที่ /tmp/4909611727/NVIDIA_CUDA_SDK/C/bin/linux/release ซึ่งโปรแกรมตัวอย่างที่จะทดสอบคือ deviceQuery และ bandwidthTest
deviceQuery
โปรแกรม deviceQuery เป็นโปรแกรมที่ใช้แสดงคุณลักษณะของกราฟิกการ์ดที่ใช้ ซึ่งผลลัพธ์จากการรันโปรแกรม deviceQuery เป็นดังต่อไปนี้

bandwidthTest
โปรแกรม bandwidthTest จะแสดงให้เห็นถึงความสามารถในการส่งข้อมูลแบบต่างๆระหว่างหน่วยความจำหลัก และหน่วยความจำ Global ของ GPU ทดสอบโดยการส่งข้อมูลขนาด 32 MB ผลได้เป็นดังโปรแกรม

Vector Addition
เขียนโปรแกรมบวกเวกเตอร์ เซฟด้วยชื่อไฟล์ vecadd.cu แล้วทำการคัดลอกไปยังเครื่องเซิฟเวอร์ และคอมไพล์ด้วยคำสั่ง nvcc vecadd.cu และรันโปรแกรมจะได้ผลลัพท์ออกมาดังนี้

โค้ดของโปรแกรมนี้คือ
#include <stdio.h>
__global__ void VecAdd(float *A, float *B, float *C, int N){
int idx = (blockIdx.x * blockDim.x) + threadIdx.x;
if(idx<N){
C[idx] = A[idx] + B[idx];
}
}
int main(){
float *h_A, *h_B, *h_C;
float *d_A, *d_B, *d_C;
int N = 200000;
int size = sizeof(float) * N;
int threadPerBlock = 512;
int blockPerGrid = (N + threadPerBlock -1) / threadPerBlock;
// Allocate host and device memory
h_A = (float*)malloc(size); h_B = (float*)malloc(size); h_C = (float*)malloc(size);
cudaMalloc((void**)&d_A, size); cudaMalloc((void**)&d_B, size); cudaMalloc((void**)&d_C, size);
// Initial value on vector A and B
for(int i=0;i<N;i++)
h_A[i] = rand()/200, h_B[i] = rand()/200;
// Copy vector A and B to device
cudaMemcpy(d_A, h_A, size, cudaMemcpyHostToDevice);
cudaMemcpy(d_B, h_B, size, cudaMemcpyHostToDevice);
// Call kernel
VecAdd<<< blockPerGrid, threadPerBlock >>>(d_A, d_B, d_C, N);
// Copy back vector C
cudaMemcpy(h_C, d_C, size, cudaMemcpyDeviceToHost);
printf("%s\n", cudaGetErrorString( cudaGetLastError() ) );
printf("Threads per block = %d\nBlocks per grid = %d\n", threadPerBlock, blockPerGrid);
printf("Vector size = %d\nMemory used = %f MB\n", N, 3 * size / 1024.0 / 1024);
// Deallocate host and device memory
free(h_A); free(h_B); free(h_C);
cudaFree(d_A); cudaFree(d_B); cudaFree(d_C);
return 0;
}
VMware ESXi Internet Mechanisms

ปกติแล้วการเชื่อมต่ออุปกรณ์และเครื่องคอมพิวเตอร์ต่างๆเข้าด้วยกันนั้นจะอาศัย Switch (Physical Switch) และบน Switch ก็จะมี Port (Physical Port) ที่จะรอรับสายแลนจาก Network Interface Card (Physical NIC) ที่ซึ่งอยู่บนอุปกรณ์ และคอมพิวเตอร์แต่ละตัว
จากโมเดลการทำงานนี้เอง VMware ESXi ก็จะจำลอง Network ขึ้นมาด้วยวิธีเดียวกัน โดยมีส่วนประกอบคือ
- Virtual Switch ซึ่งใน ESXi จะเรียกว่า vSwitch เป็นตัวที่จำลองการทำงานของ Switch ขึ้นมา แล้วอยู่ภายใต้การดูแลการทำงานของ VMkernel
- Virtual NIC ซึ่งใน ESXi จะเรียกว่า vNIC จะมีอยู่ในทุกเครื่องของ Virtual Machine และเชื่อมต่อกับ Virtual Switch โดยผ่าน Virtual Port
- Virtual Port เป็นตัวเชื่อมต่อระหว่าง Virtual NIC ของแต่ละ Virtual Machine กับ Virtual Switch
Virtual Machine แต่ละเครื่องที่อยู่บน VMware ESXi จะใช้ Physical NIC เป็นทางเชื่อมกับโลกภายนอก ด้วยการใช้bridge โดยที่ใน Physical NIC นั้นจะไม่มี IP Address แต่ IP Address จะขึ้นกับ Virtual NIC ในแต่ละเครื่องของ Virtual Machine แทน Physical NIC นั้นเพียงแต่ทำหน้าที่เป็นทางผ่านของข้อมูลระหว่าง Physical Switch ที่อยู่ภายนอก และ Virtual Switch ที่อยู่ภายใน คล้ายกับการ Uplink ระหว่าง Switch (ดังนั้น Port ที่ต่อระหว่าง Physical NIC กับ Virtual Switch จึงถูกเรียกว่า Uplink Port )
Virtual Switch ที่ถูกสร้างขึ้นบน VMware ESXi สามารถจำลองขึ้นมาได้มากที่สุดถึง 127 เครื่อง และ Virtual Switch แต่ละเครื่องที่ยังสามารถมี Virtual Port ได้ถึง 1016 พอร์ต แต่บน ESXi ทั้งหมดรวมกันนั้นจะต้องมีไม่เกิน 4096 พอร์ต
อ้างอิงจาก
http://www.compspot.net/index.php?option=com_content&task=view&id=366&Itemid=72
Software Architecture of VMwave ESXi

ส่วนประกอบของ VMware ESXi มีดังต่อไปนี้
VMkernel – อยู่ใน Layer ชั้นล่างสุดของระบบ มีหน้าที่และฟังก์ชันการทำงานคล้ายกับระบบปฎิบัติการ เช่น การสร้าง Process, การควบคุม Process, การส่ง Signal, การจัดการระบบ file system, การสร้าง Thread ถูกออกแบบมาเพื่อให้สามารถรองรับการทำงานของ Virtual Machine หลายเครื่องพร้อมกันได้ ด้วยฟังก์ชันการทำงานต่อไปนี้
- Resource scheduling
- I/O stacks
- Device driver
VMkernel จะคอบควบคุมการทำงานของ Hardware device บนเครื่อง Server และคอยควบคุมการจัดแบ่ง resource ต่างๆให้กับ Guest VM แต่ละตัว
Direct Console User Interface (DCUI) – เป็น interface ที่ใช้ในการ configure และจัดการตั้งค่าพื้นฐานต่างๆที่สำคัญของระบบในเครื่อง server สามารถติดต่อกับ DCUI ได้โดย console ของเครื่อง server เท่านั้นไม่สามารถทำกำหนดค่าผ่าน Network ได้ ตัว DCUI นั้นจะเป็นตัวกำหนดค่าต่างๆและคอยแก้ใขข้อผิดพลาดในระบบ เช่น
- กำหนด administrative password
- กำหนดค่า Network ต่างๆ ถ้าหากไม่สามารถกำหนดอัตโนมัติด้วย DHCP ได้
- จัดเตรียมการทดสอบระบบ Network อย่างง่ายไว้ให้
- ใช้สำหรับดู Log file
- ใช้ Restart server
- ใช้ Restore ค่า default ของระบบ
Virtual Machine Monitor (VMM) – เป็น process ที่จำลองพื้นที่และสภาพแวดล้อมการทำงานให้แต่ละ Guest OS โดยมี helper process ชื่อ VMX เป็นของ guest OS แต่ละตัว ดังนั้นในแต่ละ Guest OS จะต้องมี VMM และ VMX คู่กันเสมอ
Common Information Model (CIM) – เป็น Interface ที่ใช้ในการจัดการในระดับ hardware กับเครื่อง guest OS ผ่าน remote application ซึ่งจะมีชุดของ API ที่เป็นตัวรองรับอยู่ CIM นั้นเป็น Open standard ในการแสดงและจัดการ resource และ hardware ของเครื่อง ซึ่ง CIM Framework มีส่วนประกอบคือ
- CIM provider หรือเรียกว่า CIM object manager เป็นส่วนที่จัดเตรียมการเข้าถึง device driver และ hardware บนเครื่อง ผู้ผลิต hardware นั้นสามารถเขียนตัว provider ที่จะใช้จัดการกับ hardware นั้นขึ้นมาเองได้ ESXi ได้สร้างมาตรฐาน CMPI ที่ยอมให้นักพัฒนาสามารถเขียน provider ตัวใหม่และสามารถนำมาต่อใช้งานได้ แต่จะต้องถูกรวมเข้าไปกับ system image เลย ไม่สามารถนำมาติดตั้งในขณะรันได้
- CIM broker ทำหน้าที่คอบนำข้อมูลจากทุก CIM providers และแสดงสู่โลกภายนอก ผ่าน API มาตรฐาน เช่น WS-MAN

Other User World Processes – process ที่ซึ่งถูกเรียกใช้โดย VMware เพื่อย้ายความสามารถในการควบคุมที่อยู่บนเครื่อง server ไปยัง user world
- hostd เป็น process ที่จะเตรียม programmatic interface ให้กับ VMkernel และถูกใช้ด้วย VI Client ได้เหมือนกับ VI API ซึ่ง hostd จะทำหน้าที่ยืนยันผู้ใช้แต่ละคน พร้อมกับเก็บสิทธิการเข้าถึง ว่าผู้ใช้คนนั้นสามารถจัดการอะไรบนระบบได้บ้าง
- vpxa เป็น process ที่จะสามารถติดต่อไปยัง VirtualCenter และจะรันโปรแกรมพิเศษที่เรียกว่า vpxuser ที่จะเป็นตัวกลางระหว่าง hostd และ VirtualCenter
- syslog เป็น daemon process ที่ทำงานบน user world เช่นกัน มีหน้าที่เก็บ log เมื่อเปิดให้ระบบเก็บ remote logging
Open Network Ports – มี Port จำนวนหนึ่งที่ถูกเปิดอยู่ตลอดเวลาบน ESXi ซึ่งเป็น Port ที่สำคัญในการทำงานได้แก่
- 80 – เป็น server port ที่จะแสดง static webpage เพื่อใช้สำหรับการ browse มาที่ server และ port นี้จะถูก redirect ไปยัง port 443 เพื่อให้ client ติดต่อกับ server ผ่าน SSL
- 443 – port นี้มีไว้สำหรับ client ติดต่อกับ server ผ่าน SSL เพื่อเรียกใช้ service ต่างๆ ได้แก่ VMware Virtual Infrastructure API(VI API)ที่ซึ่งสามารถเข้าใช้งาน RCLIs, VI client, Virtual center server และ SDK
- 427 – port นี้มีไว้เพื่อเข้าใช้งาน service location protocol ซึ่งเป็น protocol ที่ใช้ค้นหา VI API
- 5989 – port นี้เปิดไว้สำหรับ CIM server ที่จะเป็น interface สำหรับ toolที่ใช้ในการจัดการ
- 902 – port นี้เปิดไว้สำหรับ support VIM API version ก่อนหน้า
File System – VMkernel จะเก็บข้อมูลของ configuration files, log files, staged patches ไว้เป็นแบบ file ที่อยู่บน memory และเพื่อให้ง่ายต่อการใช้งาน โครงสร้างของ file system จึงออกแบบมาให้เหมือนกับที่ใช้บนเครื่อง server ของ ESX เช่น
- /etc/vmware สำหรับเก็บ ESXi configuration files
- /var/log/vmware สำหรับเก็บ log files
- /tmp สำหรับเก็บ staged patches
ตัว file system นี้จะเป็นอิสระจาก VMware VMFS file system ที่เป็นตัวเก็บ Virtual Machine เนื่องจาก VMFS จะถูกเก็บลงบน Disk บน host หรือบน shared storage
สามารถใช้ remote command line เพื่อจัดการกับ file system ทั้งที่อยู่บน memory และ VMware VMFS file system ได้ โดยผ่านการใช้ HTTPS get และ put
นอกจากนี้ข้อมูลที่อยู่ใน file system บน memory นั้นจะไม่อยู่อย่างถาวร เมื่อเครื่องถูกปิด ข้อมูลทั้งหมดก็จะหายไป ดังนั้น ESXi จึงมีความสามารถที่จะสั่งงานให้เก็บข้อมูลของ log ลงบน Disk ได้ผ่านทาง remote syslog server
User and Groups – User และ Group ถูกกำหนดไว้บน ESXi server ซึ่งแต่ละคนจะสามารถเข้าสู้ระบบได้ผ่านทาง remote command line หรือ VIM API
Group นั้นประกอบจาก User หลายคน เหมือนกับระบบปฏิบัติการทั่วไป จะใช้ Group เช่น ต้องการกำหนเสิทธิให้กับ User หลายๆคนพร้อมกันในครั้งเดียว
Administrative privileges สามารถกำหนด User แต่ละคนว่าจะอยู่ที่ Group ไหนได้ ข้อมูลของ User และ Group นั้น ถูกเก็บไว้ที่ /etc/passwd, /eyc.shadow และ /etc/group และเหมือนกับระบบปฏิบัติการ Linux และใช้ฟังก์ชันมาตรฐาน crypt ในการเข้ารหัส
User Worlds – คำว่า User Worlds นั้นหมายถึง process ที่ทำงานอยู่บน VMkernel แต่สิ่งแวดล้อมของระบบที่ User World ทำงานด้วยนั้นมีจำกัดเมื่อเทียบกับระบบปฎิบัติการทั่วไปอย่าง Linux เช่น
- จำนวนของ Signal ที่มีให้นั้นจำกัด
- API ของระบบนั้นเป็นเพียง subset ของ POSIX
- /proc file system นั้นจำกัดไว้มาก
- Swap file มีเพียงตัวเดียวให้ใช้ร่วมกันระหว่างหลาย User world process
อ้างอิงจาก
http://www.vmware.com/files/pdf/vmware_esxi_architecture_wp.pdf
How to install Guest OS in VMware ESXi
ในตัวอย่างต่อไปนี้จะเป็นขั้นการลง Microsoft Windows XP ให้เป็น Guest OS บนเครื่อง Server ที่ติดตั้ง VMware ESXi โดยผ่าน Client Application คือ vSphere client
1. ติดต่อเครื่อง Server ผ่าน vSphere client ตามขั้นตอนที่ได้กล่าวไปก่อนหน้านี้ เมื่อ Log in เรียบร้อยแล้ว จะได้หน้าจอดังภาพ ให้เลือกที่เมนู “Create a new virtual machine” เพื่อสร้าง Virtual Machine เครื่องใหม่ขึ้นมาบนระบบ

2. เลือก Configuration ให้เป็น Typical แล้วกด Next

3. ตั้งชื่อเครื่อง Virtual Machine ที่สร้างขึ้นใหม่แล้วกด Next (ซึ่งในที่นี้จะตั้งชื่อว่า WindowsXP)

4. ทำการเลือก Datastore ที่ต้องการ แล้วกด Next

5. เลือกชนิดและเวอร์ชันของ Guest OS ที่ต้องการจะลงบนเครื่อง Virtual Machine ที่ส้รางขั้นใหม่ แล้วกด Next (ในที่นี้เลือกเป็น Microsoft Windows XP Professional 32 bit)

6. ทำการสร้าง Disk จำลองขึ้นบน Virtual Machine ให้เลือกขนาดของ Disk โดยจะต้องไม่เกิน Available space

7. เมื่อกำหนดค่าต่างๆของเครื่อง Virtual Machine เสร็จแล้ว จะปรากฎหน้าจอดังภาพ ให้กดที่ Finish

8. เมื่อได้ Virtual Machine เครื่องใหม่แล้ว ให้ทำการกำหนดค่าของฮาร์ดแวร์ต่าง ด้วยการคลิ๊กขวาที่ Virtual Machine นั้นแล้วเลือก Properties เลือกในส่วนของ CD/DVD Drive1 ติ๊กที่ “Connect at power on” เลือก Device Type เป็นแบบ “Host Device” ซึ่งหมายถึงให้ใช้ฮาร์ดแวร์จากเครื่อง Server ให้ให้ติดต่อทันที่ที่เปิดใช้งาน Virtual Machine นี้ จากนั้นทำการใส่แผ่น install ของ Microsoft Windows XP เข้าไปที่เครื่อง Server

9. เมื่อใส่แผ่น install แล้ว ที่หน้าจอหลักให้เลือกที่เมนู “Power on the virtual machine”

10. คลิ๊กขวาที่เครื่องที่ทำการ install แล้วเลือกที่ Open console เพื่อเปิดหน้าต่างควบคุมการทำงาน

11. เมื่อเลือกแล้วจะขึ้นหน้าต่างการทำงานของเครื่อง Virtual Machine นั้น

12. ทำการติดตั้ง OS เหมือนกับที่ติดตั้งบนเครื่องปกติ ซึ่งภาพหน้าต่างด้านข้างแสดงถึง การติดตั้ง Microsoft Windows XP

13. เมื่อติดตั้งเสร็จก็พร้อมใช้งานได้เสมือนกับทำงานกับเครื่องจริง

How to install VMware ESXi
1. ใส่แผ่น VMware ESXi ลงไปที่เครื่องแล้วเปิดเครื่องใหม่ จะปรากฏหน้าจอดังภาพ ให้เลือกที่ ESXi Installer

2. VMware จะเริ่มทำการ load ให้รอสักครู่

3. กด Enter เพื่อเลือกที่จะ Install

4. กด F11 เพื่อยอมรับข้อตกลง

5. ทำการเลือก Partition ที่ต้องการ install และกด Enter

6. เลือก F11 เพื่อยืนยันการ install

7. ระบบจะทำการ install ให้รอสักครู่

8. เมื่อ install เสร็จสิ้นจะปรากฏหน้าจอดังภาพ ให้นำแผ่นออก จากนั้นกด Enter เพื่อให้ระบบ Restart

9. เมื่อเปิดเครื่องขึ้นมาใหม่จะได้หน้าจอดังภาพ ให้กด F2 เพื่อทำการกำหนดค่าในระบบ

10. เลือกที่ Configure Password แล้วกด Enter เพื่อทำการตั้ง Password ใหม่

11. ใส่ Password ในช่อง Old Password และ New Password ตามที่ต้องการแล้วกด Enter

12. จากนั้นเลือกที่ Configure Management Network จะได้หน้าจอดังภาพ ให้ทำการเลือก IP Configuration เพื่อกำหนดค่า IP ของเครื่อง server ใหม่

13. เลือกที่ Set static IP address and Network Configuration และทำการเปลี่ยน IP ของเครื่อง server ในส่วนนี้ต้องระวังเรื่องของ subnet mark ด้วย เมื่อตั้งค่าเสร็จแล้วให้กด Enter

14 . เข้าไปที่ DNS Configuration แล้วทำการแก้ในส่วน Primary DNS Server ให้ตรงกับที่ตั้งค่าไว้ก่อนหน้านี้ และทำการเปลี่ยน hostname ตามที่ต้องการ จากนั้นกด Enter เพื่อตกลง

15. กด Esc เพื่อออกจากการ configuration ระบบจะถามว่าต้องการ restart management network หรือไม่ให้กด Y เพื่อตอบตกลง

16. ไปที่เครื่อง Client ที่จะเป็นเครื่องที่จะ remote เข้ามาเพื่อควบคุมการทำงานของเครื่อง server ให้เปิด web browser ขึ้นมาจากนั้นเข้าไปที่ https:// ตามด้วย static IP ของเครื่อง server ตามที่ได้ตั้งไว้ จะปรากฎหน้าเว็บไซต์ดังภาพ ให้ทำการดาวน์โหลด vSphere Client จากลิงค์ที่ปรากฏบนเว็บ เพื่อในมาลงที่เครื่อง Client

17. ทำการ Install vSphere client

18. เมื่อ Install เสร็จแล้ว ให้เปิดโปรแกรม vSphere client จากนั้นให้ใส่ IP ของเครื่อง server แล้วใส่ Username เป็น root ตามด้วยใส่ Password ที่ตั้งไว้ก่อนหน้านี้

19. เมื่อติดต่อกับเครื่อง server ได้แล้ว โปรแกรม vSphere client จะปรากฏหน้าจอดังภาพ

ผะหมี
วันนี้มาด้วยหัวข้องงๆเล็กน้อย แต่รับรองว่ามีความสนุกครับ ผะหมีเป็นการทายปัญหาอย่างหนึ่งครับ อาจจะมีทั้งให้คำกลอนมา หรือว่าให้รูปภาพ แล้วให้ทายว่ามันเป็นอะไร ตัวอย่างของรูปภาพลองนึกถึงรายการชิงร้อยชิงล้านเมื่อสมัยก่อนน่ะครับ ที่มีเปิดภาพแล้วให้ทายคำอะไรแบบนั้นเลย ผะหมีเป็นการละเล่นอย่างหนึ่งที่มีมานานพอสมควรแล้วล่ะ แต่เชื่อว่าหลายๆคนอาจจะไม่เคยได้ยิน
ตอนที่ผมอยู่ม.6 ก็มีช่วงนึงที่สำนักงานเขตบางกอกใหญ่(ถ้าจำไม่ผิด) จัดการแข่งขัน แล้วก็ให้เด็กนักเรียนหลายๆโรงเรียนเข้าไปแข่งกันทายปัญหาผะหมี ซึ่งผมก็ได้มีโอกาสไปแข่งกับเขาเหมือนกัน แต่ว่ามีแค่โอกาสไปแข่ง แต่ไม่ได้แข่ง บังเอิญว่าอาจารย์ก็ส่งใบสมัครไปให้แล้ว แต่ทางนั้นบอกว่าไม่ได้รับท่าเดียวเลย ผมกับเพื่อนทีมเดียวกันที่ไปก็เลยไม่ได้แข่งซะงั้น แต่ก็เลยถือโอกาสนั่งดูคนอื่นแข่ง (จริงๆแล้วออกมาตอนคาบที่มีเรียน ก็เลยถือโอกาสโดดซะมากกว่า)
แล้วก็พอดีว่าช่วงก่อนจะไปแข่งอาจารย์ก็ได้เอาหนังสือที่รวมปัญหาผะหมีเอาไว้มาให้พวกผมได้อ่านเตรียมตัวไปแข่ง(ไปอย่างเดียว) ผมเห็นว่ามีหลายๆปัญหาที่ฮาแล้วก็กวนดีก็เลยแสกนเอาเก็บเอาไว้ วันนี้ก็เลยจะเอามาให้ลองเล่นกันครับ ง่ายๆก็คือดูรูปแล้วตอบว่ามันคืออะไร ผมจะลองเล่นให้ดูเป็นตัวอย่างก่อนซัก 2-3 ภาพครับ แล้วที่เหลืออยากให้ลองเล่นกันก่อน ส่วนเฉลยผมจะแอบแปะไว้ข้างล่างครับ
เริ่มด้วยรูปแรกเลย
รูปนี้ถ้าให้ลองทายกันเองก่อน ก็คงจะยากซักนิดนึง คำตอบของมันก็คือ แมว + (กัน)gun แล้วก็ผวนกลับมาก็จะได้เป็นคำว่า"มันแกว"ครับ
รูปที่สอง
รูปนี้เก็ตยากนิดนึง มันคือคำว่า "ตองอู" -*-
รูปที่สาม
อันนี้ก็ฮาเหมือนกัน อาหาร แล้วก็เป็นคำผวน คำตอบของมันก็คือ หาม + ฉลู แล้วก็ผวนจะได้เป็น หูฉลาม (เอากับมันสิ)
จะเห็นว่าคำตอบนั้นมีทั้งที่มาจากภาษาอังกฤษ มีทั้งเป็นคำผวนและอื่นๆอีกมากมาย ตามแต่คนคิดขึ้นมาจะเล่น ซึ่งบวกได้เลยว่าหลายๆอันกวนมาก ก็ที่เหลือผมจะให้ลองทายกันเองนะครับ แต่ผมจะเขียนคำใบ้ไว้ให้แล้วกัน
1. เป็นชื่อประเทศครับ (คำผวน)
2. ชื่อสถานที่ในกรุงเทพนี่แหละ เดาไม่ยาก
3. เป็นสัตว์ (คำผวน)
4. จังหวัดในประเทศไทย (ผวนอีกแล้ว)
5. ของใช้ที่มีกันทุกคน (คำผวน)
6. ชื่อสถานที่ครับ (รูปมันก็บอกแล้วเนอะ -*-)
7. ใบ้ก็รู้เลย ไม่ใบ้แล้วกันอันนี้
8. นารุโตะ (ใบ้ซะขนาดนี้แล้ว)
9. ปลาชนิดหนึ่งครับ (ยากอ่ะอันนี้)
10. อันนี้เห็นรูปคงเก็ตเลย
11. เป็นสกุลเงินครับ (คำผวน)
12. ผักหรือผลไม้(คำผวน)
เฉลยตามข้อเลยนะครับ (ทำแถบดำเอาจะเห็นคำตอบด้านล่าง)
1. ในรูปชี้หู กับชี้ดิน ก็เลยเป็น เอีย(ear)+ดิน ผวนก็เป็น "อินเดีย"
2. "สี่กั๊ก เสาชิงช้า" ตรงๆเลยแต่ก็เล่นคำนิดหน่อย
3. เป็นรูป หมู+จา(jar) ผวนก็เป็น "หมาจู"
4. คล้ายๆข้อที่แล้วครับ ปีน+จา(jar) ผวนเป็น "ปราจีน"
5. อันนี้ฮาสุดๆ ในรูปเป็นคนลาวครับ สังเกตุจากคำพูด ก็เลยเป็น ลาว+ท้อง ผวนเป็น "รองเท้า"
6. เป็น หัวหมา กับ ก(ได่) รวมกันเลยเป็น "หัวหมาก" (ซะงั้น)
7. ปลา two => "ปลาทู"
8. นิล ที่แปลว่าสีดำ กับจา(jar) รวมเป็น นิลจา => "นินจา"
9. "ปลาโลมา" ครับ โลมา แปลว่าขน
10. "ร หัน" (รร) ง่ายๆงี้แหละ
11. มีวงรี กับปูก็เลยเป็น รี+ปู ผวนเป็น "รูปี"
12. อันนี้ก็ฮา ในรูปเป็นฟองทักทายกัน ฟอง+ทัก ผวนเป็น "ฟักทอง" 555