Hello CUDA World!

20 Sep

Simplest CUDA Kernel

output 42

#include <stdio.h>

__global__ void kernel(int* out) {
  *out = 42;
}

#define BLOCKS_PER_GRID   1
#define THREADS_PER_BLOCK 1

int main(void) {
  int* device;
  cudaMalloc((void **)&device, sizeof(int));

  kernel<<<BLOCKS_PER_GRID, THREADS_PER_BLOCK>>>(device);

  int host;
  cudaMemcpy(&host, device, sizeof(int), cudaMemcpyDeviceToHost);
  printf("%d\n", host);

  getchar();
  return 0;
}

Multiple Threads

output 42 for N times

#include <stdio.h>

__global__ void kernel(int* out) {
  out[threadIdx.x] = 42;
}

#define N                 512
#define BLOCKS_PER_GRID     1
#define THREADS_PER_BLOCK   N

int main(void) {
  int* device;
  cudaMalloc((void **)&device, N * sizeof(int));

  kernel<<<BLOCKS_PER_GRID, THREADS_PER_BLOCK>>>(device);

  int host[N];
  cudaMemcpy(host, device, N * sizeof(int), cudaMemcpyDeviceToHost);
  for (int i = 0; i < N; i++)
    printf("%d ", host[i]);

  getchar();
  return 0;
}

Multiple Blocks

output 42 for N times

#include <stdio.h>

__global__ void kernel(int* out) {
  out[blockIdx.x * blockDim.x + threadIdx.x] = 42;
}

#define N                 1024
#define THREADS_PER_BLOCK  512
#define BLOCKS_PER_GRID   N / THREADS_PER_BLOCK

int main(void) {
  int* device;
  cudaMalloc((void **)&device, N * sizeof(int));

  kernel<<<BLOCKS_PER_GRID, THREADS_PER_BLOCK>>>(device);

  int host[N];
  cudaMemcpy(host, device, N * sizeof(int), cudaMemcpyDeviceToHost);
  for (int i = 0; i < N; i++)
    printf("%d ", host[i]);

  getchar();
  return 0;
}

หากจะนำข้อความไปใช้ ต้องแสดงที่มา และห้ามใช้ในเชิงพาณิชย์

Mac Keyboard Shortcut

17 Sep

cmd+` Switch between windows in the same app
cmd+tab Switch between apps
cmd+N New Window
cmd+, Preferences…

cmd+opt+8 toggle zoom
cmd+shift+3 screenshot to file
cmd+shift+4 part of screen to file
cmd+shift+4 space … to file
prev_combo+ctrl screenshot to clipboard

ร้านบอร์ดเกม

17 Sep

Bob Card Shop

http://fb.com/BobCardShop

แผนที่โดยประมาณ
โทร 08-6334-7348

ลานละเล่น

http://fb.com/lanlalencafe

แผนที่โดยประมาณ
โทร 08-1850-1453, 08-1559-5016

Polar Play Games

http://www.polarplaygames.com/

แผนที่โดยประมาณ
โทร 08-3133-0743

Meeples and More

http://fb.com/meeplesandmore

แผนที่โดยประมาณ
โทร 02-651-4349

Kopi-O

http://fb.com/kopioboardgame

แผนที่โดยประมาณ
โทร 02-258-5580

Ninive

http://fb.com/NiniveGameStore

โทร 08-4763-1980 08-1809-1767

ทำให้ Hey! That’s My Fish เล่นได้ 5 6 8 คน

16 Sep

กติกาเดิมเล่นได้ 2-4 คน โดยจะมีเพนกวินบนกระดาน 8-9 ตัว

ปรับปรุงให้เล่นเกมนี้ได้ 5, 6, 8 คน

เล่น 5 คน อาจทำได้สองแบบ

  • สี่คนแรกได้เพนกวินคนละสอง คนที่ห้าเล่นโดยใช้ meeple อีก 2 ตัว
  • เล่นคนละตัว คนที่ห้าใช้ meeple เมื่อเพนกวิน(หรือ meeple)ตกน้ำหนึ่งครั้ง สามารถว่ายน้ำเป็นเส้นตรงไปหา tile ใดก็ได้หนึ่งในหกทิศทาง แต่ถ้าตกน้ำครั้งที่สองก็ต้องออกจากเกม (เป็นเพนกวินที่ว่ายน้ำได้ครั้งเดียว)

เล่น 6 คน แบ่งเป็นสามทีม ทีมละสองคน แต่ละทีมมีเพนกวิน 3 ตัว ผู้เล่นในทีมเดียวกันผลัดกันเดิน (ต้องให้อีกสองทีมเดินก่อน แล้วอีกคนในทีมจึงจะเดินได้) เลือกเดินเพนกวินตัวไหนก็ได้ ห้ามสอนกัน

เล่น 8 คน แบ่งเป็นสี่ทีม ทีมละสองคน ควบคุมเพนกวินคนละตัว โดยเพนกวินในทีมเดียวกันต้องผลัดกันเดิน (ต้องให้อีกสามทีมเดินก่อน แล้วอีกคนในทีมจึงจะเดินได้) ห้ามสอนกัน

หากจะนำเนื้อหาไปใช้ ต้องแสดงที่มา และห้ามใช้ในเชิงพาณิชย์

Take 6! variants

10 Sep

My friends really enjoy playing Take 6! (designed by Wolfgang Kramer) We often play for 7 games. The winner is the one who collects fewest cattle heads altogether.

Last week, we did something new (for us). We played 6 games. For the first three games, we used the original rule with the highest card number is (number_of_players * 10) + 4. In the second half, we played a variant called ‘Happy to Take 6′. It has the same rules as take 6 but people tried to collect as much cards as possible instead. The winner is the one who collects most (2nd_half – 1st_half) cattle heads.

Today, I proposed another variant of the game, called Draft Take 6! Here are the steps of the game.

1. Shuffle the cards. The highest card number is (number_of_players * 10) + 4.

2. Turn 4 cards face up.

3. Give each players 10 cards.

4. Drafting by repeating the following two steps until you draft 10 cards.
4.1 Each player selects one card.
4.2 Hand the remaining cards to the player on your left.

5. Play the game using original (or Happy to Take 6) rule.

หากจะนำเนื้อหาไปใช้ ต้องแสดงที่มา และห้ามใช้ในเชิงพาณิชย์

6 Nimmt!

Take 5!

6 who loses!

Category 5

เล่น The Settlers of Catan 5 คน โดยไม่ใช้ extension

9 Sep

หาอะไรที่เป็นแท่งๆมาเป็นถนน และใช้เบี้ยหมากรุกไทยเป็นบ้าน (หงายเป็นเมือง) อาจจะให้เริ่มแค่หนึ่งบ้านสองถนน เลือกวางบ้านตามประสบการณ์ (น้อยได้เลือกก่อน) ถ้ายังคิดว่าไม่แฟร์สำหรับคนหลังๆ อาจมีโปรโมชันแถมเฟอร์ฯเอ๊ย resource card ให้ใบสองใบ

ใครได้ 6 victory point ก่อนก็ชนะ (อาจจะเป็น 7 หรือ 8 ก็ได้ ไม่รู้ ไม่ได้ play test)

WP_20140907_17_52_48_Pro

หากจะนำเนื้อหาไปใช้ ต้องแสดงที่มา และห้ามใช้ในเชิงพาณิชย์

Hanabi

8 Sep

hana 花 ดอกไม้

bi 火 ไฟ

hanabi พลุ

เกมนี้ช่วยกันเล่น เป็น cooperative game แบบเดียวกับ forbidden island

เกมนี้มีไพ่พลุ 5 สี RGBWY และ wild card เล่นแบบธรรมดาใช้แค่ 5 สีแรก

แต่ละชนิดมีเลข 1 ถึง 5 รวมกัน 10 ใบ ดังนี้

1×3
2×2
3×2
4×2
5×1

ทีมงานร้านพลุพิงพระเพลิงเข้าร่วมประกวดพลุในงานเทศกาลพลุของสมาคมคณิตศาสตร์ กรรมการให้คะแนนโดยนับรวมจำนวนไพ่ที่เรียงเลขกันของแต่ละสี เช่น ถ้าตอนจบเกม ได้ R123 G12345 B12 W1234 Y123 ก็จะได้ 3+5+2+4+3=17 คะแนน

16-20 excellent ฝูงชนชอบ
21-24 amazing คนกล่าวขวัญเป็นสัปดาห์
25 ระดับตำนาน

กติกา

แจกไพ่ ผู้เล่นแต่ละคนถือไพ่หันออก จะไม่เห็นไพ่ของตัวเอง แต่เห็นไพ่คนอื่นๆ กรณีผู้เล่น 2-3 คน คนละ 5 ใบ, 4-5 คน คนละ 4 ใบ

แต่ละ turn เลือกทำเพียงหนึ่งอย่างในนี้ [ใบ้, ทิ้ง, เล่น] โดยห้ามให้ความเห็นใน turn ของคนอื่น

ใบ้ บอกใบ้ให้อีกคน โดยชี้ไปที่ไพ่ในมือเขา ใบ้ได้เพียงสีเดียวหรือเลขเดียวต่อหนึ่งตา การใบ้ต้องชี้ทุกใบที่มีคุณสมบัติตามคำใบ้ เช่น ใบนี้และใบนี้และใบนี้สีแดง หรือ ใบนี้เป็นเลขหนึ่ง หรือ คุณไม่มีสีแดง หรือ คุณไม่มีเลขหนึ่ง เป็นต้น (สองกรณีหลังไม่ค่อยแน่ใจเพราะกฎที่แปลจากภาษาเยอรมันบอกว่าได้ แต่กฎภาษาอังกฤษว่าไม่ได้) ก่อนใบ้ต้องจ่ายค่าใบ้โดยหยิบออกจากกองกลาง (เริ่มต้นมีค่าใบ้ 8 อัน)

ทิ้ง ได้ค่าใบ้คืนกองกลาง, จั่วหนึ่ง

เล่น

  • เลขหนึ่งจะเป็นใบเริ่มกองของสีนั้น เลขอื่นๆจะวางเรียงต่อในกองที่มีสีเดียวกัน เลขต้องเรียงด้วย
  • ถ้าเล่นผิด (เช่น ลงหนึ่ง 1แดงไป ทั้งที่มี 1แดงวางอยู่ ถือว่าผิด หรือ เลขไม่เรียงต่อกับแถวที่มีอยู่แล้ว) ฟ้าจะผ่า ผ่าสามครั้งจบเกม!!!
  • ถ้าลง 5 ได้สำเร็จ จะได้ค่าใบ้คืน
  • การลงไพ่ ควรทำโดยคว่ำไพ่ เลื่อนไปจ่อที่ตำแหน่งที่จะวาง แล้วจึงค่อยหงายเปิด
  • จั่วหนึ่งทุกกรณี

ขอให้ทีมงานพลุพิงพระเพลิงโชคดี

หากจะนำเนื้อหาไปใช้ ต้องแสดงที่มา และห้ามใช้ในเชิงพาณิชย์